Skip to content
Snippets Groups Projects
Commit bd59366f authored by Erwan Jahier's avatar Erwan Jahier
Browse files

permutation des 2 premiers puzzle

parent fb650e6a
No related branches found
No related tags found
No related merge requests found
Pipeline #12917 passed
......@@ -12,6 +12,7 @@ Donnons du Lustre aux leds
file:arduino.jpg
* Introduction
Au laboratoire =Verimag=, nous cherchons à aider les ingénieurs
......@@ -69,6 +70,11 @@ automatiser la réponse à ces petits puzzles.
* Puzzle 1
- Bouton bleu : permute circulairement l'allumage des (jolies) leds
- Bouton rouge : inverse l'état de la led 5
* Puzzle 2
- Bouton bleu : permute circulairement l'allumage des (jolies) leds
- Bouton rouge : inverse l'état des leds 2 et 4
......@@ -84,10 +90,6 @@ let
tel
#+END_SRC
* Puzzle 2
- Bouton bleu : idem
- Bouton rouge : inverse l'état de la led 5
* Puzzle 3
......
......@@ -2,6 +2,24 @@ include "arduino_puzzle.lus"
const F=false;
const T=true;
const led1_0 = Eteint;
const led2_0 = Allume;
const led3_0 = Eteint;
const led4_0 = Allume;
const led5_0 = Eteint;
----------------------------------------------------------------------------
-- blue => permutation circulaire
-- red => inverse l'état de la led 5
node puzzle1 (red,blue:bool) returns (led1,led2,led3,led4,led5:bool);
let
led1 = led1_0 -> if blue then pre(led5) else pre(led1) ;
led2 = led2_0 -> if blue then pre(led1) else pre(led2) ;
led3 = led3_0 -> if blue then pre(led2) else pre(led3) ;
led4 = led4_0 -> if blue then pre(led3) else pre(led4) ;
led5 = led5_0 -> if blue then pre(led4) else
if red then not(pre(led5)) else pre(led5) ;
tel
----------------------------------------------------------------------------
----------------------------------------------------------------------------
......@@ -19,7 +37,7 @@ const led5_00 = Eteint;
----------------------------------------------------------------------------
-- bouton bleu => permutation circulaire des leds
-- bouton rouge => inverse l'état des leds 2 et 4
node puzzle1 (red,blue:bool) returns (led1,led2,led3,led4,led5:bool);
node puzzle2 (red,blue:bool) returns (led1,led2,led3,led4,led5:bool);
let
led1 = led1_00 -> if blue then pre(led5) else pre(led1) ;
led2 = led2_00 -> if blue then pre(led1) else if red then not(pre(led2))
......@@ -30,24 +48,12 @@ let
led5 = led5_00 -> if blue then pre(led4) else pre(led5) ;
tel
const led1_0 = Eteint;
const led2_0 = Allume;
const led3_0 = Eteint;
const led4_0 = Allume;
const led5_0 = Eteint;
----------------------------------------------------------------------------
-- blue => permutation circulaire
-- red => inverse l'état de la led 5
node puzzle2 (red,blue:bool) returns (led1,led2,led3,led4,led5:bool);
let
led1 = led1_0 -> if blue then pre(led5) else pre(led1) ;
led2 = led2_0 -> if blue then pre(led1) else pre(led2) ;
led3 = led3_0 -> if blue then pre(led2) else pre(led3) ;
led4 = led4_0 -> if blue then pre(led3) else pre(led4) ;
led5 = led5_0 -> if blue then pre(led4) else
if red then not(pre(led5)) else pre(led5) ;
tel
----------------------------------------------------------------------------
-- blue => permutation circulaire
-- red => inverse une led qui circule a chaque pression de boutons
......
......@@ -50,5 +50,3 @@ void loop() {
delay(50); // wait a little
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment