Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2014-12-13T10:11:33+01:00Les derniers messages parus sur le forum de Zeste de Savoir.Bug dans un programme simple., message #341232014-12-13T10:11:33+01:00Breizh/@Breizhhttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p34123<p>Ah oui… merci <img alt="^^" src="/static/smileys/hihi.png"></p>
<p>Par contre placerNavires() n'était pas finie, il s'agit du placement des navires alliés (fait par l'utilisateur).</p>Bug dans un programme simple., message #341032014-12-12T23:39:59+01:00louk/@loukhttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p34103<p>Je confirme ce que dis Kje.</p>
<p>Sinon, pour optimiser un peu ton code. Je trouve que beaucoup de ce qui est dans initialisation répète celui qui est dans placerNavires(), qui ne sert pour l'instant à rien. Je trouverais ça logique d'appeler placerNavires() dans initialisation().</p>
<p>Sinon, tu peux très bien utiliser un booléen pour vertical. Et je ne comprends pas pourquoi utiliser un switch. Puisqu'il ne peut avoir que deux valeurs, autant utiliser un if/else, ce sera plus court et plus lisible.</p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11</pre></div></td><td class="code"><div class="codehilite"><pre><span class="n">vertical</span> <span class="o">=</span> <span class="kt">int</span><span class="o">(</span><span class="n">random</span><span class="o">(</span><span class="mi">2</span><span class="o">))</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">?</span> <span class="kc">false</span> <span class="o">:</span> <span class="kc">true</span><span class="o">;</span>
<span class="c1">// plus loin.</span>
<span class="k">if</span><span class="o">(</span><span class="n">vertical</span><span class="o">)</span>
<span class="o">{</span>
<span class="c1">// du code</span>
<span class="o">}</span>
<span class="k">else</span>
<span class="o">{</span>
<span class="c1">// encore du code</span>
<span class="o">}</span>
</pre></div>
</td></tr></table>Bug dans un programme simple., message #339222014-12-12T09:27:33+01:00Kje/@Kjehttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33922<p>Ha oui en effet tu avais une boucle infinie avec <code>done</code> qui n'était jamais mit à <code>True</code>…</p>Bug dans un programme simple., message #339212014-12-12T09:23:01+01:00Breizh/@Breizhhttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33921<p>Le bug se trouvait dans la fonction placerNavires(), en l'enlevant le programme fonctionne.</p>
<p>Merci.</p>Tutoriel sur le modèle de couleurs TSV, message #337252014-12-11T00:32:46+01:00tit_toinou/@tit_toinouhttps://zestedesavoir.com/forums/sujet/720/tutoriel-sur-le-modele-de-couleurs-tsv/?page=1#p33725<p><a href="http://zestedesavoir.com/tutoriels/611/les-espaces-de-couleurs-rvb-et-tsv/">Une première version du tutoriel est en ligne : ).</a></p>Bug dans un programme simple., message #334272014-12-09T16:33:32+01:00Eskimon/@Eskimonhttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33427<p>Dans le doute il y aurait pas moyen de faire faire un truc con à <code>draw</code> genre dessiné une fenêtre avec une seule couleur qui change histoire de voir si ton programme tourne bien et si c'est un problème comme Kje l'evoque §</p>Bug dans un programme simple., message #334252014-12-09T16:26:29+01:00Kje/@Kjehttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33425<p>Bon comme je l'ai dit, je ne connais pas processing MAIS dans un système fenetré classique, tout ce qui n'est pas dans une fonction d'affichage peut facilement etre perdu. Par exemple ce qui est fait a l'init serait perdu si tu réduit la fenetre dans la barre des taches ou si une autre fenetre passe dessus. Quand ça fonctionne comme ça, on met que l'init dans le setup et tout le code de dessin est appelé dans le draw qui redessine la vue entièrement.</p>
<p>Apres ton principe ne peut fonctionner que si processing sauvegarde le buffer à la fin de l'init mais ça me semble étrange (ça reste possible). </p>Bug dans un programme simple., message #334232014-12-09T16:21:53+01:00Breizh/@Breizhhttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33423<p>En fait, draw gère en effet une boucle infinie, mais il est possible de dessiner dans n'importe quelle fonction (heureusement), si du contenu est masqué, j'appelle la fonction grille(), qui redessine la ou les grilles demandées (c'est vrai que mon prog manque de commentaires), mais en théorie, le size(1200,600); est censé crée une fenêtre de 1200 pixels de large et 600 de haut, et ça ça se défini dans le setup, le background change juste le fond, et moi il est fixe ( background(100); ), donc inutile de le mettre dans draw(), et ce que je ne comprends pas c'est que le programme passe sur ce size et ce background (j'ai vérifié, il lit les boucles de la fonction qui suit), mais cela ne fait rien.</p>Bug dans un programme simple., message #334032014-12-09T14:05:13+01:00Kje/@Kjehttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33403<p>Tu peux re-coller les fonctions d'affichage dans draw ? Car dans ma logique tu as setup qui fait l'init et draw qui correspond à la boucle infinie d'affichage. C'est elle qui doit gérer le dessin. Car si pour une raison le contenu est masqué, ton prog ne saura pas le re-dessiner, non ?</p>Bug dans un programme simple., message #333962014-12-09T13:32:47+01:00Breizh/@Breizhhttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33396<p>Eh bien en vérifiant les variables (à grand coups de println), le programme tourne correctement, et fait les bonnes boucles dans le bon ordre, les navires de l'IA sont bien placés dans le tableau grilleEnvoye, mais la fenêtre graphique ne s'affiche pas.</p>Bug dans un programme simple., message #333242014-12-09T10:40:58+01:00Kje/@Kjehttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33324<p>Je ne connais pas processing mais tu dis :</p>
<blockquote>
<p>Maintenant le mode console fonctionne parfaitement, mais pas la fenêtre graphique.</p>
</blockquote>
<p>Qu'est ce que tu appels le mode console dans le code que tu nous a mit ?</p>Bug dans un programme simple., message #333232014-12-09T10:36:09+01:00Breizh/@Breizhhttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33323<p>Sinon, pour le mouseWheel, vertical est un integer, donc ça ne fonctionne pas (j'avais besoin d'un integer pour les switch et le random).</p>
<p>Et ça fonctionnait avant, mis à part que la fenêtre graphique mettait un temps fou à charger, le programme en lui-même n'a pas l'air bugué, mais il fait buguer Processing, et exporter le programme vers un .exe ne change rien (le .exe ne fonctionne pas ou n'affiche pas de fenêtre graphique…).</p>Bug dans un programme simple., message #332832014-12-09T08:53:20+01:00Eskimon/@Eskimonhttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33283<p>Davidlouiz, l'auteur utilise <a href="http://fr.wikipedia.org/wiki/Processing">Processing</a> <img alt=";)" src="/static/smileys/clin.png"> pas du C ou du C++ et SDL ou Qt donc pas d'includes/main <img alt=":)" src="/static/smileys/smile.png"></p>Bug dans un programme simple., message #332752014-12-09T03:15:10+01:00Davidlouiz/@Davidlouizhttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33275<p>Je voudrais bien t'aider, mais il manque du code (include, main…).
Quelle est la fonction sensée ouvrir ta fenêtre ? Tu utilises quelle bibliothèque ?</p>
<p>Faute de t'avoir aidé, voici une petite optimisation pour faciliter la lecture.</p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3</pre></div></td><td class="code"><div class="codehilite"><pre><span class="kt">void</span> <span class="nf">mouseWheel</span><span class="p">()</span> <span class="p">{</span>
<span class="n">vertical</span> <span class="o">=</span> <span class="o">!</span><span class="n">vertical</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</td></tr></table>
<p>A bientôt !</p>Bug dans un programme simple., message #331992014-12-08T18:57:14+01:00Breizh/@Breizhhttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33199<p>Nan, ça ne pose aucun problème ça, j'ai essayé, on est juste obligé de mettre draw pour que les inputs souris et claviers fonctionnent. Ça marchait très bien quand je n'affichais que les grilles, mis à part que le temps de chargement de la fenêtre graphique était très long. Maintenant le mode console fonctionne parfaitement, mais pas la fenêtre graphique.</p>Bug dans un programme simple., message #331732014-12-08T16:00:17+01:00Kje/@Kjehttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33173<p>Je ne suis pas un pro de processing mais de mémoire, si tu ne met rien dans <code>draw</code> ça ne peut pas marcher puisque il n'a aucune commande de dessins.</p>Bug dans un programme simple., message #331522014-12-08T14:38:47+01:00Breizh/@Breizhhttps://zestedesavoir.com/forums/sujet/1872/bug-dans-un-programme-simple/?page=1#p33152<p>Bonjour !
Quand je lance ce programme, Processing (2.2.1) refuse d'ouvrir la fenêtre graphique.</p>
<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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119</pre></div></td><td class="code"><div class="codehilite"><pre><span class="kt">int</span> <span class="o">[][]</span> <span class="n">grilleRecu</span> <span class="o">=</span> <span class="k">new</span> <span class="kt">int</span><span class="o">[</span><span class="mi">10</span><span class="o">][</span><span class="mi">10</span><span class="o">];</span>
<span class="kt">int</span> <span class="o">[][]</span> <span class="n">grilleEnvoye</span> <span class="o">=</span> <span class="k">new</span> <span class="kt">int</span><span class="o">[</span><span class="mi">10</span><span class="o">][</span><span class="mi">10</span><span class="o">];</span>
<span class="kt">int</span> <span class="n">boatType</span><span class="o">,</span> <span class="n">boatSize</span><span class="o">,</span> <span class="n">X</span><span class="o">,</span> <span class="n">Y</span><span class="o">,</span> <span class="n">vertical</span><span class="o">;</span>
<span class="n">PFont</span> <span class="n">font</span> <span class="o">=</span> <span class="n">createFont</span><span class="o">(</span><span class="s">"U:/Documents/Processing/bataille_navale/data/Minecraftia-Regular.ttf"</span><span class="o">,</span> <span class="mi">32</span><span class="o">,</span> <span class="kc">false</span><span class="o">);</span>
<span class="c1">//PFont font = createFont("/home/yann/MEGA/Documents/Lycée/ISN/bataille_navale/data/Minecraftia-Regular.ttf", 32, false);</span>
<span class="kt">void</span> <span class="nf">setup</span><span class="o">()</span> <span class="o">{</span>
<span class="n">size</span><span class="o">(</span><span class="mi">1200</span><span class="o">,</span> <span class="mi">600</span><span class="o">);</span>
<span class="n">background</span><span class="o">(</span><span class="mi">100</span><span class="o">);</span>
<span class="n">grille</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span> <span class="c1">//Dessine les deux grilles.</span>
<span class="n">initialisation</span><span class="o">();</span> <span class="c1">//Place les navires ennemis</span>
<span class="n">placerNavires</span><span class="o">();</span> <span class="c1">//Demande à l'utilisateur de placer ses navires.</span>
<span class="o">}</span>
<span class="kt">void</span> <span class="nf">draw</span><span class="o">()</span> <span class="o">{</span>
<span class="o">}</span>
<span class="kt">void</span> <span class="nf">grille</span><span class="o">(</span><span class="kt">int</span> <span class="n">z</span><span class="o">)</span> <span class="o">{</span> <span class="c1">//Dessine la ou les grilles demandées</span>
<span class="n">stroke</span><span class="o">(</span><span class="mi">255</span><span class="o">);</span>
<span class="n">fill</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="mi">175</span><span class="o">,</span> <span class="mi">200</span><span class="o">);</span>
<span class="k">if</span> <span class="o">(</span><span class="n">z</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span> <span class="n">z</span> <span class="o">==</span> <span class="mi">1</span><span class="o">)</span> <span class="o">{</span>
<span class="n">rect</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="mi">100</span><span class="o">,</span> <span class="mi">500</span><span class="o">,</span> <span class="mi">500</span><span class="o">);</span>
<span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">x</span> <span class="o"><=</span> <span class="mi">500</span><span class="o">;</span> <span class="n">x</span><span class="o">+=</span><span class="mi">50</span><span class="o">)</span> <span class="o">{</span>
<span class="n">line</span><span class="o">(</span><span class="n">x</span><span class="o">,</span> <span class="mi">100</span><span class="o">,</span> <span class="n">x</span><span class="o">,</span> <span class="mi">600</span><span class="o">);</span>
<span class="n">line</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="n">x</span><span class="o">+</span><span class="mi">100</span><span class="o">,</span> <span class="mi">500</span><span class="o">,</span> <span class="n">x</span><span class="o">+</span><span class="mi">100</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="k">if</span> <span class="o">(</span><span class="n">z</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span> <span class="n">z</span> <span class="o">==</span> <span class="mi">2</span><span class="o">)</span> <span class="o">{</span>
<span class="n">rect</span><span class="o">(</span><span class="mi">700</span><span class="o">,</span> <span class="mi">100</span><span class="o">,</span> <span class="mi">500</span><span class="o">,</span> <span class="mi">500</span><span class="o">);</span>
<span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">x</span> <span class="o"><=</span> <span class="mi">500</span><span class="o">;</span> <span class="n">x</span><span class="o">+=</span><span class="mi">50</span><span class="o">)</span> <span class="o">{</span>
<span class="n">line</span><span class="o">(</span><span class="n">x</span><span class="o">+</span><span class="mi">700</span><span class="o">,</span> <span class="mi">100</span><span class="o">,</span> <span class="n">x</span><span class="o">+</span><span class="mi">700</span><span class="o">,</span> <span class="mi">600</span><span class="o">);</span>
<span class="n">line</span><span class="o">(</span><span class="mi">700</span><span class="o">,</span> <span class="n">x</span><span class="o">+</span><span class="mi">100</span><span class="o">,</span> <span class="mi">1200</span><span class="o">,</span> <span class="n">x</span><span class="o">+</span><span class="mi">100</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="kt">void</span> <span class="nf">placerNavires</span><span class="o">()</span> <span class="o">{</span>
<span class="kt">boolean</span> <span class="n">done</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
<span class="n">vertical</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
<span class="k">for</span> <span class="o">(</span><span class="n">boatType</span> <span class="o">=</span> <span class="mi">5</span><span class="o">;</span> <span class="n">boatType</span><span class="o">></span><span class="mi">0</span><span class="o">;</span> <span class="n">boatType</span><span class="o">--)</span> <span class="o">{</span>
<span class="k">while</span> <span class="o">(!</span><span class="n">done</span><span class="o">)</span> <span class="o">{</span>
<span class="n">boatSize</span> <span class="o">=</span> <span class="o">(</span><span class="n">boatType</span> <span class="o"><=</span> <span class="mi">2</span><span class="o">)?</span><span class="n">boatType</span><span class="o">+</span><span class="mi">1</span><span class="o">:</span><span class="n">boatType</span><span class="o">;</span>
<span class="k">switch</span> <span class="o">(</span><span class="n">vertical</span><span class="o">)</span> <span class="o">{</span>
<span class="k">case</span> <span class="mi">0</span><span class="o">:</span>
<span class="n">fill</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
<span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">x</span> <span class="o">=</span> <span class="n">mouseX</span> <span class="o">();</span> <span class="n">x</span> <span class="o"><=</span> <span class="n">mouseX</span><span class="o">()</span> <span class="o">+</span> <span class="n">boatSize</span><span class="o">;</span> <span class="n">x</span><span class="o">++)</span> <span class="o">{</span>
<span class="n">rect</span><span class="o">(</span><span class="n">x</span><span class="o">,</span> <span class="n">mouseY</span><span class="o">(),</span> <span class="mi">50</span><span class="o">,</span> <span class="mi">50</span><span class="o">);</span>
<span class="o">}</span>
<span class="k">break</span><span class="o">;</span>
<span class="k">case</span> <span class="mi">1</span><span class="o">:</span>
<span class="n">fill</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
<span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">y</span> <span class="o">=</span> <span class="n">mouseY</span> <span class="o">();</span> <span class="n">y</span> <span class="o"><=</span> <span class="n">mouseY</span><span class="o">()</span> <span class="o">+</span> <span class="n">boatSize</span><span class="o">;</span> <span class="n">y</span><span class="o">++)</span> <span class="o">{</span>
<span class="n">rect</span><span class="o">(</span><span class="n">mouseX</span><span class="o">(),</span> <span class="n">y</span><span class="o">,</span> <span class="mi">50</span><span class="o">,</span> <span class="mi">50</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="kt">int</span> <span class="nf">mouseX</span><span class="o">()</span> <span class="o">{</span>
<span class="k">return</span> <span class="n">mouseX</span><span class="o">/</span><span class="mi">50</span><span class="o">;</span>
<span class="o">}</span>
<span class="kt">int</span> <span class="nf">mouseY</span><span class="o">()</span> <span class="o">{</span>
<span class="k">return</span> <span class="n">mouseY</span><span class="o">/</span><span class="mi">50</span><span class="o">;</span>
<span class="o">}</span>
<span class="kt">void</span> <span class="nf">mouseWheel</span><span class="o">()</span> <span class="o">{</span>
<span class="n">vertical</span> <span class="o">=</span> <span class="o">(</span><span class="n">vertical</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)?</span><span class="mi">1</span><span class="o">:</span><span class="mi">0</span><span class="o">;</span>
<span class="o">}</span>
<span class="kt">void</span> <span class="nf">initialisation</span><span class="o">(){</span>
<span class="k">for</span> <span class="o">(</span><span class="n">boatType</span> <span class="o">=</span> <span class="mi">1</span><span class="o">;</span> <span class="n">boatType</span> <span class="o"><=</span> <span class="mi">5</span><span class="o">;</span> <span class="n">boatType</span><span class="o">++)</span> <span class="o">{</span>
<span class="kt">boolean</span> <span class="n">placed</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
<span class="k">while</span> <span class="o">(!</span><span class="n">placed</span><span class="o">)</span> <span class="o">{</span> <span class="c1">//Tant que le navire n'est pas placé, on recommence</span>
<span class="kt">boolean</span> <span class="n">boatHere</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
<span class="n">boatSize</span> <span class="o">=</span> <span class="o">(</span><span class="n">boatType</span> <span class="o"><=</span> <span class="mi">2</span><span class="o">)?</span><span class="n">boatType</span><span class="o">+</span><span class="mi">1</span><span class="o">:</span><span class="n">boatType</span><span class="o">;</span>
<span class="n">X</span> <span class="o">=</span> <span class="kt">int</span><span class="o">(</span><span class="n">random</span><span class="o">(</span><span class="mi">10</span><span class="o">));</span>
<span class="n">Y</span> <span class="o">=</span> <span class="kt">int</span><span class="o">(</span><span class="n">random</span><span class="o">(</span><span class="mi">10</span><span class="o">));</span>
<span class="n">vertical</span> <span class="o">=</span> <span class="kt">int</span><span class="o">(</span><span class="n">random</span><span class="o">(</span><span class="mi">2</span><span class="o">));</span>
<span class="k">switch</span> <span class="o">(</span><span class="n">vertical</span><span class="o">)</span> <span class="o">{</span>
<span class="k">case</span> <span class="mi">0</span><span class="o">:</span>
<span class="k">if</span> <span class="o">(</span><span class="n">X</span> <span class="o">+</span> <span class="n">boatSize</span> <span class="o"><</span> <span class="mi">10</span><span class="o">)</span> <span class="o">{</span> <span class="c1">//Vérifie que le navire passe dans la grille</span>
<span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">x</span> <span class="o">=</span> <span class="n">X</span><span class="o">;</span> <span class="n">x</span> <span class="o"><</span> <span class="n">X</span><span class="o">+</span><span class="n">boatSize</span><span class="o">;</span> <span class="n">x</span><span class="o">++)</span> <span class="o">{</span>
<span class="n">boatHere</span> <span class="o">=</span> <span class="o">(</span><span class="n">grilleEnvoye</span><span class="o">[</span><span class="n">x</span><span class="o">][</span><span class="n">Y</span><span class="o">]</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)?</span><span class="n">boatHere</span><span class="o">:</span><span class="kc">true</span><span class="o">;</span> <span class="c1">//Vérifie qu'il n'y aura pas de collision</span>
<span class="o">}</span>
<span class="k">if</span> <span class="o">(!</span><span class="n">boatHere</span><span class="o">)</span> <span class="o">{</span> <span class="c1">//Place la navire si les conditions précédentes sont bonnes, en position horizontale</span>
<span class="n">placed</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
<span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">x</span> <span class="o">=</span> <span class="n">X</span><span class="o">;</span> <span class="n">x</span> <span class="o"><</span> <span class="n">X</span><span class="o">+</span><span class="n">boatSize</span><span class="o">;</span> <span class="n">x</span><span class="o">++)</span> <span class="o">{</span>
<span class="n">grilleEnvoye</span><span class="o">[</span><span class="n">x</span><span class="o">][</span><span class="n">Y</span><span class="o">]</span> <span class="o">=</span> <span class="n">boatType</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="k">break</span><span class="o">;</span>
<span class="k">case</span> <span class="mi">1</span><span class="o">:</span>
<span class="k">if</span> <span class="o">(</span><span class="n">Y</span> <span class="o">+</span> <span class="n">boatSize</span> <span class="o"><</span> <span class="mi">10</span><span class="o">)</span> <span class="o">{</span> <span class="c1">//Vérifie que le navire passe dans la grille</span>
<span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">y</span> <span class="o">=</span> <span class="n">Y</span><span class="o">;</span> <span class="n">y</span> <span class="o"><</span> <span class="n">Y</span><span class="o">+</span><span class="n">boatSize</span><span class="o">;</span> <span class="n">y</span><span class="o">++)</span> <span class="o">{</span>
<span class="n">boatHere</span> <span class="o">=</span> <span class="o">(</span><span class="n">grilleEnvoye</span><span class="o">[</span><span class="n">X</span><span class="o">][</span><span class="n">y</span><span class="o">]</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)?</span><span class="n">boatHere</span><span class="o">:</span><span class="kc">true</span><span class="o">;</span> <span class="c1">//Vérifie qu'il n'y aura pas de collisions</span>
<span class="o">}</span>
<span class="k">if</span> <span class="o">(!</span><span class="n">boatHere</span><span class="o">)</span> <span class="o">{</span> <span class="c1">//Place le navire si les conditions précédentes sont bonnes, en position verticale</span>
<span class="n">placed</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
<span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">y</span> <span class="o">=</span> <span class="n">Y</span><span class="o">;</span> <span class="n">y</span> <span class="o"><</span> <span class="n">Y</span><span class="o">+</span><span class="n">boatSize</span><span class="o">;</span> <span class="n">y</span><span class="o">++)</span> <span class="o">{</span>
<span class="n">grilleEnvoye</span><span class="o">[</span><span class="n">X</span><span class="o">][</span><span class="n">y</span><span class="o">]</span> <span class="o">=</span> <span class="n">boatType</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="k">break</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
</pre></div>
</td></tr></table>Tutoriel sur le modèle de couleurs TSV, message #201492014-09-03T11:44:47+02:00Kje/@Kjehttps://zestedesavoir.com/forums/sujet/720/tutoriel-sur-le-modele-de-couleurs-tsv/?page=1#p20149<p>J'ai pas encore eu le temps de regarder mais pour ceux que la thématique interesse, <a href="http://colour-science.org/">un package Python entièrement dédié aux transformations colorimétriques</a> vient d’apparaître.</p>Tutoriel sur le modèle de couleurs TSV, message #196752014-09-01T00:08:03+02:00tit_toinou/@tit_toinouhttps://zestedesavoir.com/forums/sujet/720/tutoriel-sur-le-modele-de-couleurs-tsv/?page=1#p19675<p>Salut à tous,</p>
<p><a href="http://zestedesavoir.com/tutoriels/off/307/lespace-de-couleurs-teinte-saturation-et-valeur-et-conversions-tsv-rvb/?version=d8ab4d9912de8d7e363ac5f5257fbdefd68a02fa">Voici une première version de mon tutoriel en bêta.</a>
Il n'est pas fini mais c'est déjà un bon début.</p>
<p>J'ai fait le choix de ne pas donner de code tout fait RVB->TSV et TSV->RVB mais de guider au maximum le lecteur.</p>
<p>Le tutoriel présente aussi des opérations en RVB (le but du tutoriel n'est pas QUE de présenter l'espace TSV).</p>arduino.tone()??, message #192102014-08-29T08:17:13+02:00Eskimon/@Eskimonhttps://zestedesavoir.com/forums/sujet/1068/arduinotone/?page=1#p19210<p>pour ton code Arduino, il doit manquer une ligne <code>incomingByte = Serial.read();</code> au debut du if ligne 9-10 <img alt=";)" src="/static/smileys/clin.png"> (et incomingByte pourrait etre code sur un char <img alt=":)" src="/static/smileys/smile.png"> )</p>arduino.tone()??, message #191892014-08-28T23:34:25+02:00Ulic3/@Ulic3https://zestedesavoir.com/forums/sujet/1068/arduinotone/?page=1#p19189<p>Merci Remace pour l'astuce des Caractères! car…</p>
<p>Tadam !</p>
<p>Quand je parlais de conversion c'était justement ce jeu entre entier et caractère qui au final n'était fastidieux que lors d'un retour via Processing. Mais là, tout c'est fait simplement et tout marche !!</p>
<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</pre></div></td><td class="code"><div class="codehilite"><pre><span class="c1">//code Processing</span>
<span class="kn">import</span> <span class="nn">processing.serial.*</span><span class="o">;</span>
<span class="n">Serial</span> <span class="n">myPort</span><span class="o">;</span>
<span class="kt">void</span> <span class="nf">setup</span><span class="o">(){</span>
<span class="n">myPort</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Serial</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="n">Serial</span><span class="o">.</span><span class="na">list</span><span class="o">()[</span><span class="mi">0</span><span class="o">],</span> <span class="mi">9600</span><span class="o">);</span>
<span class="o">}</span>
<span class="kt">void</span> <span class="nf">draw</span><span class="o">(){</span>
<span class="kt">int</span> <span class="n">positionY</span><span class="o">=</span><span class="kt">int</span><span class="o">(</span><span class="n">map</span><span class="o">(</span><span class="n">mouseY</span><span class="o">,</span><span class="mi">100</span><span class="o">,</span><span class="mi">0</span><span class="o">,</span><span class="mi">0</span><span class="o">,</span><span class="mi">225</span><span class="o">));</span>
<span class="kt">char</span> <span class="n">outcomingByte</span><span class="o">=</span><span class="kt">char</span><span class="o">(</span><span class="n">positionY</span><span class="o">);</span>
<span class="n">myPort</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">outcomingByte</span><span class="o">);</span>
<span class="n">delay</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
<span class="o">}</span>
</pre></div>
</td></tr></table>
<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</pre></div></td><td class="code"><div class="codehilite"><pre><span class="c1">//code Arduino</span>
<span class="kt">int</span> <span class="n">incomingByte</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
<span class="kt">void</span> <span class="nf">setup</span><span class="o">()</span> <span class="o">{</span>
<span class="n">Serial</span><span class="o">.</span><span class="na">begin</span><span class="o">(</span><span class="mi">9600</span><span class="o">);</span>
<span class="o">}</span>
<span class="kt">void</span> <span class="nf">loop</span><span class="o">(){</span>
<span class="k">if</span> <span class="o">(</span><span class="n">Serial</span><span class="o">.</span><span class="na">available</span><span class="o">()</span> <span class="o">></span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
<span class="n">incomingByte</span><span class="o">=</span><span class="n">Serial</span><span class="o">.</span><span class="na">read</span><span class="o">();</span>
<span class="kt">int</span> <span class="n">note</span><span class="o">=</span><span class="mi">0</span><span class="o">;</span>
<span class="n">note</span><span class="o">=</span><span class="n">incomingByte</span><span class="o">*</span><span class="mi">20</span><span class="o">;</span>
<span class="n">tone</span><span class="o">(</span><span class="mi">9</span><span class="o">,</span><span class="n">note</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">}</span>
</pre></div>
</td></tr></table>
<p>Forcément la forme du code reste à être peaufinée et les variables ajustées mais comme il me reste une interface graphique sur processing à faire et surtout ajouter un noTone, je vais sans doute mettre tout ça dans des fonctions. En tout cas vraiment super, au lieu d'utiliser le "protocole" firmata très limité, tout semble possible <img alt=":D" src="/static/smileys/heureux.png"></p>