The main author is Lilian Besson. For a complete thanks list, see Authors (file AUTHOR).
- The report is the main document, available here.
- This document is the one gave for the last presentation to the examinators.
See also
This is the main page of the doc for my project, but there is other resources on-line :
About the conventions and the constants for the game, details can be found in the doc of the Constants module.
About the network protocole, details can be found in the doc of one of the ParseMessageIn , or in the ParseMessageOut modules.
- About the GUI, details can be found in the doc of one of the AffichPygame module.
In particular, the header of the doc of this module explain where to find the soundtrack and the pictures for GUI, realised with PyGame.
Important
Neither the soundtrack nor the pictures are released under the GPLv3 license, because they are non-free resources.
This show how the textual mode looks like in the end of game (for the client) :
More examples are shown in other pages.
- The project is entirely written in Python, version 2.7.3.
- For more details about the Python language, see the official site.
Python 2.7.1 or higher is required.
The project have been developped on GNU/Linux (Ubuntu 11.10). It also have been quickly tested on Windows 7 with the Cygwin environment and Python 2.7.
Warning
- It shall also work on Mac OS X, but not been tested.
- Any suggestion or returns is welcome ! Where things can be different between Mac and the others plateform is with the sockets (Linux use BSD sockets, and Mac don’t). In particular, some network error handling can work on Linux but no on Mac.
- The project is in two parts : a server, and a client, represented as the two following Python scripts :
- Those two can be called with the option –help to show how to used them.
- All options are explained in this help message.
If you simply want to use it, follow those points :
- In a first terminal, launch a server (for example from the computer opened on the web, and known as bomberman.crans.org):
$ ./BombermanServer.py –server bomberman.crans.org –port 13882This launch the server, listening on port 13882. The game will be launched with a board 11x11, waiting for 3 players.
- In a second terminal, launch a client and connect it to this server:
$ ./BombermanClient.py –server bomberman.crans.org –port 13882 –pseudo “Luke” –color “blue”This launch the game, playing with the server previously launched, and with a player called “Luke”, and colored with blue. This game used an interactive window (GUI) if possible, otherwise it will try to launch in text mode (TUI) but the TUI is still experimental.
- Find 2 other friends to play with you, tell them the –server and –port argument for their client, and that’s it !
- More options :
- –music, –nomusic : enable, or disable the soundtrack during the game (for the client),
- –soundeffect, –nosoundeffect : enable, or disable the soundeffect during the game (for the client),
- –ANSI, –noANSI : idem for the ANSI escape color codes,
- –noUTF : might also be able to force pure ASCII text mode (it works, but it is uglier than with UTF8 !),
- Moreover, the two files ConfigClient and ConfigServer can be edited to keep your favorite parameters from one session to an other.
Note
This project is released under the GPLv3 license, for more details, take a look at the LICENSE file. Basically, that allow you to use all or part of the project for you own business.
- A static analysis of the code is done when the documentation is generated.
- This use pylint, and the precise result can be consulted here. Pylint have evaluate my code : Your code has been rated at 8.79/10 (this mark is automatically inserted when generating the documentation).
Note
In fact, that prove a kind of correction of the code : many differents things are checked by Pylint, so if this score is > 8, it is a very good sign to say that my code works well. Or at least, that the sofwares are not statically too wrongs...
Moreover, this UML diagram is generated with PyReverse (see this page for more details).
This diagram presents the links between all the modules (i.e. the scripts .py) in the project :
The colors have their importance. (Description is coming soon...)
This show how the textual mode looks like during the game with one server (and 3 bots). The server is in the left top corner.
This show how the graphical mode looks like during the game with one server (and 3 bots).
Main author : Lilian BESSON (mailto:lilian.besson@normale.fr).
- Vincent Le Gallic (mailto:vincent.legallic AT crans DOT org),
for our work with Sphinx documentation generator.
- [http://www.softicons.com/icon-tools/icon-converter]
for the icon-converter tool, allowing many different player pictures in 48x48 pixels.
- Yann Duplouy (mailto:yann.duplouy AT crans DOT org),
for a tutorial about ‘’argparse’’ command line parsers auto-generator.
- Vincent Cohen-Addad and Lucas Hosseini ({vincent.cohenaddad|lucas.hosseini} AT ens-lyon DOT fr),
for the semantic, the network protocole, and the syntax of network messages.
- And my little brother, Fabian,
for his help when choosing the game soundtrack and the picture for the caracters.
MPRI Bomberman Project (1-21) Copyright (C) 2012-13 Lilian Besson
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/>.
New in version 0.8.