Voici quelques exemples de code en Python et en bloc côte-à-côte.
|
Blocs Kwyk |
Python |
Les boucles |
{"options": {"blockly": {"readOnly": true}, "blocks": {"road_forward": {"inputs": [{"fields": [{"text": "Avancer de 1 case", "type": "text"}], "align": "left", "type": "dummy_input"}], "colour": 160, "next_statement": true, "tooltip": "Avancer d'une case tout droit", "previous_statement": true}, "base_simplerepeattimes": {"colour": 120, "tooltip": "Execute une suite d'instructions un certain nombre de fois", "previous_statement": true, "compound": {"blocks": {"base_repeattimes": {"inputs": [{"fields": [{"text": "R\u00e9p\u00e9ter", "type": "text"}], "align": "left", "type": "value_input", "name": "ntimes", "check": "Number"}, {"fields": [{"text": "fois", "type": "text"}], "align": "left", "type": "dummy_input"}, {"fields": [], "align": "left", "type": "statement_input", "name": "code_repeat", "check": null}], "colour": 120, "tooltip": "Execute une suite d'instructions un certain nombre de fois", "previous_statement": true, "inline": true, "next_statement": true}, "base_numberinput": {"inputs": [{"fields": [{"default": 0.0, "type": "number_input", "name": "value"}], "align": "left", "type": "dummy_input"}], "colour": 260, "tooltip": "Fourni un nombre", "output": "Number"}}, "ast": {"type": "base_repeattimes", "ntimes": {"alias": {"value": "ntimes"}, "type": "base_numberinput"}}}, "inline": true, "next_statement": true}}}, "ast": [[{"code_repeat": [{"type": "road_forward"}], "type": "base_simplerepeattimes", "ntimes": 10.0}]]} |
for i in range(10):
avancer_de_1_case()
|
Les conditions |
{"options": {"blockly": {"readOnly": true}, "blocks": {"road_turnright": {"inputs": [{"fields": [{"text": "Tourner \u00e0 droite \u21b7", "type": "text"}], "align": "left", "type": "dummy_input"}], "colour": 160, "next_statement": true, "tooltip": "Tourner \u00e0 droite", "previous_statement": true}, "road_forward": {"inputs": [{"fields": [{"text": "Avancer de 1 case", "type": "text"}], "align": "left", "type": "dummy_input"}], "colour": 160, "next_statement": true, "tooltip": "Avancer d'une case tout droit", "previous_statement": true}, "road_surroundingcaseroad": {"colour": 210, "compound": {"blocks": {"road_surroundingcase": {"inputs": [{"fields": [{"text": "la case", "type": "text"}, {"type": "dropdown", "values": [["en face", "front"], ["\u00e0 gauche", "left"], ["\u00e0 droite", "right"], ["derri\u00e8re", "back"]], "name": "dir"}, {"text": "est", "type": "text"}, {"type": "dropdown", "values": [["une route", "road"], ["de l'herbe", "grass"]], "name": "case_type"}], "align": "left", "type": "dummy_input"}], "colour": 210, "inline": true, "tooltip": "Test le type d'une case autour de la position courante", "output": "Boolean"}}, "ast": {"case_type": "road", "type": "road_surroundingcase"}}, "tooltip": "Test le type d'une case autour de la position courante est une route", "output": "Boolean", "inline": true}, "base_if": {"inputs": [{"fields": [{"text": "Si", "type": "text"}], "align": "left", "type": "value_input", "name": "cond", "check": "Boolean"}, {"fields": [], "align": "left", "type": "statement_input", "name": "code_if", "check": null}], "colour": 210, "next_statement": true, "tooltip": "Execute une suite d'instructions si une condition est v\u00e9rifi\u00e9", "previous_statement": true}, "base_simplerepeattimes": {"colour": 120, "tooltip": "Execute une suite d'instructions un certain nombre de fois", "previous_statement": true, "compound": {"blocks": {"base_repeattimes": {"inputs": [{"fields": [{"text": "R\u00e9p\u00e9ter", "type": "text"}], "align": "left", "type": "value_input", "name": "ntimes", "check": "Number"}, {"fields": [{"text": "fois", "type": "text"}], "align": "left", "type": "dummy_input"}, {"fields": [], "align": "left", "type": "statement_input", "name": "code_repeat", "check": null}], "colour": 120, "tooltip": "Execute une suite d'instructions un certain nombre de fois", "previous_statement": true, "inline": true, "next_statement": true}, "base_numberinput": {"inputs": [{"fields": [{"default": 0.0, "type": "number_input", "name": "value"}], "align": "left", "type": "dummy_input"}], "colour": 260, "tooltip": "Fourni un nombre", "output": "Number"}}, "ast": {"type": "base_repeattimes", "ntimes": {"alias": {"value": "ntimes"}, "type": "base_numberinput"}}}, "inline": true, "next_statement": true}}}, "ast": [[{"code_repeat": [{"type": "road_forward"}, {"code_if": [{"type": "road_turnright"}], "cond": {"type": "road_surroundingcaseroad", "dir": "right"}, "type": "base_if"}], "type": "base_simplerepeattimes", "ntimes": 20.0}]]} |
for i in range(20):
avancer_de_1_case()
if case_est_une_route("droite"):
tourner_a_droite()
|
Les variables |
{"options": {"blockly": {"readOnly": true}, "blocks": {"base_setvar": {"inputs": [{"fields": [{"text": "mettre", "type": "text"}, {"default": "x", "type": "variable", "name": "var_name"}, {"text": "\u00e0", "type": "text"}], "align": "left", "type": "value_input", "name": "value", "check": null}], "colour": 330, "next_statement": true, "tooltip": "Affecter une valeur \u00e0 une variable", "previous_statement": true}, "base_numberinput": {"inputs": [{"fields": [{"default": 0.0, "type": "number_input", "name": "value"}], "align": "left", "type": "dummy_input"}], "colour": 260, "tooltip": "Fourni un nombre", "output": "Number"}}}, "ast": [[{"var_name": "essence", "type": "base_setvar", "value": {"type": "base_numberinput", "value": 20.0}}]]} |
|
Les fonctions |
{"options": {"blockly": {"readOnly": true}, "blocks": {"DefForwardN": {"specific_instance_data": {"show_in_toolbox": true, "function_call_block": ["function_DefForwardN", {"inputs": [{"fields": [{"text": "Avancer de", "type": "text"}], "align": "left", "type": "value_input", "name": "arg_0", "check": null}, {"fields": [{"text": "cases", "type": "text"}], "align": "left", "type": "dummy_input"}], "colour": 160, "inline": true, "next_statement": true, "previous_statement": true}]}, "colour": 160, "is_function_def": true, "compound": {"blocks": {"TitleDef_DefForwardN": {"inputs": [{"fields": [{"text": "Avancer de", "type": "text"}, {"default": "N", "type": "variable", "name": "arg_0"}, {"text": "cases", "type": "text"}], "align": "left", "type": "dummy_input"}], "colour": 160, "output": true}, "GenericFunction": {"inputs": [{"fields": [{"text": "Fonction \u00ab", "type": "text"}], "align": "left", "type": "value_input", "name": "fn_def", "check": null}, {"fields": [{"text": "\u00bb", "type": "text"}], "align": "left", "type": "dummy_input"}, {"fields": [], "align": "left", "type": "statement_input", "name": "code_fn", "check": null}], "colour": 65, "specific_instance_data": {"show_in_toolbox": true, "function_call_block": {}}, "is_function_def": true, "inline": true}}, "ast": {"type": "GenericFunction", "fn_def": {"type": "TitleDef_DefForwardN"}}}, "inline": true}, "base_repeattimes": {"inputs": [{"fields": [{"text": "R\u00e9p\u00e9ter", "type": "text"}], "align": "left", "type": "value_input", "name": "ntimes", "check": "Number"}, {"fields": [{"text": "fois", "type": "text"}], "align": "left", "type": "dummy_input"}, {"fields": [], "align": "left", "type": "statement_input", "name": "code_repeat", "check": null}], "colour": 120, "tooltip": "Execute une suite d'instructions un certain nombre de fois", "previous_statement": true, "inline": true, "next_statement": true}, "road_forward": {"inputs": [{"fields": [{"text": "Avancer de 1 case", "type": "text"}], "align": "left", "type": "dummy_input"}], "colour": 160, "next_statement": true, "tooltip": "Avancer d'une case tout droit", "previous_statement": true}, "base_varvalue": {"inputs": [{"fields": [{"default": "x", "type": "variable", "name": "var_name"}], "align": "left", "type": "dummy_input"}], "colour": 330, "tooltip": "Fourni la valeur d'une variable", "output": true}}}, "ast": [[{"arg_0": "N", "code_fn": [{"code_repeat": [{"type": "road_forward"}], "type": "base_repeattimes", "ntimes": {"var_name": "N", "type": "base_varvalue"}}], "type": "DefForwardN"}]]} |
def avancer_cases(N):
for i in range(N):
avancer_de_1_case()
|