Un algorithme peut être déclenché par des événements. Alors que les précédents algorithmes démarraient
automatiquement, dans cette séquence des événements externes vont permettre de faire déplacer le véhicule.
Le bloc {"options": {"blockly": {"readOnly": true}, "blocks": {"road_onkeyup": {"inputs": [{"fields": [{"text": "Lorsque la touche \u2b06 est press\u00e9e", "type": "text"}], "align": "left", "type": "dummy_input"}], "creatable": false, "colour": 65, "on_event": "on_key_up", "next_statement": true}}}, "ast": [[{"type": "road_onkeyup"}]]} exécute les blocs qui le suivent dès que la touche "flèche du haut" est pressée sur le clavier.
Modifier l'algorithme suivant pour que le véhicule avance d'une case dès que la "flèche du haut" est pressée.
Le véhicule doit arriver devant l'arrivée lorsque l'on appuie 3 fois sur la touche.
{"environment": "road", "map": [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0, 0, 0, 0, 0]], "move_duration": 400, "rotation_duration": 200, "start_direction": 2, "timeout": 100, "boat_start_direction": null, "keys": ["up"], "event_test_cases": ["on_key_up", "on_key_up", "on_key_up"]}