首页 > > 详细

代写48024编程、辅导Java/Python程序

UTS CRICOS PROVIDER CODE 00099F
48024
Programming 2
Assignment 2
Topics:
OO design, GUIs, MVC, tables, lists
Learning Outcomes:
This assignment supports objectives 3 - 5
Due date:
16 May 2022 - 11:59PM (Tuesday Week 12)
Weight:
25%
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.
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.
You MUST NOT let another student see your solution code, and you MUST NOT look at another student’s
solution code. 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:
http://www.gsu.uts.edu.au/rules/student/section-16.html
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.
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.
24.04.2023
UTS CRICOS PROVIDER CODE 00099F
Skeleton Code
As a starting point for this assignment, you must use the skeleton code provided in Assignment 2 Canvas
page. There are one option for Python and two options for Java, a NetBeans version, which includes the
structure required to import directly into NetBeans, and a plain version for other 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.
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.
Specification
The specification is presented in several parts. In this document is given a series of screen shots and textual
descriptions for visual reference.
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.
Menus
There are two menu layers in the application. The main menu (AssociationView.fxml) has two sub-menus,
the team menu (ExploreTeamsView.fxml) and the season menu (SeasonView.fxml). The main menu and the
team menu share the same layout but have different functions.
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 an “NBA” icon and the tile “NBAfx View”.
24.04.2023
UTS CRICOS PROVIDER CODE 00099F
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”.
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 record 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”.
24.04.2023
UTS CRICOS PROVIDER CODE 00099F
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.
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”. Details of the Error message
window will be explained in the later session.
When click on one team record in the table, the selected record is highlighted and the “Manage” and
“Delete” 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.
24.04.2023
UTS CRICOS PROVIDER CODE 00099F
The Close button closes the teams table window. The teams table window includes an “NBA” icon. The
title of the window is “Teams Menu”.
Manage a Team
The team manage 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 buttons to add, update or delete a player. Only "Add" and "Save and
Close" buttons are enabled initially.
24.04.2023
UTS CRICOS PROVIDER CODE 00099F
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 an
“edit” icon. The title of the window is “Managing Team:” plus the team’s name.
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 “Player
Details” for an existing player.
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 validator.java and associated
with the error window. Meanwhile, team manage window immediately updates the player’s information.
The player update window includes an “edit” icon. The title of the window is “Updating Player: ” plus the
name of the player.
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 “Player Details” for a new added player. 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.
24.04.2023
UTS CRICOS PROVIDER CODE 00099F
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.
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!
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 ascended 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 three filters, which display the players with matched
name, or level or age. The filters work collaboratively with non-case sensitive partial matching function.
For example:
24.04.2023
UTS CRICOS PROVIDER CODE 00099F
When the Name filter is set with “se”, the players window displays the player list based on the matched
records in the level filter result of “Co”.
24.04.2023
UTS CRICOS PROVIDER CODE 00099F
The players window prints "Players list is not loaded" when there is no matches result.
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.
24.04.2023
UTS CRICOS PROVIDER CODE 00099F
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.
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.
24.04.2023
UTS CRICOS PROVIDER CODE 00099F
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.
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!!”
24.04.2023
UTS CRICOS PROVIDER CODE 00099F
When the season has been arranged with the first round, the game window displays the message “All
games finished! You can check results now!”
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.
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.
24.04.2023
UTS CRICOS PROVIDER CODE 00099F
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.
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.
Code
Your solution must satisfy the following code requirements:
• Your solution must follow the MVC architecture and utilize multiple window display.
• Your solution must keep the package structure and class names that were provided in the
skeleton code.
• For JavaFX, the 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 that never changes need not be observable.
• For JavaFX, the views must be laid out in FXML.
Submission to ED
You will need to submit the source code to ED. The marker will check the source code to make sure all the
requirements have been met. Missing the source code will result 10 marks deduction of the assignment 2.
Submission to Canvas
24.04.2023
UTS CRICOS PROVIDER CODE 00099F
For JavaFX solution, your assignment should be submitted as a JAR file that includes:
• All FXML, CSS and image files required to run your assignment.
• The binary files(.class) of the runnable jar file.
You can check the JAR file on a lab PC to make sure it works. Kindly note that jdk1.8 is the baseline for
the assignment. If your work is based on other jdk version, it’s your own responsibility to generate a
compatible jar that can run on jdk1.8.
For Tkinter solution, your assignment should be submitted as a zip file that includes all the source codes.
The due date won't be extended as assignment 2 requires a 3-minute demonstration in the last lab class.
Submission extension before the last lab class will be granted automatically with a late penalty. An
extension CANNOT be given after the due date. For any extension beyond the last lab class, you will need
to submit a Special Consideration following the Special Consideration process for special consideration for
reasons including unexpected health, family, work problems, or other extenuating circumstances.
Marking
You will be marked by the Canvas submission for the features that can be demonstrated to work on a lab
PC. Your tutor will ask questions based on your demonstration in the last lab class. Aside from marks for
the functionality, the marker will also check your code to ensure that all code requirements have been met.
Your final mark will be a combination of marks for functionality, marks for code (See Rubric table on Canvas)
and moderation marks for answering questions.
Marking the code and analyzing spoofing, cheating and plagiarism is done in the two weeks following the
due date. If you are suspected of Academic Misconduct, I will forward your case to the Misconduct
Committee, and you will receive a “high similarity” note on ED submission. Your mark will be finalized
within 2 weeks of the due date.
Online support
A FAQs (Frequently Asked Questions) page will be posted in the Assignment page on Canvas. If you have
a question, check the FAQ page first, it may already be answered there. You should read the FAQ at least
once before you hand in your solution, but to be safe check it every couple of days. Anything posted on
the FAQ is considered to be part of the assignment specification.
If anything about the specification is unclear or inconsistent, check the FAQ first, then contact the subject
coordinator who will try to make it clearer by replying to you directly and posting the common questions
and answers to the FAQ. This is similar to working on the job, where you ask your client if you are unsure
what has to be done, but then you write all the code to do the task.
The preferred way to ask assignment related questions is to participate in the lectures, lab activities,
UPASS, and consultation sessions. Students are expected to seek help through the following steps:
Step 1: Check the FAQ
Step 2: Ask peers or via the group discussion board
Step 3: Ask your tutor in the lab class
Step 4: Forward to the subject coordinator
The Subject Coordinator may be contacted by email if you have matters of a personal nature to discuss,
e.g., illness, personal issues or other matters of importance. All emails sent to subject coordinators, tutors
or lecturers must have a clear subject line that states the subject number followed by the subject of the
email [e.g. Subject 48024, Appointment Request], and must be sent from your UTS email address.
Requests for appointments outside the given consultation hours may be arranged where circumstances
require, and to do so please contact the subject coordinator by email.

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!