CS 211 Project 2 Assignment

Similar documents
CSSE220 BomberMan programming assignment Team Project

CMSC 201 Fall 2018 Project 3 Sudoku

CSCE 2004 S19 Assignment 5. Halfway checkin: April 6, 2019, 11:59pm. Final version: Apr. 12, 2019, 11:59pm

Name Date: (2 points) 2.5pts

CS 210 Fundamentals of Programming I Spring 2015 Programming Assignment 8

Programming Project 2

CS 210 Fundamentals of Programming I Fall 2015 Programming Project 8

Astronomy is Awesome! (85 points) Final Boardgame Project

Assignment II: Set. Objective. Materials

CS 251 Intermediate Programming Space Invaders Project: Part 3 Complete Game

Rubric for On-Demand Narrative Writing Second Grade Points Score

Math Released Item Grade 8. Time Printing Booklets VF655990

Tac Due: Sep. 26, 2012

Rubric for On-Demand Narrative Writing First Grade Points Score

G54GAM Lab Session 1

Programming Assignment 4

Intro to Digital Logic, Lab 8 Final Project. Lab Objectives

G54GAM Coursework 2 & 3

Kodu Game Programming

Final Project: NOTE: The final project will be due on the last day of class, Friday, Dec 9 at midnight.

Math Released Item Grade 6 PBA Item #13 Distances and Locations 1167-M20992

Assignment V: Animation

CS Programming Project 1

Lab 10. Images with Thin Lenses

Journey through Game Design

SEEM3460/ESTR3504 (2017) Project

CSE231 Spring Updated 04/09/2019 Project 10: Basra - A Fishing Card Game

PERFORMANCE TASK. SYMMETRY, TRANSLATIONS & CONGRUENCE Scaff 2014

CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class

CPSC 217 Assignment 3

Table of content. 1. How do I access RBSelectOnline? 2. I m new, how do I login? 3. I ve used RBSelectOnline before how do I re-set my password?

Ghostbusters. Level. Introduction:

Fall 2017 March 13, Written Homework 4

PISCATAWAY TOWNSHIP SCHOOLS Piscataway High School 100 Behmer Road, Piscataway, NJ 08854

Module 1 Introducing Kodu Basics

CMPT 310 Assignment 1

JS Lab 5 Due Thurs, Nov 30 (After Thanksgiving)

Lab 7: 3D Tic-Tac-Toe

Assignment 3: Fortress Defense

Assignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, :59pm

Spellodrome Student Console

Assignment III: Graphical Set

Pass-Words Help Doc. Note: PowerPoint macros must be enabled before playing for more see help information below

Midterm 2 6:00-8:00pm, 16 April

Mobile and web games Development

Intro to Interactive Entertainment Spring 2017 Syllabus CS 1010 Instructor: Tim Fowers

How to create a survey with SurveyMonkey

Girls Programming Network. Scissors Paper Rock!

Performance Task. Asteroid Aim. Chapter 8. Instructional Overview

Meteor Game for Multimedia Fusion 1.5

2359 (i.e. 11:59:00 pm) on 4/16/18 via Blackboard

PowerPoint 6-Pack Training Games Volume 2 Help

CS 787: Advanced Algorithms Homework 1

Project 1: A Game of Greed

CSC242 Intro to AI Spring 2012 Project 2: Knowledge and Reasoning Handed out: Thu Mar 1 Due: Wed Mar 21 11:59pm

THE PYTHAGOREAN SPIRAL PROJECT

Board Game Project World Studies, Absolutism through Democratic Revolutions. Name: Date: Period:

CS1301 Individual Homework 5 Olympics Due Monday March 7 th, 2016 before 11:55pm Out of 100 Points

XF Game Description Instructions & Help File

Created by: Susan Miller, University of Colorado, School of Education

Phase 10 Masters Edition Copyright 2000 Kenneth R. Johnson For 2 to 4 Players

Math Spring Operational Grade 5 PBA Item #11 Time on Chores M02372

CS Project 1 Fall 2017

CMPT 310 Assignment 1

The final wrap text in 3D result.

Begin this assignment by first creating a new Java Project called Assignment 5.There is only one part to this assignment.

The University of Melbourne Department of Computer Science and Software Engineering Graphics and Computation

Blend Photos With Apply Image In Photoshop

