risk-game's People
risk-game's Issues
split finish stage in Gamecontroller
Save edited maps
Saving a map to a text file exactly as edited (using the “conquest” game map format).
JavaDoc, fix warning of the JavaDoc
Allocation of armies
Players are allocated a number of initial armies, depending on the number of players.
Main Menu View
-selection of players
-selection of path
etc.
autoselect text when territory jdialog editor
place all inicial armies (startup phase)
Player place all reinforcement armies on the map.
see why map loading is working for all maps but the ones we created
Reinforcement phase - Calculation of reinforcement armies & Placing armies on the map
Calculation of correct number of reinforcement armies according to the Risk rules
Implementation of a valid fortification
Implementation of a valid fortification move according to the Risk rules.
Edit a map
Loading a map from an existing “conquest” map file, then editing the map, or create a new map from
scratch.
Make sure we handle uni-directional map
The program should be able to read such a map and play on it.
The teacher told us that while answering a question on Friday.
An example of such map is the map named 3D Cliff: http://www.windowsgames.co.uk/ConquestMaps/3D%20Cliff.zip
fix somes things in map editor
validate before saving (+connected graph)
fix the mysterious comma
null -> review
change message for "is not a connected graph"
Phase 3 : Fortification Phase
Select countries and armies to move
Refactor: Implement Observer pattern
After the lecture on MVC, I realized in MVC the controlleur is not the one asking the view to update itself.
In the future we will have to use the observer pattern, I suggest we fix our MVC by already using the observer pattern. The changes to make would actually not be that broad, just make RiskView implements observer interface and make the view call updateView on itself whenever it receives a notification from the RiskModel. This would require RiskView to have a reference to RiskModel that we thought was not something to do.
I could take care of this.
Refactor: Merge EditableMapModel and MapModel
Player's Panel
Player information (armies, countries etc.)
View
change the test testConfigurationInf3
Create Architectural design diagram
Write missing documentation in editor-model
Players' Turns
All attributes of all classes should be documented
According to the teacher the attributes should be documented too:
example:
class ClassName {
/**
* The state of this instance
*/
private int state
}
Refactoring: Refactor MenuListener
Follow example of RiskView.setController
Menu Listener becomes MenuController
check that we are following all coding rules
check that we are following all coding rules (if not followed > delete ex: methods' length
Selection of Maps
Game starts by user selection of a user-saved map file.
change the number of assigned armies
update junit test for map file reading
Game Play
Implementation of a game driver implementing the game phases according to the Risk rules.
Create the View of the Main Game
Board & players & main menu
when closing editor, don't close the rest
add a clear functionality in the map editor
Create Players Panel (View)
Verification of map
Verification of map correctness upon loading and before saving (at least 3 types of incorrect maps).
Refactoring: Rename variable called aux
Tests should contain only one cycle ArrangeActAssert by test method
According to what the teacher said during the lecture about unit tests.
This is not the case in MapFileManagementTest.
Further readings:
Loading the map
Map is loaded as a connected graph, which is rendered effectively to the user to enable efficient play
add junit test for map validation
remove elements from coding conventions that are not coding conventions
Create a file dedicated to software development process (in markdown)
Choose players
User chooses the number of players, then all countries are randomly assigned to players.
First Assignment of Countries
Phase 2 : Attack Phase
Dices
Attack Result (succeed or failed)
Phase 1 : Reinforcement Phase
-bonus armies from countries owned -bonus from continents owned -bonus from cards
Startup phase armies asignation
In round-robin fashion, the players place their given armies one by one on their own countries.
Fix fortification phase
Make sure the player cannot remove all armies from a territory. There should always be at least one army left.
fortification phase : one move maximum
restrain the user to do more than one move and allow to move as many army as he/she wants during this unique move
finish reinforcement phase
Final Fixes
Random Assignment
-Assign countries to different players
Creation of map elements
User-driven creation of map elements, such as country, continent, and connectivity between
countries.
File Reader
File reader to create the model (players, board (continent,countries...)).
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.