<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wikidot="http://www.wikidot.com/rss-namespace">

	<channel>
		<title>onevent buttons / prox</title>
		<link>http://aseba.wikidot.com/forum/t-10197601/onevent-buttons-prox</link>
		<description>Posts in the discussion thread &quot;onevent buttons / prox&quot; - Les instructions dans un &#039;onevent buttons&#039; exécutées bien qu&#039;aucun bouton ne soit appuyé. Conseils pour programmer une machine d&#039;états finis.</description>
				<copyright></copyright>
		<lastBuildDate>Thu, 11 Jun 2026 06:56:44 +0000</lastBuildDate>
		
					<item>
				<guid>http://aseba.wikidot.com/forum/t-10197601#post-4143064</guid>
				<title>Re: onevent buttons / prox</title>
				<link>http://aseba.wikidot.com/forum/t-10197601/onevent-buttons-prox#post-4143064</link>
				<description></description>
				<pubDate>Tue, 05 Feb 2019 21:59:26 +0000</pubDate>
				<wikidot:authorName>riedo</wikidot:authorName>				<wikidot:authorUserId>875981</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>bonjour,</p> <p>dans votre premier exemple, il y a d'abord une partie exécutée au démarrage (avant tout événement) puis une partie exécutée a l'événement buttons: celui-ci est un événement régulier, déclenché chaque fois que la valeur des boutons est mise à jour, à 20&#160;Hz, même si aucun bouton n'est appuyé. c'est pour ça que votre code est exécuté. Les évenements button.forward, button.backward, button.center, button.left, button.right quant à eux ne sont déclenchés que lors d'un changement d'état sur le bouton correspondant.</p> <p>vous pouvez charger la fiche de référence (entre autre) avec les occurences de tous les événements ici:<br /> <a href="https://aseba.wdfiles.com/local--files/fr:asebausermanual/ThymioCheatSheet_fr.pdf">https://aseba.wdfiles.com/local--files/fr:asebausermanual/ThymioCheatSheet_fr.pdf</a></p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://aseba.wikidot.com/forum/t-10197601#post-4142784</guid>
				<title>onevent buttons / prox</title>
				<link>http://aseba.wikidot.com/forum/t-10197601/onevent-buttons-prox#post-4142784</link>
				<description></description>
				<pubDate>Tue, 05 Feb 2019 17:54:47 +0000</pubDate>
				<wikidot:authorName>Eric_vA</wikidot:authorName>				<wikidot:authorUserId>5165025</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Bonjour,</p> <p>Pourquoi, sans qu'un événement &quot;boutons&quot; apparaisse, les instructions comprises dans un tel bloc sont exécutées ? A titre d'exemple, je suis très surpris des valeurs des variables affichées dans le code ci-après :</p> <div class="code"> <pre><code>var a = 0 var b = 0 var c = 0 var k =0 k = k + 1 onevent buttons a = a + 1 when prox.horizontal[2] &gt; 2000 do b = b + 1 end onevent tap c = c + 1</code></pre></div> <p>Certes ce code est provoquant et devrait logiquement commencer par un 'onevent prox'. La raison est que je me pose la question de la &quot;meilleure&quot; façon de décrire une machine d'états finis sous Aseba (pour l'enseignement au niveau gymnase). Le passage d'un état à un autre pouvant provenir d'un événement 'prox' ou 'tap' ou autre&#8230;</p> <p>Le code de l'exemple ci-après est-il judicieux, ou faudrait-il faire différemment ?</p> <div class="code"> <pre><code>var state = 0 #le comportement de chaque état sub update if state == 0 then call leds.top(32,0,0) else call leds.top(0,32,0) end #fin du comportement onevent prox callsub update when prox.horizontal[2] &gt; 2000 do state = 0 end onevent buttons callsub update # celui ci serait inutile... when button.forward == 1 do state = 1 end onevent tap callsub update state = 0</code></pre></div> 
				 	]]>
				</content:encoded>							</item>
				</channel>
</rss>