Code Monkey home page Code Monkey logo

bomberman's Introduction

bomberman's People

Contributors

adicheo avatar ncmancuso avatar thesocknameded avatar

Watchers

 avatar  avatar  avatar  avatar

bomberman's Issues

The system’s class diagram(s)

The system’s class diagram(s)
– Develop as far as possible the classes that you will need
in your system. Include the testing framework as part of your diagram

Communication Protocol Document

Document the Communication Protocol as you understand it. Give the message format,
and also use a sequence diagram or state chart to illustrate state-dependent message
exchanges

Testing Framework

In this first milestone, you are not going to implement a Player Client. Instead, we will build a
testing framework made up of a test driver and a test logger.
 The testing logger will always be deployed on the same machine as the model server.
You can choose to implement it as a thread or a separate process
 The logger should log (as text, in a file) all player controls as they are processed,
and all game state updates as they are sent.
 Thought: Instead of simply printing the whole state, the logger could print a
summary of the differences between the previous and current game state.
 The test driver should be implemented as a separate process, because it will play the role
of many player controllers, sending UDP player control messages (such as UP, LEFT,
GATE_START). The list of messages to be sent should be stored in a text file, read in by
this test driver. In this way, a particular text file contains one (automated, repeatable) test
sequence; multiple test sequences will be store in different text files.
 For this milestone, the test sequences will contain movement only, no bombs.
 Consider: Along with each player movement, perhaps there should also be a time
(offset) to slow down the execution of the test driver. In this first milestone, the
time delays could all be zero because only MOVEMENT controls are being
supported; however, in later milestones, when bombs are deployed, the timing of
movements vis-à-vis bomb detonations changes the outcomes of the game. (i.e.
whether a player moves out of the way of the bomb in time)
 The model server should start up in two modes: with random initialization of the floor,
or by reading in a prescribed initialization of the floor from a file. Suggestion: Use
command-line arguments

Version 1.0

The model server shall be implemented as far as described above. It is suggested that you
implement the server in stages (with corresponding test cases)
 Assumption: The server starts with a known initial board state
 Note: No timing is needed. Can go at “computer” speed.

  1. One player joins, starts the games and moves about, eventually revealing the door and
    exiting
  2. Two players join, one starts the game, and both move about without touching until the
    game is finished.
  3. Two players move about and touch each other.

Version 1.1

Version 1.1

The spectator client shall be implemented to display the game state as a GUI.
 Note: Timing will be needed in the test sequences so that changes to the GUI can be
followed.

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.