11/3/71 BASIC (VI) basic -- DEC supplied BASIC

COMPUTING CURRICULUM TOOLKIT

Creating Generic Wars With Special Thanks to Tommy Gun and CrackedRabbitGaming

Run Ant Runt! Game Design Document. Created: November 20, 2013 Updated: November 20, 2013

2006 Canadian Computing Competition: Junior Division. Sponsor:

CAPSTONE PROJECT 1.A: OVERVIEW. Purpose

LEARNING ISEARNING 2026

Chief Architect X3 Training Series. Layers and Layer Sets

ADD A REALISTIC WATER REFLECTION

CSE 260 Digital Computers: Organization and Logical Design. Lab 4. Jon Turner Due 3/27/2012

Geometry: Shapes, Symmetry, Area and Number PROBLEMS & INVESTIGATIONS

Assignment 1. Due: 2:00pm, Monday 14th November 2016 This assignment counts for 25% of your final grade.

La Gran Aventura. La Gran Aventura. Reels - 5 Wins are counted from left to right. Main Screen

For this assignment, your job is to create a program that plays (a simplified version of) blackjack. Name your program blackjack.py.

Red Dragon Inn Tournament Rules

WARHAMMER LEGENDARY BATTLES

How Representation of Game Information Affects Player Performance

CS188 Spring 2011 Written 2: Minimax, Expectimax, MDPs

Software user guide. Contents. Introduction. The software. Counter 1. Play Train 4. Minimax 6

Lab Exercise #10. Assignment Overview

Keytar Hero. Bobby Barnett, Katy Kahla, James Kress, and Josh Tate. Teams 9 and 10 1

CPSC 217 Assignment 3 Due Date: Friday March 30, 2018 at 11:59pm

CSE 312 Midterm Exam May 7, 2014

12-Pack Ultimate Quiz Show Help

Rulebook min

Building a Personal Portfolio in Blackboard UK SLIS

BIEB 143 Spring 2018 Weeks 8-10 Game Theory Lab

For slightly more detailed instructions on how to play, visit:

background research word count Title SUBMISSION GUIDELINES FOR PUBLISHING SCIENCE FAIR WRITTEN WORK

Overview. The Game Idea

Activity 6: Playing Elevens

The Kapman Handbook. Thomas Gallinari

Transcription:

CS 211 Project 2 Assignment Instructor: Dan Fleck, Ricci Heishman Project: Advanced JMortarWar using JGame Overview Project two will build upon project one. In project two you will start with project one and add four new features and diagram your system. 1. Creating an intro menu screen 2. Tracking and maintaining a high score list 3. Allowing players to move left/right 4. Making the games time based In addition to the features you must provide a state machine drawing showing all the states in your game. This can be done in any drawing tool as long as it looks nice. If you d like, you can install the UML plugin for Netbeans and use Netbeans to draw your diagram. In this project you re expected to figure out a little more than the last project. A general specification is given below, but not specific coding guidelines (e.g. you need to determine any new states that are needed, etc ). As with all problems, I would break it down into small chunks and try to finish each one in turn. Feature Descriptions Creating an Intro Screen You should create an intro menu screen that looks like this:

Each option should allow uppercase or lowercase characters. - P or p should begin a game. - S or s should show the high score screen - Q or q should exit the program High Scores Using Lab 6 you must create and maintain a high score screen. This mean you must - Load the high scores data file when the program starts - Track which player wins the game and what their score is

- Allow the user to type in a name for the list. They should be able to actually type, not select a character from a list or something like that. The typing should be in the game, not on the console window (not like you did in Lab 6). - Save the name and score in the data file - Display the high scores and names with the highest score at the top of the screen. You should only display the top 10 scores. HINT: You will need to modify the classes from Lab 6 to implement this feature in JGame. Making the games time based In order to have different scores, the game must now be time based instead of ending at a specific score. You must implement timer to make the games last approximately 2 minutes. At the end of two minutes the game should automatically end. To simplify the coding, the winner will always enter their name into the high score list and have it saved in the scores.dat file. It may not show up on the high score screen because you re only going to display the top 10 scores. Allowing players to move left/right To make the game more interesting, you must also add the ability for players to move left and right during their turn. - The players should move left with the, (comma) key - The players should move right with the. (period) key - The players must not be allowed to move through the hill - The players must not be allowed to move off the left/right of the screen HINT: You ll need to modify the Player class for this and use methods in JGObject to check for collisions and if you are on the screen. HINT 2: You do not need to be super-accurate with collision detection. Just checking if the bounding box of the tank hits the bounding box of the hill is fine. NOTE: The keys were chosen because when you look at the key on the keyboard, it means left is < and right is >. State Machine The state machine diagram should show each state in your system as a box (or oval). Between the states there should be transition arrows showing when you move from one state to the next. Transition labels may have a guard condition explaining why you transitioned and may have an action that is taken while you transition.

If more than one arrow leaves a state you must add a guard condition onto the arrows so we can tell which transition is followed. Guard conditions are in [ ] and actions taken on the transition are after the condition. You do NOT need conditions and actions for every transition. Keep it simple and do what seems to make sense to you. In JGame actions on the transition would be things in the startxyz methods and the states themselves is the general idea of what is happening in doframe/paintframe. See example for part of an ATM machine: Bonus Points Bonus points will be awarded for each feature you add from the list below: 1. Making the game simultaneous instead of turn-based. This means both players can be moving and firing all at the same time. To do this you ll need to use different keys for player 1 and player 2. (+7pts)

2. Make the terrain height random, so the players may be at different heights each game. They still need to be able to move left/right though! (+10pts) 3. Make the tank be able to either move or fire during a round, but not both, or in some way limit the ability to move so players are penalized for movement, to reduce movement every round. (+5) 4. Any cool features from the best artillery game ever Scorched Earth -- http://www.dosgamesarchive.com/download/game/144 (WARNING: Prof Fleck lost all of 10 th grade due to this game). Seriously though, if you see fun features let me know and we ll probably give you credit for implementing them. There is also a new 3D version, but I ve never played it. What to turn in: 1. A Jar file containing all Java source code and compiled code. All files you create must contain the standard class header for CS211. 2. A list of any resources you used. This should include any sample files you got from the JGame website. It s okay to use them, but I want to know which ones you reference and copied code from. (I assume you will use all the resources provided in this assignment document and the JGame notes posted by Prof. Fleck. No need to reference those. ) 3. A list of any discrepancies between your code and the requirements. What could you not complete? 4. A list of any bonus features you completed 5. A state machine drawing showing states for your implementation. NOTE: This is an individual project. You must work alone on this and should not consult any unapproved resources. If you have the slightest doubt about what is allowed, please ASK YOUR PROFESSOR! Don t take a chance! Cheating will be dealt with harshly! Approved resources: - JGame website (http://www.13thmonkey.org/~boris/jgame/) - Blackboard for CS211 - Any files/information posted on Prof. Fleck or Prof. Heishman s websites - Discussions with CS211 TAs or professors are allowed and encouraged. - Sun s Javadoc s API - Our textbook

Grading Rubric: This assignment is worth 40 points and will be graded based on the following rubric: Area Exemplary Competent Developing Points All header components are All header components are Header is missing or only present, with references present, but references and partially present, and / 2 and comments that comments are incomplete or references and comments accurately support the nonspecific. are vague or state of the file. unmeaningful. Class Header Coding Style Intro Screen High Score List Code implementation utilizes appropriate white space, self-documentation techniques and nonobvious comments. The intro screen is present and the menu works correctly. The High score list functionality is exactly as specified above. Code implementation exhibits minor alignment or spacing problems, some comments are missing or redundant. The intro screen is present, but some menu options don t work. (Or menu options do not support upper and lower case) The High score list functionality is missing small parts, but still functions. Significant alignment and spacing problems, comments are generally missing or sporadic. / 2 The intro screen is missing or all menu options don t work. / 6 The high score functionality is not able to complete much (if any) of the features described. / 13 Left/Right Movement Supporting information State Machine drawing Players can move left/right and are blocked by the hill/screen edges. Everything from the section What to turn in: above is present and clearly written. The state machine drawing is clear and depicts the game correctly. Players can move left and right, but collisions are not checked (they can go through the hill or off the edge. Parts of What to turn in are missing or incomplete. The state machine drawing is clear, but is missing states that are present in the system. Players cannot move left or right. / 13 Most of What to turn in is missing or all of it is incomplete. / 1 The state machine drawing is missing, very unclear or very incomplete. / 3