jandrewtorres / biowars309 Goto Github PK
View Code? Open in Web Editor NEWBioWars309
BioWars309
GamePlay UI needs to be done. Lots to do here.
The ServerViewer javafx gui is set up, but does not have much going on. It currently only has a label showing the number of connected clients. We want more than this. This should be built out as we are building the game model.
Game should register players.
Game should have a timer.
Game should be an observable that updates the ServerViewerController.
Game model should update clients periodically.
It would be nice to have a text area on the serverviewer that shows game events. Such as "so and so joined the lobby". "Player 1 applied a virus to Player 2". etc.
Need to create a server that can communicate with multiple clients. We will do this using multithreading and sockets.
The server should be set up so that we can have a javafx server gui.
The server needs to listen for client connections and be able to receive messages from those clients. The server should also be able to send messages/updates to the clients.
Need to log game events and exceptions using the java logging api and update clients with new game events. Log should be viewable in the serverviewer.
private String text;
private static Map map = new HashMap<>();
static {
for (CURE_TYPE type : CURE_TYPE.values()) {
map.put(type.text, type);
}
and
@Override
public String toString() {
return text;
}
public static CURE_TYPE fromString(String text) {
return (CURE_TYPE) map.get(text);
}
Not quite sure why the Map is needed and am not fully sure what the purpose of having both Map and HashMap in place is since the map instance does not exist anywhere else. I would suggest a couple comments to clear things up.
Some methods have a space after the closing "}" bracket before the next method starts, while other methods do not have such a space.
Need to load fxml files and link controllers. Enable switching scenes and registering with the server
Currently, players can buy viruses but dragging and dropping them does not actually apply the virus to the selected opponent.
It should also remove the virus from the Player's inventory.
Lobby and Game Chat would be a good feature, but not a first priority. Should be fairly easy to implement once the client server protocol / message schema is in place.
Line 33 is incorrectly indented compared to the rest of the variables declared in the block.
The Lobby Game UI is being loaded and shown. It is wired into the application and being shown after the login scene. But it needs to be functional and be designed in scenebuilder.
It should have a working tableview that shows the players that are in the lobby. It should have a "I'm ready to play button".
The only functionality this should have is a player being able to press the "I'm ready to play" button. Once all players have pressed this button the game will send a message to clients that will launch the clients into gameplay screen.
Vaccines have not been built into the model.
No need for the src/forms/assets/ anymore. See project structure.
The Login.fxml will need the new path to biohazard.png once move is made.
Add components for displaying game information and player interaction
Multiple subclasses of viruses
Begin with registering clients with server.
Then we must move on to updating clients with current game info on every tick().
A great way to do this is by sending an xml doc string over the socket and then parsing. But we can do it however we want as long as it is clean.
We will be using eclipse oxygen, and the newest version of java sdk 9.0.1.
Create the base folder with two packages, biowars.server and biowars.client
get drag and drop working;
Should we add these or just take em off the UI?
The properties' getters return the property. This is not good. We need to have all properties within the class have getters that return the read only property. To do this use ReadOnly versions of properties.
I though remove() on the virusApplied list would do the trick, but it's giving me a size of 0 at runtime, so no luck there
ClientCommunicator and ServerCommunicator are more appropriate names.
public class SarsCure extends Cure{
public SarsCure() {
vs
public class ColdCure extends Cure{
public ColdCure() {
Title is self-explanatory, class looks fantastic otherwise.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.