1. Homepage
  2. Programming
  3. 48024 Programming 2 Assignment 2: NBA

48024 Programming 2 Assignment 2: NBA

Engage in a Conversation
AustraliaUTS48024 Programming 2OO design GUIs MVC tables listsJavaPython

48024 Programming 2 Assignment 2

Topics:

OO design, GUIs, MVC, tables, lists CourseNana.COM

Learning Outcomes:

This assignment supports objectives 3 - 5 CourseNana.COM

Due date: 16 May 2022 - 11:59PM ( Tuesday Week 1 2) CourseNana.COM

Weight: 25% CourseNana.COM

Individual Work

All work is individual. You must write every line of code yourself except for code copied from study module sample code, lecture sample code, tutor demos or lab code. CourseNana.COM

In most cases, you may discuss ideas, approaches and problems. However, if an assignment task is labeled as “Advanced”, you must not discuss ideas, approaches and problems. Advanced tasks are designed to test your ability to think on your own. CourseNana.COM

You MUST NOT let another student see your solution code, and you MUST NOT look at another student’s solution co de. Sharing your code on public forums such as the discussion board, or Internet forums such as stackoverflow.com is not permitted. More information about Academic Misconduct can be found at: CourseNana.COM

http://www.gsu.uts.edu.au/rules/student/section -16.htm l CourseNana.COM

Working Language

You can choose either Java or Python to complete assignment 2. The higher mark between your Java solution and Python solution will be counted into your final grade. However, you are only credited with one of your solutions, either Java or Python, not both of them or the mixture. CourseNana.COM

The specification is illustrated based on Java. You can simply translate the Java syntax to Python for your Python solution. Detailed explanations about Python criteria will be posted on the FAQ page. CourseNana.COM

Skeleton Code

As a starting point for this assignment, you must u se the skeleton code provided in Assignment 2 Canvas page . There are one option for Python and two options for Java , a Net Beans version, which includes the structure required to import directly into Net Beans, and a plain version for o ther IDEs (which tend to be less rigid about their import requirements). You are NOT allowed to modify the model , add or remove any of the starting classes or FXML files. CourseNana.COM

Expected workload

The time to do the assignment to a credit level (i.e. a mark between 65% to 75%) has been estimated at 25 hours for a student of average ability who has completed all the tutorial and lab exercises. CourseNana.COM

Specification

The specification is presented in several parts. In this document is given a series of screen shots and textual descriptions for visual reference. CourseNana.COM

A demonstration video is also presented on Canvas. This demonstration video is considered part of the specification and contains important details about the dynamic function of the assignment. CourseNana.COM

Menus

There are two menu layer s in the application . The main menu (AssociationView .fxml) has two sub-menu s, the team menu (Explore TeamsView.fxml ) and the season menu (SeasonView.fxml ). The main menu and the team menu share the same layout but ha ve different functions. CourseNana.COM

The main menu is opened when the application launches. It has “Explore the teams ” button to access the team menu and “Arrange a new season” button to access the season menu . It also has an exit button which shuts the entire application down. The main menu has a header section with a logo “PLAYOFFS ”. The title of the window includes a n “NBA” icon and the tile “NBAfx View ”. CourseNana.COM

The team menu is launched from the main menu by opening a separate window. It has “ Teams Menu ” button to access the teams table window (TeamsTable .fxml) and “ ViewPlayers ” button to access the players window (PlayersView .fxml). It has an “Close” button to close the current stage . The team menu also has a header section with a logo “PLAYOFFS” . The title of the window includes an “NBA” icon and the tile “Explore Teams ”. CourseNana.COM

The season menu is launched from the main menu by opening a separate window. It has “Round ” button to access the season round window (SeasonRoundView .fxml) and “ Current ” button to access the current round teams window (CurrentRoundTeam .fxml). It has “Game ” button to run the tournament and “ Result ” button to display the re cord window (RecordView .fxml). It has an “Close” button to close the current stage . The season menu also has a header section with a logo “PLAYOFFS” . The title of the window includes an “NBA” icon and the tile “Arrange a new season ”. CourseNana.COM

Teams Table Window

The team table window (TeamsTable .fxml) is launched from the team menu by opening a separate window. The team table window displays the teams ’ information by a table with 4 columns “ Team Name”, “Number of Players ”, “Average Player Credit” and “ Average Age ”. The team table window has four buttons to add, manage or delete a team . Only "Add" and "Close" buttons are enabled initially. CourseNana.COM

When click on “Add” button, a new window with title “Adding New Team” (AddTeam.fxml ) is launched . A new team will be added to the team table window after input a new team’s name. The new team’s average credit and average age are 00.00 as the number of players is 0. If input an existing team ’s name , an error window will pop up with the message” (Name ) Team already exists ”. Detail s of the Error message window will be explained in the later session. CourseNana.COM

When click on one team record in the table, the selected record is highlighted and the “ Manage ” and “Delet e” buttons are enabled . Meanwhile, “Add” button is disabled . Click the “Delete” button will remove the selected team from the table . The “ Manage ” and “Delete ” buttons will become disabled after the removal. CourseNana.COM

The Close button closes the teams table window. The team s table window includes a n “NBA” icon. The title of the window is “ Teams Menu ”. CourseNana.COM

Manage a Team

The team manag e window (ManageTeamView .fxml) is launched from the “Manage” button in the team table window by opening a separate window. The team manage window displays the teams ’ players information by a table with 4 columns “ Player Name”, “ Player credit ”, “Player Age” and “ Player No ”. The team manage window has four bu ttons to add, update or delete a player . Only "Add" and " Save and Close" buttons are enabled initially. CourseNana.COM

The team’s name is displayed in a text field on the top of the window , where the team’s name can be updated while clicking “Save and Close” button. When click on one player record in the table, the selected record is highlighted and the “ Update ” and “Delete ” buttons are enabled . Meanwhile, “Add” button is disabled . Click the “Delete” button will remove the selected player from the table. The “ Update ” and “Delete ” buttons will become disabled after the removal. The “Add” button will become enabled after the removal. The Save and Close button closes the team manage window. The team manage window includes a n “edit” icon. The title of the window is “ Managing Team :” plus the team’s name . CourseNana.COM

Player Update Window

The player update window (PlayerUpdateView .fxml) is launched from the team manage window by clicking “ Update ” for a player ’s record . The player update window displays the information of “Pl ayer Details” for a n existing player . CourseNana.COM

The player update window has buttons to update the player ’s information and has close button to close the player update window. Only " Update " and "Close" buttons are enabled. Update button opens the error window when the input is not valid. The button closed the window when the input is valid or there is not input . The input validation is described in valida tor.java and associated with the error window. Meanwhile, team manage window immediately updates the playe r’s information . The player update window includes an “edit” icon. The title of the window is “ Updating Player : ” plus the name of the player . CourseNana.COM

Add a Player

The player update window (PlayerUpdateView .fxml) is also launched from the team manage window by clicking “ Add”. When adding a new player, the window displays the empty name and default values , waiting for the input of “P layer Details” for a new added playe r. The title of the window is “Adding New Player ”. The player update window has buttons to add and update player ’s information and has close button to close the player update window. Only "Add" and "Close" buttons are enabled. CourseNana.COM

Add button opens the error window when the input is not valid. Add button closed the window when the input is valid. The input validation is described in validator.java and associated with the error window. Meanwhile, team manage window immediately updates the player’s information. CourseNana.COM

Error Window

The error window is popped up when the input is not valid. The error window displays the input error messages based on the input validation described in validator.java . • Name Pattern : First name and Last name are two strings with capital letters. • Number Pattern: any positive integer • Decimal Pattern: any decimal number ( - or +) The error window has “Okay” button to close the window. The title of the window includes an “ error ” icon and the name is subject to the launched window . • Adding New Team / Team Manage window : Error! • Player Update Window : Input Errors! CourseNana.COM

Players Window

The players window (PlayersView.fxml ) is launched from the team menu by clicking “ View Players ”. The players window displays all players information in a table view . There are six columns, “ Team ”, “Player Name”, “Player credit”, “Player Age”, “ Player No ”, “Player Level”. The table can be sorted by each of the column and the selected players will be highlighted in blue. The default setting is to sort ascende d by “Team”. The players window has “Close” button to close the window. The title of the window includes an “ NBA” icon, and the name is “Players ”. On the bottom of the players window, there are t hree filters, which display the player s with matched name , or level or age. The filters work collaboratively with non -case sensitive partial matching function. For example: CourseNana.COM

When the Name filter is set with “se”, t he players window displays the player list based on the matched records in the level filter result of “Co” . CourseNana.COM

The players window prints " Players list is not loaded" when there is no matches result. CourseNana.COM

Season Round Window

The season round window (SeasonRoundView.fxml ) is launched from the season menu by clicking “Round ”. The title of the window includes an “ NBA” icon and the name is “Season Rounds ”. The season round window contains one team list , one game table and two buttons. The initial view is titled with “Round: 1 ” and has four teams in the left list (Suns, Bulls, Hawks, Nets). The buttons “>>>” and “Arrange Season” are disabled. CourseNana.COM

