Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2017-04-24T14:01:44+02:00Les derniers messages parus sur le forum de Zeste de Savoir.Scrolling avec pygame, message #1482642017-04-24T14:01:44+02:00Linkartoon/@Linkartoonhttps://zestedesavoir.com/forums/sujet/8480/scrolling-avec-pygame/?page=1#p148264<p>petit up après actualisation du post <img alt="^^" src="/static/smileys/hihi.png"></p>Scrolling avec pygame, message #1482382017-04-24T11:30:40+02:00Linkartoon/@Linkartoonhttps://zestedesavoir.com/forums/sujet/8480/scrolling-avec-pygame/?page=1#p148238<p>salut, j’aimerais crée un petit jeu de plateforme en utilisant le tiles mapping que j’ai plus trouver en C sur ce lien, <a href="https://openclassrooms.com/courses/tile-mapping">tuto tiles mapping en C.</a></p>
<p>j’ai donc adapté le code pour l’utiliser avec pygame mais cela fonctionne a moitié… La fenêtre s’ouvre, les tiles s’affichent mais quand j’utilise les flèches pour bouger, les tiles tout en bas et tout a gauche font vraiment n’importe quoi (voir les images a la suite). c’est assez compliqué d’expliquer donc je met les fichiers sur mega pour que vous puissiez tester vous même. <a href="https://mega.nz/#!GNNHBKjL!drMNF_UdAL16-mLhrTU8chWR0fbweIEygXI0--NnS_I">source ici</a></p>
<p>les images pour montrer le problème (j’ai mis les trait noir avec paint pour montrer ou se situe le problème) : <img alt="Image utilisateur" src="https://image.noelshack.com/fichiers/2017/17/1493035395-debut.png"> <img alt="Image utilisateur" src="https://image.noelshack.com/fichiers/2017/17/1493035399-nimp.png"></p>
<p>J’ai déjà longuement cherché une réponse mais je n’ai absolument rien trouvé.</p>
<p>Si vous avez la flemme de telecharger la source je met le code source et l’image dans ce post.</p>
<p>L’image pour les tiles : <img alt="tiles.png" src="https://user.oc-static.com/files/397001_398000/397871.png"></p>
<p>le code du fichier level.py :</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 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</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">pygame</span>
<span class="k">class</span> <span class="nc">Level</span><span class="p">():</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">move_speed</span> <span class="o">=</span> <span class="mi">5</span>
<span class="bp">self</span><span class="o">.</span><span class="n">tile_width</span> <span class="o">=</span> <span class="mi">24</span>
<span class="bp">self</span><span class="o">.</span><span class="n">tile_height</span> <span class="o">=</span> <span class="mi">16</span>
<span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesx_screen</span> <span class="o">=</span> <span class="mi">15</span>
<span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesy_screen</span> <span class="o">=</span> <span class="mi">13</span>
<span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesx_world</span> <span class="o">=</span> <span class="mi">75</span>
<span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesy_world</span> <span class="o">=</span> <span class="mi">17</span>
<span class="bp">self</span><span class="o">.</span><span class="n">screen_width</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tile_width</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesx_screen</span>
<span class="bp">self</span><span class="o">.</span><span class="n">screen_height</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tile_height</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesy_screen</span>
<span class="bp">self</span><span class="o">.</span><span class="n">xscroll</span> <span class="o">=</span> <span class="mi">0</span>
<span class="bp">self</span><span class="o">.</span><span class="n">yscroll</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesy_world</span><span class="o">-</span><span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesy_screen</span><span class="p">)</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">tile_height</span>
<span class="bp">self</span><span class="o">.</span><span class="n">level</span> <span class="o">=</span> <span class="p">[]</span>
<span class="bp">self</span><span class="o">.</span><span class="n">tiles</span> <span class="o">=</span> <span class="n">pygame</span><span class="o">.</span><span class="n">image</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="s1">'pictures</span><span class="se">\\</span><span class="s1">tiles.png'</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">tileset</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'0'</span> <span class="p">:</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">tiles</span><span class="o">.</span><span class="n">subsurface</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">24</span><span class="p">,</span><span class="mi">16</span><span class="p">)),</span><span class="s1">'empty'</span><span class="p">,</span><span class="s1">'sky'</span><span class="p">],</span>
<span class="s1">'1'</span> <span class="p">:</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">tiles</span><span class="o">.</span><span class="n">subsurface</span><span class="p">((</span><span class="mi">24</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">24</span><span class="p">,</span><span class="mi">16</span><span class="p">)),</span><span class="s1">'full'</span><span class="p">,</span><span class="s1">'treat'</span><span class="p">],</span>
<span class="s1">'2'</span> <span class="p">:</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">tiles</span><span class="o">.</span><span class="n">subsurface</span><span class="p">((</span><span class="mi">48</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">24</span><span class="p">,</span><span class="mi">16</span><span class="p">)),</span><span class="s1">'full'</span><span class="p">,</span><span class="s1">'brick'</span><span class="p">],</span>
<span class="s1">'3'</span> <span class="p">:</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">tiles</span><span class="o">.</span><span class="n">subsurface</span><span class="p">((</span><span class="mi">72</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">24</span><span class="p">,</span><span class="mi">16</span><span class="p">)),</span><span class="s1">'full'</span><span class="p">,</span><span class="s1">'tubetop1'</span><span class="p">],</span>
<span class="s1">'4'</span> <span class="p">:</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">tiles</span><span class="o">.</span><span class="n">subsurface</span><span class="p">((</span><span class="mi">96</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">24</span><span class="p">,</span><span class="mi">16</span><span class="p">)),</span><span class="s1">'full'</span><span class="p">,</span><span class="s1">'tubetop2'</span><span class="p">],</span>
<span class="s1">'5'</span> <span class="p">:</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">tiles</span><span class="o">.</span><span class="n">subsurface</span><span class="p">((</span><span class="mi">120</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">24</span><span class="p">,</span><span class="mi">16</span><span class="p">)),</span><span class="s1">'full'</span><span class="p">,</span><span class="s1">'tubebody1'</span><span class="p">],</span>
<span class="s1">'6'</span> <span class="p">:</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">tiles</span><span class="o">.</span><span class="n">subsurface</span><span class="p">((</span><span class="mi">144</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">24</span><span class="p">,</span><span class="mi">16</span><span class="p">)),</span><span class="s1">'full'</span><span class="p">,</span><span class="s1">'tubebody2'</span><span class="p">],</span>
<span class="s1">'7'</span> <span class="p">:</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">tiles</span><span class="o">.</span><span class="n">subsurface</span><span class="p">((</span><span class="mi">168</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">24</span><span class="p">,</span><span class="mi">16</span><span class="p">)),</span><span class="s1">'full'</span><span class="p">,</span><span class="s1">'block'</span><span class="p">]}</span>
<span class="k">def</span> <span class="nf">load_map</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">level</span><span class="p">):</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">level</span><span class="p">,</span><span class="s1">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">level</span> <span class="p">:</span>
<span class="n">m</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">item</span> <span class="o">=</span> <span class="s1">''</span>
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">level</span> <span class="p">:</span>
<span class="n">line_level</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="n">line</span> <span class="p">:</span>
<span class="k">if</span> <span class="n">col</span> <span class="o">!=</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span> <span class="ow">and</span> <span class="n">col</span> <span class="o">!=</span> <span class="s1">' '</span> <span class="p">:</span>
<span class="n">item</span> <span class="o">+=</span> <span class="n">col</span>
<span class="k">else</span> <span class="p">:</span>
<span class="n">line_level</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
<span class="n">item</span> <span class="o">=</span> <span class="s1">''</span>
<span class="n">m</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">line_level</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">level</span> <span class="o">=</span> <span class="n">m</span>
<span class="k">def</span> <span class="nf">display_map</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">screen</span><span class="p">):</span>
<span class="n">xmin</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">xscroll</span><span class="o">/</span><span class="bp">self</span><span class="o">.</span><span class="n">tile_width</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span>
<span class="n">xmax</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">xscroll</span><span class="o">+</span><span class="bp">self</span><span class="o">.</span><span class="n">screen_width</span><span class="p">)</span><span class="o">/</span><span class="bp">self</span><span class="o">.</span><span class="n">tile_width</span>
<span class="n">ymin</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">yscroll</span><span class="o">/</span><span class="bp">self</span><span class="o">.</span><span class="n">tile_height</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span>
<span class="n">ymax</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">yscroll</span><span class="o">+</span><span class="bp">self</span><span class="o">.</span><span class="n">screen_height</span><span class="p">)</span><span class="o">/</span><span class="bp">self</span><span class="o">.</span><span class="n">tile_height</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">ymin</span><span class="p">,</span><span class="n">ymax</span><span class="p">)</span> <span class="p">:</span>
<span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">xmin</span><span class="p">,</span><span class="n">xmax</span><span class="p">)</span> <span class="p">:</span>
<span class="n">x</span> <span class="o">=</span> <span class="n">j</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">tile_width</span><span class="o">-</span><span class="bp">self</span><span class="o">.</span><span class="n">xscroll</span>
<span class="n">y</span> <span class="o">=</span> <span class="n">i</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">tile_height</span><span class="o">-</span><span class="bp">self</span><span class="o">.</span><span class="n">yscroll</span>
<span class="n">item</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">]</span>
<span class="n">screen</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tileset</span><span class="p">[</span><span class="n">item</span><span class="p">][</span><span class="mi">0</span><span class="p">],(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">))</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">display</span><span class="o">.</span><span class="n">flip</span><span class="p">()</span>
<span class="k">def</span> <span class="nf">screen_size</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tile_width</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesx_screen</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">tile_height</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesy_screen</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">move</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">direction</span><span class="p">):</span>
<span class="n">xscroll</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">xscroll</span>
<span class="n">yscroll</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">yscroll</span>
<span class="k">if</span> <span class="n">direction</span> <span class="o">==</span> <span class="s1">'right'</span> <span class="p">:</span>
<span class="n">xscroll</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">move_speed</span>
<span class="k">if</span> <span class="n">xscroll</span> <span class="o">></span> <span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesx_world</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">tile_width</span><span class="o">-</span><span class="bp">self</span><span class="o">.</span><span class="n">screen_width</span><span class="o">-</span><span class="mi">1</span> <span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">xscroll</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesx_world</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">tile_width</span><span class="o">-</span><span class="bp">self</span><span class="o">.</span><span class="n">screen_width</span><span class="o">-</span><span class="mi">1</span>
<span class="k">else</span> <span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">xscroll</span> <span class="o">=</span> <span class="n">xscroll</span>
<span class="k">elif</span> <span class="n">direction</span> <span class="o">==</span> <span class="s1">'left'</span> <span class="p">:</span>
<span class="n">xscroll</span> <span class="o">-=</span> <span class="bp">self</span><span class="o">.</span><span class="n">move_speed</span>
<span class="k">if</span> <span class="n">xscroll</span> <span class="o"><</span> <span class="mi">0</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">xscroll</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">else</span> <span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">xscroll</span> <span class="o">=</span> <span class="n">xscroll</span>
<span class="k">elif</span> <span class="n">direction</span> <span class="o">==</span> <span class="s1">'up'</span> <span class="p">:</span>
<span class="n">yscroll</span> <span class="o">-=</span> <span class="bp">self</span><span class="o">.</span><span class="n">move_speed</span>
<span class="k">if</span> <span class="n">yscroll</span> <span class="o"><</span> <span class="mi">0</span> <span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">yscroll</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">else</span> <span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">yscroll</span> <span class="o">=</span> <span class="n">yscroll</span>
<span class="k">elif</span> <span class="n">direction</span> <span class="o">==</span> <span class="s1">'down'</span> <span class="p">:</span>
<span class="n">yscroll</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">move_speed</span>
<span class="k">if</span> <span class="n">yscroll</span> <span class="o">></span> <span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesy_world</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">tile_height</span><span class="o">-</span><span class="bp">self</span><span class="o">.</span><span class="n">screen_height</span><span class="o">-</span><span class="mi">1</span> <span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">yscroll</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">nb_tilesy_world</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">tile_height</span><span class="o">-</span><span class="bp">self</span><span class="o">.</span><span class="n">screen_height</span><span class="o">-</span><span class="mi">1</span>
<span class="k">else</span> <span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">yscroll</span> <span class="o">=</span> <span class="n">yscroll</span>
</pre></div>
</td></tr></table></div>
<p>Le code principal :</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 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</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">pygame</span>
<span class="kn">from</span> <span class="nn">level</span> <span class="kn">import</span> <span class="o">*</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">init</span><span class="p">()</span>
<span class="n">horloge</span> <span class="o">=</span> <span class="n">pygame</span><span class="o">.</span><span class="n">time</span><span class="o">.</span><span class="n">Clock</span><span class="p">()</span>
<span class="n">level</span> <span class="o">=</span> <span class="n">Level</span><span class="p">()</span>
<span class="n">level</span><span class="o">.</span><span class="n">load_map</span><span class="p">(</span><span class="s1">'level.txt'</span><span class="p">)</span>
<span class="n">screen</span> <span class="o">=</span> <span class="n">pygame</span><span class="o">.</span><span class="n">display</span><span class="o">.</span><span class="n">set_mode</span><span class="p">(</span><span class="n">level</span><span class="o">.</span><span class="n">screen_size</span><span class="p">())</span>
<span class="n">main</span> <span class="o">=</span> <span class="mi">1</span>
<span class="n">direction</span> <span class="o">=</span> <span class="s1">''</span>
<span class="k">while</span> <span class="n">main</span> <span class="p">:</span>
<span class="n">horloge</span><span class="o">.</span><span class="n">tick</span><span class="p">(</span><span class="mi">30</span><span class="p">)</span>
<span class="k">for</span> <span class="n">event</span> <span class="ow">in</span> <span class="n">pygame</span><span class="o">.</span><span class="n">event</span><span class="o">.</span><span class="n">get</span><span class="p">()</span> <span class="p">:</span>
<span class="k">if</span> <span class="n">event</span><span class="o">.</span><span class="n">type</span> <span class="o">==</span> <span class="n">pygame</span><span class="o">.</span><span class="n">QUIT</span> <span class="p">:</span>
<span class="n">main</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">if</span> <span class="n">event</span><span class="o">.</span><span class="n">type</span> <span class="o">==</span> <span class="n">pygame</span><span class="o">.</span><span class="n">KEYDOWN</span> <span class="p">:</span>
<span class="k">if</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">pygame</span><span class="o">.</span><span class="n">K_RIGHT</span> <span class="p">:</span>
<span class="n">direction</span> <span class="o">=</span> <span class="s1">'right'</span>
<span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">pygame</span><span class="o">.</span><span class="n">K_LEFT</span> <span class="p">:</span>
<span class="n">direction</span> <span class="o">=</span> <span class="s1">'left'</span>
<span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">pygame</span><span class="o">.</span><span class="n">K_UP</span> <span class="p">:</span>
<span class="n">direction</span> <span class="o">=</span> <span class="s1">'up'</span>
<span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">pygame</span><span class="o">.</span><span class="n">K_DOWN</span> <span class="p">:</span>
<span class="n">direction</span> <span class="o">=</span> <span class="s1">'down'</span>
<span class="k">if</span> <span class="n">event</span><span class="o">.</span><span class="n">type</span> <span class="o">==</span> <span class="n">pygame</span><span class="o">.</span><span class="n">KEYUP</span> <span class="p">:</span>
<span class="k">if</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">pygame</span><span class="o">.</span><span class="n">K_RIGHT</span> <span class="ow">and</span> <span class="n">direction</span> <span class="o">==</span> <span class="s1">'right'</span> <span class="p">:</span>
<span class="n">direction</span> <span class="o">=</span> <span class="s1">''</span>
<span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">pygame</span><span class="o">.</span><span class="n">K_LEFT</span> <span class="ow">and</span> <span class="n">direction</span> <span class="o">==</span> <span class="s1">'left'</span> <span class="p">:</span>
<span class="n">direction</span> <span class="o">==</span> <span class="s1">''</span>
<span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">pygame</span><span class="o">.</span><span class="n">K_UP</span> <span class="ow">and</span> <span class="n">direction</span> <span class="o">==</span> <span class="s1">'up'</span> <span class="p">:</span>
<span class="n">direction</span> <span class="o">==</span> <span class="s1">''</span>
<span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="n">pygame</span><span class="o">.</span><span class="n">K_DOWN</span> <span class="ow">and</span> <span class="n">direction</span> <span class="o">==</span> <span class="s1">'down'</span> <span class="p">:</span>
<span class="n">direction</span> <span class="o">==</span> <span class="s1">''</span>
<span class="n">level</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">direction</span><span class="p">)</span>
<span class="n">level</span><span class="o">.</span><span class="n">display_map</span><span class="p">(</span><span class="n">screen</span><span class="p">)</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">quit</span><span class="p">()</span>
<span class="err">`</span>
</pre></div>
</td></tr></table></div>
<p>et enfin le fichier texte qui contient la structure du niveau (a coller dans un fichier nommé level.txt) :</p>
<p>0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 3 4 0 0 0 2 2 2 2 0 0 2 2 0 0 3 4 0 0 0 2 2 2 2 0 0 2 2 0 0 3 4 0 0 0 2 2 2 2 0 0 2 2 0 0 3 4 0 0 0 2 2 2 2 0 0 2 2 0 0 3 4 0 0 0 2 2 2 2 0 0 2 2
0 0 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 0 0 0 0 0 0 0 0 0 0 0
0 0 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 0 0 0 0 0 0 0 0 0 0 0
0 0 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 0 0 0 0 0 0 0 0 0 0 0
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7</p>
<p>Merci de m’apporter votre aide ! <img alt=":)" src="/static/smileys/smile.png"></p>