联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2024-01-11 10:23

Final Programming Assignment: Guess Who?

Guess Who? is a two player game where players use differential yes or no questions to isolate a hidden character. The first player to guess the other player's hidden character wins.

Each player takes their game board of 24 faces and places one of 24 mystery cards in the empty frame in each game board. This card represents the character your opponent has to guess and the character you have to answer questions about.

The youngest player goes first, beginning by asking the other player a characteristic found on one of their 24 visible characters (both players have the same 24 tiles). Example: “Does your character have brown hair?”

If they say, “yes,” the asking player flips over all of the characters without brown hair. If they say, “no,” the asking player flips over the characters that have brown hair. Through the process of elimination, players will eventually be able to “guess” the name of the opponent's character.

Each player gets one yes or no question per turn and may only guess (to win the game) once per game. If a player successfully guesses their opponent's hidden character then they win; if their guess is wrong then they lose.

In groups of 3, your task is to create a GUI based application that allows player vs. computer game play options using concepts taught in ICS4U. The user will not reveal the character they had chosen for the AI of your program to guess until the end of the program. Your program should not ask the user to enter the character’s name or click to select it. The user will choose one from the 24 at their own will. You will also demonstrate your knowledge and understanding of the project management process to complete the required tasks at each stage of the PM process including a detailed class design (UML Diagram).  Once you have determined your group, a document would be shared with you to enter the names of the group members and their key role in the group as well.

The Project Management Process

You must follow the project management process throughout the implementation of this assignment.

1.Initiation Phase:  During this phase you must create a Project Charter Document.  In your Project Charter you must include a description of the project, scope of the project, requirements, cost benefit analysis, budget, a high level: timeline, task list; and a list of deliverables.  Due: Dec. 14


2.Planning Phase:  During the planning phase of the project you must include a:

a.Detailed plan and work breakdown structure and schedule in the form of a GANTT Chart.  Your plan should include details on: scope, finalized list of deliverables, risk management & include steps that will be followed for Change Management.Due: Dec. 20

b.UML Class Diagram – include a detailed UML class design documentDue: Dec. 20

c.Algorithm or pseudocode for the  ProgramDue: Dec. 20

3.Execution Phase: Development of an application and execution of the plan to produce deliverables. Timeline: From start to closure - On-going

Progress Checks: Dec. 14, 21 (beta version), Jan 10

4.Monitoring and Controlling Phase:  Provide evidence of regular status meetings/checkpoints to ensure that the tasks are on track and any changes made are tracked through a Change Management process.  Change management involves documenting change, options for resolution, actual resolution.

Timeline: From start to closure - On-going

5.Closing:  Each student is to meet and discuss their experiences on the project with their group and create a one page reflection paper on their lessons learnt.  This is an individual component, so there should be one submission per student.Due: Jan 16, 2023

The Due date for your final program is:  January 12 by end of class

Rubric for Project Management: Initiation & Planning Process

CriteriaLevel 4 Level 3Level 2Level 1

Initiation: Project description, scope, requirements, cost, budget, timeline, task list, deliverables

/ 10 C/T(2/2) ◻All sections completed in great detail

◻Excellent document layout, very clear and easy to understand

All sections  completed in good detail

◻Very good document layout, clear and easy to understand

Some sections completed in good detail

◻Good document layout, clear and easy to understand

Only a few sections were completed

◻Document lacked organization and was difficult to understand


Planning

/ 10 C/T(1/2)


UML Class Diagram

/10 C/T(1/1)


Algorithm

/10 C/T(2/2) Gantt charts created with a high level of detail and accurate estimated dates

◻Tasks are evenly distributed

Gantt charts  created with a sufficient level of detail and accurate dates

◻Tasks are somewhat evenly distributed

Gantt charts are created with a high level tasks breakdown and estimates

◻Tasks are distributed

Gantt charts are created with estimates, however, lacking in detail and accuracy

◻Tasks are distributed, but not evenly

All Classes/Objects defined have clear purpose and well defined attributes, behaviours, and relationships using correct symbols,  shapes & cardinality

◻Communicate all s class relationships neatly and accurately. All symbols and relationships are represented correctly

◻All classes/attributes/behaviours are present.  All signatures are complete.

Most Classes/Objects have clear purpose & well defined attributes, behaviours & relationships using correct symbols,  shapes & cardinality

◻Communicates class relationships neatly and correctly. Most symbols & relationships are represented correctly

◻Most classes, attributes, behaviours & signatures are complete & present

Some  Classes/Objects have clear purpose & well defined attributes, behaviours & relationships using correct symbols,  shapes & cardinality.

◻Communicates class relationships neatly and reasonably. Some symbols & relationships are represented correctly

◻Some classes, attributes, behaviours & signatures are complete & present.

Few  Classes/Objects have clear purpose & well defined attributes, behaviours & relationships using correct symbols,  shapes & cardinality.

◻Communicates class relationships neatly and reasonably. Some symbols & relationships are represented correctly

◻Some classes, attributes, behaviours & signatures are complete & present.

provides all steps in great detail

◻Demonstrates insightfulK/U  of task

◻Algorithm uses very efficient methods

provides all steps in good detail

◻Demonstrates good K/U  of task

◻Algorithm uses efficient methods

provides most steps with some detail

◻Demonstrates adequate K/U  of task

◻Algorithm uses fairly efficient methods

Incomplete, few  steps that lacked detail

Demonstrates minimal K/U  of task

Algorithm uses inefficient methods

