Home
CSE116 Project – Stage 1 Fall 2010
Contents
1. Objectives This is stage 1 of the course project The main concepts covered are e software development in a small team setting e development of a design for a medium sized software project and e building a suite of unit tests Overview You have been employed by a small game manufacturer named KnowSys This company has more programming talent than game creation talent Its developers create on line versions of popular board games Since the games this company develops cannot be exactly the same as the games on which they re based the games produced are always extended and changed in interesting ways from a programming perspective The game you will write is a variant of a game called Metro Metro was designed by Dirk Henn and was published by Queen Games A description of the original games can be found at http www queen gqames de index php id 1 6760 2 If you click on the downloads link at the bottom of the page you will be taken to a download page from which you can download the rules in your choice of language You will have an opportunity to play the game in recitation this week and will also be able to play the game in recitation after this week The requirements will be revealed to you In several stages This document describes the first of three stages You should not make any assumptions about what future stages might require you to do Also if you find that the requirements are vague or underspecified y
2. by the program from the currently available inventory of tiles at random Gameplay continues until all the tiles are placed on the board or one of the players resign At the end of the game the scores of both players must be displayed and the winner must be announced A player who resigns automatically gets zero points and is considered the loser even if the other player also has zero points Otherwise the winner is the player with the higher score Grading Your team s project submission will be graded on its merits as follows Functionality 60 As described above Do not add functionality that is not listed unless instructed otherwise Documentation 10 You must have a brief user s manual which described how fo start and how to play your game including the commands rules AS THEY WORK IN YOUR GAME In other words if your game does not support the resign command say so Name your user s manual User txt if must be a plain text file You must also have javadoc comments for each class and each public method which says WHAT the class or method does not HOW it does it For methods the role and expected value for each parameter must be explained and the return value must be documented too describe the significance of possible return values Testing 30 You are expected to have JUnit tests for the functionality of each public method you write We are not aiming for perfection at this point but if you write you
3. f illegal placements above remove Remove the tile placed on this turn Remove is the inverse of place and can only be done by a player after placing a tile on their turn but before committing commit End the current player s turn This command must be permitted only if the player has indeed placed therr tile in a legal way on the board display tile Display the tile drawn on this turn The tile disolay must show how the eight connection points two on each side of the tile connect to each other as shown with the digits in the tile samples above Thus the four tiles must be displayed as follows 31 32 34 33 2 2 3 2 4 4 4 1 31 41 21 11 gt m W P e N N display board Display the whole board including the borders with tiles displayed as in the display tile section An empty board must be display like this AB AB AB AB G D H C G D H C G D H C G D H C FE FE FE FE The edges are treated as though there were tiles there but showing only the edge that touches the board Along the edges the connection points are shown As another example the board sample with the valid tile placement above must be displayed as follows AB AB AB AB G D H C G D H C G D H C 31 G2 2 D H4 4 C 31 FE FE FE FE At the start of a player s turn the board must be displayed who the current player is player 1 or 2 must be displayed the current scores as well as the currently drawn tile which is drawn
4. med by connected track segments A path is closed when it connects two stations A path which is not closed is open A player gets points for each closed path that starts from a station they own The number of points for a closed path is one per track segment in the closed path Open paths are worth no points The only placement constraints are that closed paths cannot be consist solely one track segment unless there is no alternate placement which does not violate this constraint Here s an example of an illegal placement it is illegal because it creates a closed path consisting of just one track segment along the purple track Players alternate turns On a turn a player places a randomly drawn tile from the still unplayed tiles Play continues until the last tile is placed Players scores are updated after each turn The player with the highest score wins Textual User Interface In a textual user interface a user types Commands which are interpreted by the program Exactly the following commands must be understood by your program if any other command is entered your program must display I m sorry didn t quite catch that Try again and then accept another command resign End the game and exit the program place column row Place drawn tile on board in the indicated column and row If the tile is placed in an illegal way the user must be so notified but the tile must be left of the board See description o
5. ou should make no assumptions about how to resolve such vagueness or under specification Instead you should ask your customer who prefers to take questions in the course Newsgroup Description You and your teammates must produce a text based game no graphical elements allowed implementing the simplified rules soelled out below The code must have a clean separation between the game logic and the text based user interface The code must be unit tested but the unit tests must be of the game logic only not of the user interface Rules The rules are as follows The game is strictly a two player game The game is played on a 4 by 4 board The board looks like this The arrows indicate the direction in which paths can be travelled The colors indicate the station ownership blue for player 1 and yellow for player 2 The game has 16 square tiles On each tile there are four track segments Each tile in the game has eight connection points points where tracks can connect We can depict a tile in a textual way as follows where the letters Uniquely identify a connection point The following set of tiles will oe Used four of each for a total of 16 tiles The arrows indicate the track segments on each tile Textually we can indicate the paths by digits 1 2 3 and 4 and can show how the paths are connected to the connection points like this NO OO v W N a W N N 4 o Paths are for
6. r code in a test driven fashion you will have some tests for each such method Your grade is based on the overall team grade for the submission and your peer grade Peer grading will be discussed in detail in lecture Basic point if you do not contribute as much as others on your team you will not receive as much credit as your teammates
Download Pdf Manuals
Related Search
Related Contents
Anaheim Scientific H500 - RGB Color Analyzer Software Development Process User Manual Protrans HLA SSP Kits C3 / 14 Deutsch - PEAK Descargar ficha técnica カタログ - 古通エンジニアリング(有) Lichthärtendes Löffelmaterial エネファーム タンクの水を生活用水として利用する方法 Copyright © All rights reserved.
Failed to retrieve file