SEEM3460/ESTR3504 (2017) Project

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

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

To use one-dimensional arrays and implement a collection class.

Scorer with BridgePads Quick Guide to Teams Scoring

User Guide / Rules (v1.6)

Reviewing Your Tax Return In Your Portal

Programming Exam. 10% of course grade

pg. 1 JMS Editors Guide

CPSC 217 Assignment 3

Bridgemate App. Information for bridge clubs and tournament directors. Version 2. Bridge Systems BV

Episode 5 12 th 14 th December. Outside Variations by Rishi Puri

PLA Planner Student Handbook

Distributed Slap Jack

FMJD Draughts Arbiter Pro page 1

Introductory Module Object Oriented Programming. Assignment Dr M. Spann

Project Connect Four (Version 1.1)

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

How To Find Out What Facebook Knows About You

Author Tutorial for OPTE Editorial Manager System

Episode 6 9 th 11 th January 90 minutes. Twisted Classics by Rajesh Kumar

Magic Contest, version 4.5.1

CS 211 Project 2 Assignment

Legacy FamilySearch Overview

Homework 5 Due April 28, 2017

A Step by Step guide to making and maintaining a Universal Credit claim online

Programming Project 2

Adding work to your TaskStream Portfolio (DRF)

SIMS Autumn Census COMPLETION Document for Primary Schools

Frequently Asked Questions

License Manager. User Guide. Features and functionality of the Line 6 License Manager software

CIDM 2315 Final Project: Hunt the Wumpus

G E O S E R V E R I N S TA L L

1 Document history Version Date Comments

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

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

June Quick guide to Bidding

BAGHDAD Bridge hand generator for Windows

Computer Science 25: Introduction to C Programming

[Version 2.0; 9/4/2007]

CS Project 1 Fall 2017

Clever Hangman. CompSci 101. April 16, 2013

Operation Guide Internet Radio

2. Now you need to create permissions for all of your reviewers. You need to be in the Administration Tab to do so. Your screen should look like this:

Arduino Lesson 1. Blink. Created by Simon Monk

SALT Resubmission Guidelines

Project #1 Report for Color Match Game

[DOING AN ODA: STEP-BY-STEP INSTRUCTIONS]

NAIS People of Color Conference: Proposal Submission Guide

ChessBase Accounts FIRST STEPS. CH E ACCESS THE WORLD OF CHESSBASE ANYWHERE, ANYTIME - 24/7

settinga.html & setcookiesa.php

LCDBC Director at the Computer. This document describes in great detail the standard steps in running the game.

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

My Nextel. User Guide

ANSYS v14.5. Manager Installation Guide CAE Associates

Episode 4 30 th March 2 nd April 2018 Odd Even & Substitution Variations By R Kumaresan and Amit Sowani

CS180 Project 5: Centipede

Problem Set 4: Video Poker

VT DINING GAMING PROJECT

GET OVERLAPPED! Author: Huang Yi. Forum thread:

FAQ for City of Tacoma employees

1. Number of Players Two people can play.

Mathematical Talk. Fun and Games! COUNT ON US MATHS CLUB ACTIVITIES SESSION. Key Stage 2. Resources. Hints and Tips

TABLE OF CONTENTS. Logging into the Website Homepage and Tab Navigation Setting up Users on the Website Help and Support...

CCSLC CSEC CAPE ONLINE REGISTRATION SYSTEM (ORS) SBA, Order of Merit and Practical Examinations Manual for the Centre User

SIMS Autumn Census COMPLETION Document for Primary Schools

A Guide To Scoring Single Events With BridgePads. written by Cad Delworth, Carlton Bridge Club, Edinburgh

RESTAURANT MANAGEMENT for WINDOWS. GIFT CARD Version

Introduction to Computing 2014 Assignment 4 (Preliminary Version) Simple Checkers Game

Overview POSTS PEOPLE COURSES PROFILE not

USER GUIDE PowerTrivia CRM 2013/2015

The goals for this project are to demonstrate, experience, and explore all aspects of Java Internet Programming.

YEDITEPE UNIVERSITY CSE331 OPERATING SYSTEMS DESIGN FALL2012 ASSIGNMENT III

Sudoku Online Qualifiers2017

ECE2049: Foundations of Embedded Systems Lab Exercise #1 C Term 2018 Implementing a Black Jack game