Rubric for Project Management: Execution, Monitoring & Controlling & Closing Phase

Executing

/10 A (1)◻Students are using class time wisely and are on task ensuring project timelines are being met

Students are usually using class time wisely and are mostly on task ensuring project timelines are being met

Students are somewhat using class time wisely and are somewhat on task ensuring project timelines are being met

 Students are occasionally using class time wisely and are occasionally on task ensuring project timelines are being

Monitoring and Controlling

   /10 A (1)◻Detailed evidence provided for monitoring project variables and schedule against the project plan

◻Corrective actions clearly documented and taken to address issues10           9            8◻Evidence provided for monitoring project variables and schedule against the project plan

◻Corrective actions documented and taken to address issues

Some evidence provided for monitoring project variables and schedule against the project plan

Some corrective actions documented and taken to address issues

Little evidence provided for monitoring project variables and schedule against the project plan

 No corrective actions documented and taken to address issues


Closing - Group Dynamics, Interactions, and Communication

(C/T = 1/1)◻Reflection was transparent and revealing adequate details about challenges and strengths of the dynamics of the group

Reflection was somewhat transparent and revealing adequate details about challenges and strengths of the dynamics of the group

Reflection was vague and provided limited detail about challenges and strengths of the dynamics of the group


Reflection was unclear and did not provide details about dynamics of the group


Rubric for Guess Who? Application

Level 4Level 3Level 2Level 1

Coding Standards

C  /5 (1)

Includes name, date, and assignment title.

Excellent use of white space.

Creatively organized work.

Excellent use of; variables, objects/classes, &  methods

Fully indented and braces matching

Includes name, date, and assignment title.

Good use of white space.

Organized work

Good use of; variables, objects/classes, &  methods

Mostly Indented and braces matching

Includes name, date, and assignment title.

White space for readability

Organized work.

Good use of variables, methods, and classes

Some indented and braces matching

No name, date, or assignment title included

Poor use of white space (indentation, blank lines).

Disorganized and messy

Poor use of variables, methods, and classes (ambiguous naming).

Minimal indentation

Documentation

And Commenting

C    /5 (1)Clearly and effectively documented including descriptions of all variables.

Specific purpose is noted for each function, control structure, input requirements, and output results

Clearly documented including descriptions of all variables.

Specific purpose is noted for each function and control structure.


Basic documentation has been completed including descriptions of all variables.

Purpose is noted for each function.


No documentation included


Runtime

A  /5 (1)Executes without errors excellent user prompts, good use of symbols, spacing in output.

Thorough and organized documented testing has been completed and output from test cases is included.

Executes without errors.

User prompts are understandable, minimum use of symbols or spacing in output.

Thorough documented  testing has been completed

Executes without errors.

User prompts contain little information, poor design.

Some testing has been completed.


Does not execute due to errors.

User prompts are misleading or non-existent.

No testing has been completed.


Guess Who? GUI Interface

A/T       / 10

Wt: 2Extensively applies GUI interface and 2D arrays to create a very user friendly and functional program

Sufficiently applies GUI interface and 2D arrays to create a user friendly and functional program

Applies GUI interface and 2D arrays to provide a somewhat user friendly and functional program

GUI and functionality is limited


Program Functionality

P V C & Extras

A/T       / 10 Wt: 4◻Level 3 plus…

Includes additional complex functions (e.g., save a result, max number of guesses, timer, etc)

L2 plus: both players take turns

Game works as expected with options to guess, i.e. eliminates characters

Able play game until a winner is determined

Sometimes allows both players to take turns

Game works & options are still limited, i.e. eliminates characters

Inconsistently able to play game until a winner is determined

Does not allow players to take turns

Game sometimes works correctly and options are limited, i.e. eliminates characters

Program contains bugs and game cannot be completed

Artificial Intelligence

Wt: 2◻AI uses a complex strategy for choosing an option for eliminating a character

AI uses an effective strategy to choose a character to guess

AI randomly chooses from the available options/questions for eliminating a character

AI uses a  strategy to choose a character to guess

AI randomly chooses an option/question for eliminating a character

AI randomly  chooses a character to guess

AI is incomplete to not implemented to guess

AI is incomplete to not implemented


OOP Design and Application

T      /10 (3)◻Excellent application of  OOP concepts to design two or more objects

Attributes, methods & OOP design makes for efficient  program implementation

Very good application of  OOP concepts to design two or more objects

Attributes, methods & OOP design makes for very good  program implementation

Good application of  OOP concepts to design two or more objects

Attributes, methods & OOP design makes for good  program implementation

Some application of  OOP concepts to design one or more objects

Attributes, methods & OOP design makes for program implementation


Wt: 1Group added more than three extra features not listed in the above two rows and they work effectively

The extra features, enhances the functionality and game playing experience

Students will be required to provide a list of extra features they added to the program:


Circle the features listed on the next column that you have incorporated into your program.

Also please list other features you added that were not a requirement:

Group added at least one extra  feature  not listed in the above two rows, to make the game playable and more user friendly. We recognize that some additional features are easier to incorporate than some others. Marks would be assigned, taking that into consideration.  

Good interface is a requirement for the program (get name, provide instructions, report results, help if needed, …)

1 player versus AI (required)

Following are some examples of extra features:

2 player mode (player versus another player)

Timer

Error checking if user response and AI results do not match

Configuring settings (screen, scores, sound, other features, …)

Other: ____________

(check the features you added to your program)


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp