Coder Social home page Coder Social logo

formula-andy's Introduction

Formula Andy

Formula Andy is the State of the art Formula One Manager game, open-source and written in Java.

Build Status

Screenshot

Getting the source

Download the source code by running the following code in your command prompt:

$ git clone https://github.com/fabianishere/formula-andy.git

or simply grab a copy of the source code as a zip file.

Building

For building the source code, we use Gradle. To run gradle, enter the following in your command prompt:

$ ./gradlew build

To test the source code, run the following code in your command prompt

$ ./gradlew test

Running

Formula Andy is a multi-player game and requires a server to run. To quickly start a test server on localhost, run the following in your command prompt:

$ ./gradlew :fa-server:runTestServer

To run the game's frontend, simply enter the following in your command prompt:

$ ./gradlew :fa-frontend-javafx:run

This will open the JavaFX frontend of the game and present a login screen. The following pre-defined users are available:

Username Password
fabianishere test
christov test

License

The code is released under the MIT license. See the LICENSE.txt file.

formula-andy's People

Contributors

fabianishere avatar lmolkenboer avatar nikkibouman avatar nilsbeuki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

formula-andy's Issues

Refactor fa-core actors

Improve the code quality of the fa-core package by:

  • putting actor messages in a message package
  • implement hashCode() and equals() methods for messages
  • test message classes
  • putting actors in a actor package
  • improve naming consistency

Travis does not know "openjdk8"

Travis crashes with the following error

 $ jdk_switcher use openjdk8
Sorry, but JDK 'openjdk8' is not known.
The command "jdk_switcher use openjdk8" failed and exited with 1 during .

Refactor fa-core domain classes

Improve the equals() implementations

Example of an improved equals() implementation:

@Override
public boolean equals(Object other) {
        if (this == other) {
            return true;
        }
        if (other == null || getClass() != other.getClass()) {
            return false;
        }
        LeaveSuccess that = (LeaveSuccess) other;
        return Objects.equals(user, that.user) && Objects.equals(lobby, that.lobby);
}

Implement a lobby balancer

Create a lobby balancer which distributes the clients smartly across multiple lobbies, and spin up a new lobby if needed.

  • Refactor Lobby actor to become offer-based
  • Create a LobbyBalancer actor that delegates the requests to each Lobby

Create initial version of game lobby actor

This feature should contain

  • A lobby actor that can be joined by users
  • A REST API endpoint that shows information about the lobby
  • Error handling when lobby is full, etc

Create game screen

As I user, during the game, I want to see the progress of the race and the current standings.

Create back-end persistence module

As a developer, I want a back-end persistence module to save the game state.

This basically means that we should persist the game state to for example a database using JPA.

Replace sprint reports with screenshots

The current sprint reports contain multiple HTML, CSS, JavaScript and image files
which litter the repository.

Images of the reports per sprint contain enough information about the
sprints and don't leave us with all these unnecessary HTML files.

  • Convert existing reports to a screenshot
  • Remove the unnecessary files of these reports

Fix formatting

Fix formatting, copyright headers, etc for multiple files.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.