Indian Sudoku Championship 2015

Code Hunting Games CodeWeek2018

Introduction to R Software Prof. Shalabh Department of Mathematics and Statistics Indian Institute of Technology, Kanpur

EBUScore Pairs Manual Notes to accompany course Robin Barker October 2017 Version 0.4 For EBUScore Pairs v1.1.3+

Lab Exercise #10. Assignment Overview

PebblePad LEARNER HANDBOOK

How to download library ebooks to your Kindle

Introductory Psychology (1030H & 1101) Fall 2017 Research Participation (RP) Information

CS Programming Project 1

The Parameterized Poker Squares EAAI NSG Challenge

Asura. An Environment for Assessment of Programming Challenges using Gamification

Practical Assignment 1: Arduino interface with Simulink

Bridgemate App. Tournament directors features. Bridge Systems BV

Version User Guide

CTC eforms for Records & Registration. Submitting and Routing eforms Census Rolls

Assignment 3: Fortress Defense

Accepting your University offer and enrolment. The University of Sydney Page 1

Introductory Psychology (1030H, 1101, & 2101) Spring 2016 Research Participation (RP) Information

Projects Connector User Guide

PaperCut PaperCut Payment Gateway Module - CardSmith Quick Start Guide

SIMS.net Assessment. Key Stage Wizard Early Years Foundation. Profile

Episode 3 8 th 12 th February Substitution and Odd Even Variations By Kishore Kumar and Ashish Kumar

Frequently Asked Questions About Server Play

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

DocuSign Workflow for Springer Licensing Contracts. Customer Manual

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

Transcription:

SEEM3460/ESTR3504 (2017) Project Due on December 15 (Fri) (14:00), 2017 General Information 30% or more mark penalty for uninformed late submission. You must follow the guideline in this file, or there will be a mark penalty. You are advised to develop your program under a Java IDE (e.g. NetBeans). All development and running of the Java programs in this project are all in Windows platform. Faculty Guideline for Plagiarism If a student is found plagiarizing, a very heavy punishment will be imposed. The definition of plagiarism includes copying of the whole or parts of programming assignments from other s work or the Web. The penalty will apply to both the one who copies the work and the one whose work is being copied. Problem Overview The objective of this assignment is to complete the game Suit Go! in Java by implementing several methods. The project also has an EXTENSION PART to let you extend the program in your own way. Details are given in the Problem Specification section below. See the Submission section for details about the submission procedure. Material for this project can be found in this folder: ~seem3460/distribute/proj1 or http://www.se.cuhk.edu.hk/~seem3460/assignment/suitgo_asign.zip A finished program example (WITHOUT EXTENSION) is prepared to show you the game logic: 1) Download from http://www.se.cuhk.edu.hk/~seem3460/assignment/suitgo_demo.zip to your Windows platform. 2) Unzip the file SuitGo_demo.zip 3) Double click SuitGo.jar (Require jre or jdk 1.8 above installed). 1

Problem Specification The Suit Go! Game The game is played by 2 human players. At the beginning of a new game, one card is dealt to each player. The game has 9 rounds. In each round, an extra card will be dealt to each player. Before the card is dealt, the player guesses whether the suit of the coming card is the same with his own last card dealt by clicking the Same Suit or Different Suit button. The scoring criteria are listed below: Correct Same +15-5 Different +5-15 Wrong All players start from zero points. After the rounds, the player who scores most points wins. The New Game button, whenever it is clicked, should reset everything and start a new game. The Quit Game button should close the game window. Program Structure Some Java classes in some files are provided to you as a starting point. It contains 3 components: SuitGo.java, GUI.java and CardLayout.java. DO NOT modify anything in CardLayout.java since it is not part of your submission. Here is a summary of the component: File Class Functionality CardLayout.java CardLayout Layout only used in GUI.Hand for packing cards SuitGo.java SuitGo The class representing a game Player SuitGo start() - return a new game void init() set the action listener of buttons void cardshuffle() shuffle the carddeck int nextcard() take a card from the carddeck void actionperformed(actionevent e) - assign methods to handle events (button clicks) void newgame() initialize a new game void makeguess(int guess) - handle a player guess and proceed the game void quitgame() exit the game environment void endgame() - lock meaningless buttons and tell the winner Encapsulation of player information void reset() clear hand cards and set score to zero void updatescore(int i) update the score 2

