~pyhalebarde/pyhalebarde/trunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
pyHalebarde
===========
.. image:: pyhalebarde.png
    :align: center

a turn-based strategy game, based on the game `Halebarde et Gonfanon`_.

.. contents::

Introduction
------------
pyHalebarde is a turn-based strategy game based on the rules of the board game
`Halebarde et Gonfanon`_ of Eric Forgeot.

pyHalebarde is developed by Laurent P and Olivier Le Thanh Duong with pygame.
The project website_ is hosted on Launchpad

The objective of the game is to place your four Saboteur unit in the 
opponent's camp.


.. _Halebarde et Gonfanon: http://anamnese.online.fr/site2/index.php?page=halebarde_et_gonfanon
.. _website: http://launchpad.net/pyhalebarde

Background story
~~~~~~~~~~~~~~~~

You are the ruler of a prosperous and enchanted kingdom. Alas, the wicked king
of a neighbour country suddenly declared war to your country.
During those epic days, war was a loyal affair and resolved on a
well-delimited battlefield, with equal weapons and forces.

You  will command 4 soldiers battalions equipped with heavy halberds and chainmail
but quick nonetheless, 2 archers battalions, slower but capable of ranged attacks
and finally 4 battalions of saboteurs composed of spies, diplomats and warriors
who are very resistants but can't climb hills or attack other units.

Launching the game
------------------

To play a game enter: "python pyhalebarde" in a console or "./pyhalebarde" or
double click on the "pyhalebarde" file.

You will need Python, pygame and python-json or python-simplejson installed on
your system to launch pyHalebarde. If you use python 2.6 python-simplejson is
included by default.

Alternatively the game can be installed by running : "./setup.py install"
as root you will then by able to launch the game directly via the menu.
In debian based distribution you have to use this command: "./setup.py install
-install-layout=deb" if you want to install in /usr/.

Interface
---------

To move a unit simply select it by clicking on it and chose his now position,
blue cases indicate the unit can move there, red ones indicate it can attack.
If you want to unselect a unit you can do so by right clicking.

Pressing Enter will end your turn and you can quit the game at any moment
by pressing Esc.

Rules of the game
-----------------

Here are the rules of the game, taken from the `Halebarde et Gonfanon`_ website.

Notice : The Getteurs units of Halebarde et Gonfanon are called Saboteur in
pyHalebarde.

Objective
~~~~~~~~~
The saboteurs must reach the other camp. The game is won when all the 4 saboteurs
enter the opponent's camp.


Rules
~~~~~

Moves
'''''

Each turn a player can play 2 out of the 3 types of pawns. Each pawn of the 2
types can move or attack in the allowed directions.

The first turn only, players place 6 of their pawns on the 1st line of the
battlefield.

Soldats can move 3 squares in any direction (columns, rows or diagonals). The
only exception is for reaching a hill, which takes 2 moves instead of one, but
for moving on a hill or going back to plains, it takes 1 normal move.

Archers can move 2 squares in straight line (columns or rows), or 1 move in
diagonale, without any limitation in regard to the hills or the plains.

Saboteurs can move 2 cases in any directions but only on plains.

Attacks
'''''''

If a soldat or a archer is hit, he died and is definitely removed from the board.
If a saboteur is attacked, he will come back to their own cam.

Soldats can go on the square of archers or other soldats, they replace them and
the pawns are removed from the game. Soldats can block saboteurs by being on
their way, but they can only wound them if they are 2 against 1 (if one soldat
or archer is already on a square next to the target one).

Archers can kill soldats or other archer, and wound saboteurs. An archer can
shoot, once a turn instead of moving, on a 2 squares range on straight lines 
nd 1 square range on diagonals (same ranges as for moving).
They can only shoot if they are on a hill.

Saboteurs can't kill or wound anyone. They can move on plains only.

Quick overview
~~~~~~~~~~~~~~

    * 3 types pawns : soldat, archer and saboteur.
    * 1st turn only : 6 pawns are put on the 1st line.
    * Each turn : 2 types of pawn only can be manipulated.
    * Soldats :
      - Move : 3 in all directions. Moving on a dark square uses 2 points.
      - Attack other pawns by going on the square. 1 soldat vs 1 soldats or archers, but needs 2 pawns vs 1 saboteur.
      - Can be removed out of the game.
    * Archers :
      - Move : 2 in straight lines or 1 move in diagonal.
      - or : Attack range : 2 squares in straight line or 1 square diagonal, only from a dark square.
      - Can be removed out of the game.
    * Saboteurs :
      - Move : 2 in all directions. Forbidden on dark squares.
      - Can't attack other pawns.
      - Can't be removed out of the game. If they are injured, come back to camp.
      - The game is won when the 4 saboteurs enter the opponent's camp.

Themes
------
pyHalebarde has a simple theme system based on json.

There is actually only two themes: wesnoth, the default theme and retro, the first
graphic for the game created in 30sec in gimp.

You can create your own skin for the game (documentation to come, take a look at
the folder "themes" to get a concrete idea on what to do). You can put the themes
you create in the folder $HOME/.data/pyhalebarde/themes. If you create
a nice theme don't forget to send it to us and we will include it.

To use a custom theme launch the game using the --theme argument.
Example: python pyhalebarde --theme=retro
Note: There is currently some transparency problems with the theme "retro", it
will be fixed later.

Reporting bugs
--------------

You can report bugs on our bugtracker_ on launchpad. Please specify which
distribution version of pyHalebarde you are using and how the bug happened.

.. _bugtracker: https://bugs.launchpad.net/pyhalebarde


# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79: