app's People
app's Issues
Validation of Map at Map Editor Phase
Vaadin真的很好用,swing真的好难受
Map data structure design
Assignee needed =(
Game play
With allan
Show Map
Map Editor
TO DO LIST
To-do list
Functional Requirements
Must include
The game must include ==a command prompt== that is available throughout the usage of the game (even if you have a GUI). All the commands should be validated and give proper feedback on their effect or invalidity. Each of the commands should only work in the game phase for which they are designed for. The commands should use the exact same syntax as defined below. Some commands have options preceded by a dash. Either or both options can be used and may be used multiple times in a command. Command parameters are noted in italics.
- a command prompt
Map editor
User-driven creation of map elements
User-driven creation of map elements: country, continent, and connectivity between countries
Map editor commands:
-
editcontinent -add continentname continentvalue
-
editcontinent -remove continentname
-
editcountry -add countryname continentname
-
editcountry -remove countryname
-
editneighbor -add countryname neighborcountryname
-
editneighbor -remove countryname neighborcountryname
-
showmap (show all continents and countries and their neighbors)
-
editcountry -cood countryname (x,y)
Saving a map to a text file
Saving a map to a text file exactly as edited (using the “domination” game map format)
Map editor command:
- savemap filename
Loading a map from an existing map file
Loading a map from an existing “domination” map file to edit or create a new map from scratch if the file does not exist
Map editor command:
- editmap filename
Verification of map correctness
Verification of map correctness. The map should be automatically validated upon loading and before saving (at least 3 types of incorrect maps). The validatemap command can be triggered anytime during map editing
Map editor command:
- validatemap
Game Play
Implementation
Implementation of a game driver implementing and controlling the game phases according to the Risk rules.
Game play command:
- showmap
(show all countries and continents, armies on each country, ownership, and connectivity)
Startup phase
Game starts by user selection of a user-saved map file.
Startup phase command:
- loadmap filename
Map is loaded as ==a connected graph==, which is rendered effectively to the user to enable efficient play.
User creates the players, then all countries are randomly assigned to players.
Startup phase commands:
- gameplayer -add playername
- gameplayer -remove playername
- populatecountries
Players are allocated a number of initial armies, depending on the number of players. In round-robin fashion, the players place their given armies one by one on their own countries.
Startup phase commands:
- placearmy countryname
(by each player until all players have placed all their armies) placeall (automatically randomly place all remaining unplaced armies for all players)
Reinforcement phase
Calculation of correct number of reinforcement armies according to the Risk rules. Player place all reinforcement armies on the map. Reinforcement phase command:
- reinforce countryname num
(until all reinforcements have been placed)
Fortification phase
Implementation of a valid fortification move according to the Risk rules.
Fortification phase commands:
- fortify fromcountry tocountry num
- fortify none (choose to not do a move)
Docs
Architectural design
Short document including an architectural design diagram. Short but complete and clear description of the design, which should break down the system into cohesive modules. The architectural design should be reflected in the implementation of well-separated modules and/or folders.
Software versioning repository
Well-populated history with dozens of commits, distributed evenly among team members, as well as evenly distributed over the time allocated to the build. A tagged version should have been created for build 1.
Javadoc API documentation
Completed for all files, all classes and all methods.
Unit testing framework
At least 10 relevant test cases testing the most important aspects of the code. Must include tests for: (1) map validation – map is a connected graph; (2) continent validation – continent is a connected subgraph; (3) calculation of number of reinforcement armies; (4) reading valid/invalid map files.
Coding standards
Short and simple document describing coding standard used. Consistent and proper use of code layout, naming conventions and comments, absence of “commented out” code.
- Architectural design
- Software versioning repository
- Javadoc API documentation
- Unit testing framework
- Coding standards
Behaviors
First release scheduled this weekend
(0-0)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.