File Class Functionality main() Starting point of the program GUI.java CardIMG Label for displaying picture of a card Hand Scoreboard The Task - Main Part The followings are the main tasks: int tofileid(int id) converts the rank ID to file ID About card ID: In most places of the program, cards are indexed using their rank: 0=2 < 2 < 2 < 2 < 3 < < A=51 But the PNG files in picture folder uses another index. So we need a function for conversion A GUI set displaying the player card holding void distribute(int id) deals a card void reset() remove all cards A GUI set displaying the player name and score 1. To implement a good object-orient design, split SuitGo.java into two files: SuitGo.java and Player.java. The SuitGo.java should contain SuitGo class. The Player.java should contain Player class. Split GUI.java into three files similarly. 2. Complete the card ID mapping: tofileid(int id) 3. Complete newgame(), makeguess(int guess), endgame(), quitgame() to make the game run smoothly The MAIN PART constitutes 90% of the total mark. You are strongly advised not to modify any part except parts labelled with the CODE HERE comments. But the EXTENSION PART in general requires some other extra modification. The Task - Extension Part The extension part is an open-ended task that constitutes 10% of the total mark. You may do any kind of upgrade to the program given that your final program keeps the meaning of the game well (otherwise marks will be deducted for your MAIN PART). Marks will be awarded according to the difficulty of the extension you made. You should also write a report not exceeding one page (details are given below).the awarded marks will be up to the SUM OF VALUE of simultaneous extensions you made, bounded by 10%. Some possible extensions are listed below. The following extension is worthy of 2%: - Alert user when user clicks Quit Game : ask the user if she/he would like to quit the game. If the user clicks Yes, then quit. Otherwise, keep the status Each of the following extension is worthy of 5%: - Make a graphical highlight to show either: the player in turn; or the score status - Add a Hint button for showing the count of remaining cards(number of cards that have 3

the same or different suit with the last card) - Add a Cheat button for displaying the next card in the game interface - Add a Pass button for not making a guess and gets zero point in a round - Implement a computer player that plays South Each of the following extension is worthy of 10%: - Change the game design (including the interface) to make it a three-player game - Add a Back button for retracting one or more steps Note: If you complete the extension part, you should write a report not exceeding one page. The file name should be <student-id>-extension-work.pdf (or.doc). The report should describe what you have done in the extension part and the meaning of each new class. Additional Requirements for ESTR3540 The main part and the extension part is the same for ESTR3540. However, the main part constitutes 80% of the total mark and the extension part constitutes 20% of the total mark. Submission Please follow the submission procedures, so that we could ensure your assignment is received properly. Only submit your assignment USING YOUR OWN UNIX account! On Windows, compress your source files and report file (if exists) into a single archive as follows: SuitGo_answer.zip Transfer the package from Windows to UNIX using webftp service as follows: Open your browser and go to http:/webftp.se.cuhk.edu.hk. Login with your UNIX account. 4

Click the Choose File button at below: Select the file that you will submit and click Upload File(s). Then you will find that the file has been uploaded to your Unix system. 5

Login your UNIX account using putty. You can find the uploaded files by command ls. Run the submit program specifying the assignment identifier and filename ~seem3460/submit proj1 SuitGo_answer.zip When the program asks your student ID, type in your FULL student ID as follows: What is your full student ID? 1155001122 Then the program will summarize your personal information and ask for your confirmation. FULLY type in yes to confirm your information. If you typed in your information wrongly, type no to exit the program and start again. Your student ID: 1155001122; Your account name: lwai Is the above information correct? (Y/N) Y Then you should see a message like this: Connecting to SEEM3460 Submission Server... sftp channel opened and connected. Uploading... Done! Thanks. If you see any additional error message apart from the above, then your assignment may not be submitted properly. Try to submit again. If the problem persists, log down the error message and send an email to pjli@se.cuhk.edu.hk to clarify, and attach your file to submit in the email. Improper use of email submission will cause mark deduction. Multiple submissions are not encouraged, but allowed when necessary. Only the last submission will be graded. Question & Answer With any questions about the assignment, please check the following Google Document for 6

Q&A first and write only new questions that have not been asked yet: https://docs.google.com/document/d/1-bcezwrowp4j4fszy0cakox7hctyizjfaxcj6mehn 8g/edit?usp=sharing 7