.. MPRI Bomberman (Net Programming Project) documentation master file, created by sphinx-quickstart on Sun Oct 21 14:41:40 2012. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Welcome to MPRI Bomberman's documentation! ========================================== .. sidebar:: Sphinx This page is the main page the *documentation* for my project, realised with `Sphinx `_. The doc is also generated by *PyDoc*, and can be consulted `here <../../>`_. The reference page of the *MPRI 1-21 lesson* is `here on the MPRI wiki `_. This lesson is done, so the project is *now* publicly distributed (under the term of the GPLv3 License). I received the mark *16.9/20* for my work. Welcome in the *main page* of the **MPRI Bomberman project** (for the MPRI 1-21 lesson), a *multiplayer Bomberman game*. This project is currently in *version* |version|, *release* |release|. Last update of this doc was made |today|. Author: ------- The main author is **Lilian Besson**. For a complete thanks list, see :ref:`authors`. Report: ------- The report is the main document, available `here `_. This document is the one gave for the last presentation to the examinators. .. Language: --------- This project is written in *Python v2.7.3*. For more details about **Python**, see `the official site `_. The table of contents is down here :ref:`sommaire`. .. seealso:: This is the main page of the doc for my project, but there is other resources *on-line* : 1. This project is also hosted on **bitbucket**, see `here `_. 2. The project can also be *downloaded* with this *archive*, here `projet_reseau.tar.xz <../../../../projet_reseau.tar.xz>`_. More details ------------ * About the game : the `server `_ or the `client `_. * 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.** Example: ^^^^^^^^ This show how the **textual mode** *looks like in the end of game* (for the *client*) : .. image:: images/exempletextual_client.png :scale: 100 % :align: center More examples are shown in other pages. .. _installation: .. include:: INSTALL .. _analysis: Static analysis --------------- 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/pylint_global.html>`_. 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). Modules: ^^^^^^^^ This diagram presents the *links* between all the modules (*i.e.* the scripts **.py**) in the project : .. image:: images/packages_Bomberman.svg :width: 1050 px :scale: 100 % :align: center The colors have their importance. (Description is coming soon...) .. _sommaire: Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` Table of contents ================= .. image:: images/bomberman_cover.jpg :scale: 50 % :align: right .. toctree:: :maxdepth: 5 rapport ANSIColors Matrix PyRlwrap ToolReadline IRCclient IRCserver Bonus Bomb Player Board KeyBinding ParseMessageIn ParseMessageOut ParseCommandArgs Constants SimpleGame AffichPygame BombermanClient ConfigClient BombermanServer ConfigServer others IA_Bomberman rapport Examples of run =============== Textual example --------------- 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. .. image:: images/exemple_ia.png :scale: 72 % :align: center Graphical example ------------------ This show how the **graphical mode** *looks like during the game* with *one* server (and *3 bots*). .. image:: images/exemple_ia3.png :scale: 72 % :align: center .. _authors: Authors (file AUTHOR) --------------------- .. include:: AUTHOR .. _licence: Extract of the license ----------------------- 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/>. .. versionadded:: 0.8 Used sofwares ------------- .. figure:: images/PythonPowered.* :scale: 100 % :align: center .. Thanks to the following softwares: +--------------------------------+--------------------------------+------------------------------------+ | .. image:: images/gedit.jpeg | .. image:: images/pygame.jpeg | .. image:: images/sphinx.jpeg | | :width: 100 px | :width: 100 px | :width: 100 px | +--------------------------------+--------------------------------+------------------------------------+ | .. image:: images/bash.jpeg | .. image:: images/firefox.jpeg | .. image:: images/pygmentize2.png | | :width: 100 px | | :width: 100 px | +--------------------------------+--------------------------------+------------------------------------+ | .. image:: images/gnush.jpeg | .. image:: images/linux.jpeg | .. image:: images/smallubuntu.png | | :width: 100 px | :width: 100 px | | +--------------------------------+--------------------------------+------------------------------------+