The “>>>” button will be enabled only when two teams are selected in the list. By clicking “>>>”, the two teams will be added to the game table. CourseNana.COM

The “Arrange Season” button will be enabled only when all the teams in the list are added to the game table . The empty team list will display “All teams added to round” and the “>>>” button is disabled. Clicking ”Arrange Season” confirms the season round teams and closes the season round window. CourseNana.COM

Current Round Teams Window

The current round teams window (CurrentRoundTeams.fxml ) is launched from the season menu by clicking “ Current ”. The title of the window includes an “ NBA” icon and the name is “Tournament ”. The current round teams window contains one teams table and one “Close” button. The table view is titled with “Round: 1” and displays the teams’ pairs with “VS” in the separation column . The Round number and the teams’ pairs will be updated after each round . The “Close” button closes the current window. CourseNana.COM

Game Window

The game window is launched from the season menu by clicking “ Game ”. The game window shares the view of error window ( error .fxml ). The title of the window includes an “ NBA” icon and the name is “All Games Played! ”. The “Okay” button closes the game window. When no teams are added to the round , the game window displays the message “No Games to play! Please add games to this round.” When the season completes with all the rounds, the game window displays the message “All games finished! You can check results now! This season ends! Suns is the Champion!! ” CourseNana.COM

When the season has been arranged with the first round , the game window displays the message “ All games finished! You can check results now! ” CourseNana.COM

The round number in season round window and current round teams window will increase by 1. Meanwhile, the winning teams in the first round will be added to the team list in season round window. CourseNana.COM

Record Window

The record window (RecordView.fxml ) is launched from the season menu by clicking “ Result ”. The title of the window includes an “ NBA” icon and the name is “Season Record ”. The record window contains one result table and one “Close” button. The table view is titled with “ Season Record ” and displays the game result in each round for each pair . There are four columns in the table “Round”, “Game”, “Winning Team” and “Losing Team”. The result table will be updated each time when “Game” button is clicked. The “Close” button closes the record window. CourseNana.COM

Requirements

Layout

To get full marks, you should layout your windows to look as close as possible to the screenshots. This means that you should try to duplicate the spacing between and around nodes that is shown in the screenshots, and the width and height of the nodes, and the alignment of the nodes. CourseNana.COM

Style

A CSS file is included in the skeleton code which provides all the styles used in the assignment. You don’t need to modify the CSS file. CourseNana.COM

Code

Your solution must satisfy the following code requirements: CourseNana.COM

• Your solution must follow the MVC architecture and utilize multiple window display. CourseNana.COM

• Your solution must keep the package structure and class names that were provided in the skeleton code. CourseNana.COM

• For JavaFX, t he models must notify the views of changes by correctly applying the JavaFX property patterns and observable lists. Model data that can change must be observable. Model data t hat never changes need not be observable. CourseNana.COM

• For JavaFX, t he views must be laid out in FXML. CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
Australia代写,UTS代写,48024 Programming 2代写,OO design代写, GUIs代写, MVC代写, tables代写, lists代写,Java代写,Python代写,Australia代编,UTS代编,48024 Programming 2代编,OO design代编, GUIs代编, MVC代编, tables代编, lists代编,Java代编,Python代编,Australia代考,UTS代考,48024 Programming 2代考,OO design代考, GUIs代考, MVC代考, tables代考, lists代考,Java代考,Python代考,Australiahelp,UTShelp,48024 Programming 2help,OO designhelp, GUIshelp, MVChelp, tableshelp, listshelp,Javahelp,Pythonhelp,Australia作业代写,UTS作业代写,48024 Programming 2作业代写,OO design作业代写, GUIs作业代写, MVC作业代写, tables作业代写, lists作业代写,Java作业代写,Python作业代写,Australia编程代写,UTS编程代写,48024 Programming 2编程代写,OO design编程代写, GUIs编程代写, MVC编程代写, tables编程代写, lists编程代写,Java编程代写,Python编程代写,Australiaprogramming help,UTSprogramming help,48024 Programming 2programming help,OO designprogramming help, GUIsprogramming help, MVCprogramming help, tablesprogramming help, listsprogramming help,Javaprogramming help,Pythonprogramming help,Australiaassignment help,UTSassignment help,48024 Programming 2assignment help,OO designassignment help, GUIsassignment help, MVCassignment help, tablesassignment help, listsassignment help,Javaassignment help,Pythonassignment help,Australiasolution,UTSsolution,48024 Programming 2solution,OO designsolution, GUIssolution, MVCsolution, tablessolution, listssolution,Javasolution,Pythonsolution,