-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path_history
1 lines (1 loc) · 40.7 KB
/
_history
1
{"entries":[{"timestamp":1736305809593,"editorVersion":"7.0.57","changes":[{"type":"edited","filename":"main.blocks","patch":[{"diffs":[[0,"http"],[-1,"s"],[0,"://"],[-1,"developers.google.com/blockly/xml\"><variables></variables>"],[1,"www.w3.org/1999/xhtml\">\n "],[0,"<blo"]],"start1":12,"start2":12,"length1":70,"length2":37},{"diffs":[[0,"art\""],[-1," x=\"0\" y=\"0\""],[0,"></b"]],"start1":67,"start2":67,"length1":20,"length2":8},{"diffs":[[0,"</block>"],[1,"\n "],[0,"<block t"]],"start1":72,"start2":72,"length1":16,"length2":19},{"diffs":[[0,"ver\""],[-1," x=\"205\" y=\"0\""],[0,"></b"]],"start1":107,"start2":107,"length1":22,"length2":8},{"diffs":[[0,"</block>"],[1,"\n"],[0,"</xml>"]],"start1":112,"start2":112,"length1":14,"length2":15}]},{"type":"edited","filename":"main.ts","patch":[{"diffs":[[-1,"basic.forever(function on_forever() {\n \n})"],[0,"\n"]],"start1":0,"start2":0,"length1":46,"length2":1}]},{"type":"edited","filename":"pxt.json","patch":[{"diffs":[[0,".md\""],[-1,",\n \"main.py\"\n ],\n \"preferredEditor\": \"pyprj\""],[1,"\n ],\n \"additionalFilePaths\": []"],[0,"\n}\n"]],"start1":225,"start2":225,"length1":64,"length2":44}]},{"type":"added","filename":"main.py","value":"def on_forever():\n pass\nbasic.forever(on_forever)\n"}]},{"timestamp":1736306394685,"editorVersion":"7.0.57","changes":[{"type":"edited","filename":"main.ts","patch":[{"diffs":[[0,") {\n"],[-1," if (Tinybit.Line_Sensor(Tinybit.enPos.LeftState, Tinybit.enLineState.White) && Tinybit.Line_Sensor(Tinybit.enPos.RightState, Tinybit.enLineState.White)) {\n Tinybit.CarCtrlSpeed(Tinybit.CarState.Car_Run, 120)\n } else if (Tinybit.Line_Sensor(Tinybit.enPos.LeftState, Tinybit.enLineState.White) && Tinybit.Line_Sensor(Tinybit.enPos.RightState, Tinybit.enLineState.Black)) {\n Tinybit.CarCtrlSpeed(Tinybit.CarState.Car_SpinRight, 60)\n } else if (Tinybit.Line_Sensor(Tinybit.enPos.LeftState, Tinybit.enLineState.Black) && Tinybit.Line_Sensor(Tinybit.enPos.RightState, Tinybit.enLineState.White)) {\n Tinybit.CarCtrlSpeed(Tinybit.CarState.Car_SpinLeft, 60)\n } else {\n Tinybit.CarCtrlSpeed(Tinybit.CarState.Car_Stop, 0)\n music.setVolume(40)\n music.play(music.stringPlayable(\"C5 F C5 F C5 F C5 F \", 120), music.PlaybackMode.UntilDone)\n basic.showString(\"SOS\")\n }\n"],[0," "]],"start1":34,"start2":34,"length1":926,"length2":8}]},{"type":"edited","filename":"pxt.json","patch":[{"diffs":[[0," \"*\""],[-1,",\n \"Tinybit\": \"github:YahboomTechnology/Tiny-bitLib#v2.0.3\""],[0,"\n "]],"start1":141,"start2":141,"length1":74,"length2":8}]},{"type":"edited","filename":"main.py","patch":[{"diffs":[[0," "],[-1,"if Tinybit.Line_Sensor(Tinybit.enPos.LEFT_STATE, Tinybit.enLineState.WHITE) and Tinybit.Line_Sensor(Tinybit.enPos.RIGHT_STATE, Tinybit.enLineState.WHITE):\n Tinybit.car_ctrl_speed(Tinybit.CarState.CAR_RUN, 120)\n elif Tinybit.Line_Sensor(Tinybit.enPos.LEFT_STATE, Tinybit.enLineState.WHITE) and Tinybit.Line_Sensor(Tinybit.enPos.RIGHT_STATE, Tinybit.enLineState.BLACK):\n Tinybit.car_ctrl_speed(Tinybit.CarState.CAR_SPINRIGHT, 60)\n elif Tinybit.Line_Sensor(Tinybit.enPos.LEFT_STATE, Tinybit.enLineState.BLACK) and Tinybit.Line_Sensor(Tinybit.enPos.RIGHT_STATE, Tinybit.enLineState.WHITE):\n Tinybit.car_ctrl_speed(Tinybit.CarState.CAR_SPINLEFT, 60)\n else:\n Tinybit.car_ctrl_speed(Tinybit.CarState.CAR_STOP, 0)\n music.set_volume(40)\n music.play(music.string_playable(\"C5 F C5 F C5 F C5 F \", 120),\n music.PlaybackMode.UNTIL_DONE)\n basic.show_string(\"SOS\")"],[1,"pass"],[0,"\nbas"]],"start1":18,"start2":18,"length1":926,"length2":12},{"diffs":[[0,"forever)"],[1,"\n"]],"start1":44,"start2":44,"length1":8,"length2":9}]}]},{"timestamp":1736306518048,"editorVersion":"7.0.57","changes":[{"type":"edited","filename":"main.blocks","patch":[{"diffs":[[0,"pe=\""],[-1,"device_forever\" x=\"20\" y=\"20\"><statement name=\"HANDLER\"><block type=\"controls_if\"><mutation elseif=\"2\" else=\"1\"></mutation><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value></block></value><statement name=\"DO0\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_Run</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">120</field></shadow></value></block></statement><value name=\"IF1\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.Black</field></block></value></block></value><statement name=\"DO1\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_SpinRight</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">60</field></shadow></value></block></statement><value name=\"IF2\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.Black</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value></block></value><statement name=\"DO2\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_SpinLeft</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">60</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_Stop</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">0</field></shadow></value><next><block type=\"synth_set_volume\"><value name=\"volume\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">40</field></shadow></value><next><block type=\"music_playable_play\"><field name=\"playbackMode\">music.PlaybackMode.UntilDone</field><value name=\"toPlay\"><shadow type=\"music_string_playable\"><value name=\"melody\"><shadow type=\"melody_editor\"><field name=\"melody\">\"C5 F C5 F C5 F C5 F \"</field></shadow></value><value name=\"bpm\"><shadow type=\"math_number_minmax\"><mutation min=\"40\" max=\"500\" precision=\"0\"></mutation><field name=\"SLIDER\">120</field></shadow></value></shadow></value><next><block type=\"device_print_message\"><value name=\"text\"><shadow type=\"text\"><field name=\"TEXT\">SOS</field></shadow></value></block></next></block></next></block></next></block></statement></block></statement"],[1,"pxt-on-start\" x=\"0\" y=\"0\"></block><block type=\"device_forever\" x=\"205\" y=\"0\""],[0,"></b"]],"start1":87,"start2":87,"length1":4041,"length2":84}]},{"type":"edited","filename":"main.py","patch":[{"diffs":[[0,"forever)"],[-1,"\n"]],"start1":958,"start2":958,"length1":9,"length2":8}]}]},{"timestamp":1736307268328,"editorVersion":"7.0.57","changes":[{"type":"edited","filename":"pxt.json","patch":[{"diffs":[[0,"itor\": \""],[-1,"blocks"],[1,"py"],[0,"prj\"\n}\n"]],"start1":338,"start2":338,"length1":21,"length2":17}]}]},{"timestamp":1736307270504,"editorVersion":"7.0.57","changes":[{"type":"edited","filename":"main.blocks","patch":[{"diffs":[[0,"ck><"],[-1,"block type=\"function_definition\" x=\"1563\" y=\"20\"><mutation name=\"testFunction\" functionid=\"f#1mT{^y5aZ#6r;`/`yZ\"></mutation><field name=\"function_name\">testFunction</field><statement name=\"STACK\"><block type=\"typescript_statement\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" line0=\"console.log("hello")\" numlines=\"1\"></mutation></block></statement></block><"],[0,"/xml"]],"start1":4130,"start2":4130,"length1":378,"length2":8}]},{"type":"edited","filename":"main.ts","patch":[{"diffs":[[-1,"function testFunction() {\n console.log(\"hello\")\n}\n\n"],[0,"basi"]],"start1":0,"start2":0,"length1":58,"length2":4}]},{"type":"edited","filename":"pxt.json","patch":[{"diffs":[[0,"itor\": \""],[-1,"py"],[1,"blocks"],[0,"prj\"\n}\n"]],"start1":338,"start2":338,"length1":17,"length2":21}]},{"type":"edited","filename":"main.py","patch":[{"diffs":[[-1,"def testFunction():\n print(\"hello\")\n\n\n\n"],[0,"def "]],"start1":0,"start2":0,"length1":46,"length2":4}]}]},{"timestamp":1736307898188,"editorVersion":"7.0.57","changes":[{"type":"edited","filename":"main.py","patch":[{"diffs":[[0,"ello\")\n\n"],[-1,"a"],[0,"\n\ndef on"]],"start1":32,"start2":32,"length1":17,"length2":16}]}]},{"timestamp":1736307898486,"editorVersion":"7.0.57","changes":[{"type":"edited","filename":"main.blocks","patch":[{"diffs":[[0,"es><"],[-1,"variable id=\",tnYZt[qRCV2y=EA]%%;\">a</variable><variable id=\";,Cz??:7pa9@I=yK3V13\">b</variable><variable id=\"ci]i`4`$QI2S]m?-.kav\">c</variable><variable id=\"djnY)(Pi?|Ixf=xB%]C%\">d</variable><"],[0,"/var"]],"start1":63,"start2":63,"length1":200,"length2":8},{"diffs":[[0," x=\""],[1,"2"],[0,"0\" y=\""],[1,"2"],[0,"0\"><"]],"start1":106,"start2":106,"length1":14,"length2":16},{"diffs":[[0,"d name=\"SLIDER\">"],[-1,"5"],[1,"12"],[0,"0</field></shado"]],"start1":1077,"start2":1077,"length1":33,"length2":34},{"diffs":[[0,"d name=\"SLIDER\">"],[-1,"81"],[1,"40"],[0,"</field></shadow"]],"start1":3419,"start2":3419,"length1":34,"length2":34},{"diffs":[[0,"nt><"],[-1,"next><block type=\"controls_if\"><mutation elseif=\"2\" else=\"1\"></mutation><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_compare\"><field name=\"OP\">GTE</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\" id=\",tnYZt[qRCV2y=EA]%%;\">a</field></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">20</field></shadow></value></block></value><statement name=\"DO0\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_Stop</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">0</field></shadow></value><next><block type=\"synth_set_volume\"><value name=\"volume\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\""],[1,"/block></statement></block><block type=\"function_definition\" x=\"1563\" y=\"2"],[0,"0\"><"],[-1,"/"],[0,"mutation"],[-1,"><field name=\"SLIDER\">81</field></shadow></value><next><block type=\"music_playable_play\"><field name=\"playbackMode\">music.PlaybackMode.UntilDone</field><value name=\"toPlay\"><shadow type=\"music_string_playable\"><value name=\"melody\"><shadow type=\"melody_editor\"><field name=\"melody\">\"C5 F C5 F C5 F C5 F \"</field></shadow></value><value name=\"bpm\"><shadow type=\"math_number_minmax\"><mutation min=\"40\" max=\"500\" precision=\"0\"></mutation><field name=\"SLIDER\">120</field></shadow></value></shadow></value><next><block type=\"device_print_message\"><value name=\"text\"><shadow type=\"text\"><field name=\"TEXT\">SOS</field></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\",tnYZt[qRCV2y=EA]%%;\">a</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></next></block></next></block></next></block></next></block></statement><value name=\"IF1\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_compare\"><field name=\"OP\">GTE</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\" id=\";,Cz??:7pa9@I=yK3V13\">b</field></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">5</field></shadow></value></block></value><statement name=\"DO1\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_SpinRight</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">60</field></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\";,Cz??:7pa9@I=yK3V13\">b</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></next></block></statement><value name=\"IF2\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_compare\"><field name=\"OP\">GTE</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\" id=\"ci]i`4`$QI2S]m?-.kav\">c</field></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">5</field></shadow></value></block></value><statement name=\"DO2\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_SpinLeft</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">60</field></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\"ci]i`4`$QI2S]m?-.kav\">c</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></next></block></statement><statement name=\"ELSE\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_Run</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">50</field></shadow></value></block></statement></block></next></block></statement></block><block type=\"every_interval\" x=\"1543\" y=\"0\"><value name=\"interval\"><shadow type=\"longTimePicker\"><field name=\"ms\">500</field></shadow></value><statement name=\"HANDLER\"><block type=\"controls_if\"><mutation elseif=\"2\" else=\"1\"></mutation><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value></block></value><statement name=\"DO0\"><block type=\"variables_change\"><field name=\"VAR\" id=\",tnYZt[qRCV2y=EA]%%;\">a</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></statement><value name=\"IF1\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.Black</field></block></value></block></value><statement name=\"DO1\"><block type=\"variables_change\"><field name=\"VAR\" id=\";,Cz??:7pa9@I=yK3V13\">b</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></statement><value name=\"IF2\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.Black</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value></block></value><statement name=\"DO2\"><block type=\"variables_change\"><field name=\"VAR\" id=\"ci]i`4`$QI2S]m?-.kav\">c</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"variables_change\"><field name=\"VAR\" id=\"djnY)(Pi?|Ixf=xB%]C%\">d</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></statement"],[1," name=\"testFunction\" functionid=\"f#1mT{^y5aZ#6r;`/`yZ\"></mutation><field name=\"function_name\">testFunction</field><statement name=\"STACK\"><block type=\"typescript_statement\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" line0=\"console.log("hello")\" numlines=\"1\"></mutation"],[0,"></b"]],"start1":4102,"start2":4102,"length1":6962,"length2":376}]},{"type":"edited","filename":"main.ts","patch":[{"diffs":[[-1,"let timeInterval = 500\n// ms\nlet a = 0\nlet b = 0\nlet c = 0\nlet d = 0\nloops.everyInterval(timeInterval, function on_every_interval() {\n \n if (Tinybit.Line_Sensor(Tinybit.enPos.LeftState, Tinybit.enLineState.White) && Tinybit.Line_Sensor(Tinybit.enPos.RightState, Tinybit.enLineState.White)) {\n a += 1\n } else if (Tinybit.Line_Sensor(Tinybit.enPos.LeftState, Tinybit.enLineState.White) && Tinybit.Line_Sensor(Tinybit.enPos.RightState, Tinybit.enLineState.Black)) {\n b += 1\n } else if (Tinybit.Line_Sensor(Tinybit.enPos.LeftState, Tinybit.enLineState.Black) && Tinybit.Line_Sensor(Tinybit.enPos.RightState, Tinybit.enLineState.White)) {\n c += 1\n } else {\n d += 1\n }\n \n})"],[1,"function testFunction() {\n console.log(\"hello\")\n}\n"],[0,"\nbas"]],"start1":0,"start2":0,"length1":720,"length2":57},{"diffs":[[0,"ver() {\n"],[-1," \n"],[0," if ("]],"start1":84,"start2":84,"length1":21,"length2":16},{"diffs":[[0,"rState.Car_Run, "],[-1,"5"],[1,"12"],[0,"0)\n } else if"]],"start1":290,"start2":290,"length1":33,"length2":34},{"diffs":[[0,"music.setVolume("],[-1,"81"],[1,"40"],[0,")\n music."]],"start1":852,"start2":852,"length1":34,"length2":34},{"diffs":[[0,"Mode.UntilDone)\n"],[1,""],[0," basic.sh"]],"start1":956,"start2":956,"length1":32,"length2":32},{"diffs":[[0," \n"],[-1," if (a >= 20) {\n Tinybit.CarCtrlSpeed(Tinybit.CarState.Car_Stop, 0)\n music.setVolume(81)\n music.play(music.stringPlayable(\"C5 F C5 F C5 F C5 F \", 120), music.PlaybackMode.UntilDone)\n basic.showString(\"SOS\")\n a = 0\n } else if (b >= 5) {\n Tinybit.CarCtrlSpeed(Tinybit.CarState.Car_SpinRight, 60)\n b = 0\n } else if (c >= 5) {\n Tinybit.CarCtrlSpeed(Tinybit.CarState.Car_SpinLeft, 60)\n c = 0\n } else {\n Tinybit.CarCtrlSpeed(Tinybit.CarState.Car_Run, 50)\n }\n \n"],[0,"})\n"]],"start1":1011,"start2":1011,"length1":549,"length2":7}]},{"type":"edited","filename":"main.py","patch":[{"diffs":[[-1,"timeInterval = 500 #ms\n\n\na = 0\nb = 0\nc = 0\nd = 0\n\ndef on_every_interval():\n global a, b, c, d\n if Tinybit.Line_Sensor(Tinybit.enPos.LEFT_STATE, Tinybit.enLineState.WHITE) and Tinybit.Line_Sensor(Tinybit.enPos.RIGHT_STATE, Tinybit.enLineState.WHITE):\n a += 1\n elif Tinybit.Line_Sensor(Tinybit.enPos.LEFT_STATE, Tinybit.enLineState.WHITE) and Tinybit.Line_Sensor(Tinybit.enPos.RIGHT_STATE, Tinybit.enLineState.BLACK):\n b += 1\n elif Tinybit.Line_Sensor(Tinybit.enPos.LEFT_STATE, Tinybit.enLineState.BLACK) and Tinybit.Line_Sensor(Tinybit.enPos.RIGHT_STATE, Tinybit.enLineState.WHITE):\n c += 1\n else:\n d += 1\nloops.every_interval(timeInterval, on_every_interval)\n\ndef on_forever():\n global a, b, c"],[1,"def testFunction():\n print(\"hello\")\n\na\n\ndef on_forever():"],[0,"\n "]],"start1":0,"start2":0,"length1":743,"length2":64},{"diffs":[[0,"AR_RUN, "],[-1,"5"],[1,"12"],[0,"0)\n e"]],"start1":269,"start2":269,"length1":17,"length2":18},{"diffs":[[0,"usic.set_volume("],[-1,"81"],[1,"40"],[0,")\n music."]],"start1":817,"start2":817,"length1":34,"length2":34},{"diffs":[[0,"S\")\n"],[-1," if a >= 20:\n Tinybit.car_ctrl_speed(Tinybit.CarState.CAR_STOP, 0)\n music.set_volume(81)\n music.play(music.string_playable(\"C5 F C5 F C5 F C5 F \", 120),\n music.PlaybackMode.UNTIL_DONE)\n basic.show_string(\"SOS\")\n a = 0\n elif b >= 5:\n Tinybit.car_ctrl_speed(Tinybit.CarState.CAR_SPINRIGHT, 60)\n b = 0\n elif c >= 5:\n Tinybit.car_ctrl_speed(Tinybit.CarState.CAR_SPINLEFT, 60)\n c = 0\n else:\n Tinybit.car_ctrl_speed(Tinybit.CarState.CAR_RUN, 50)\n"],[0,"basi"]],"start1":980,"start2":980,"length1":541,"length2":8}]}]},{"timestamp":1736308456401,"editorVersion":"7.0.57","changes":[{"type":"edited","filename":"main.blocks","patch":[{"diffs":[[0,"iables><"],[1,"block type=\"device_forever\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"controls_if\"><mutation elseif=\"2\" else=\"1\"></mutation><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value></block></value><statement name=\"DO0\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_Run</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">50</field></shadow></value></block></statement><value name=\"IF1\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.Black</field></block></value></block></value><statement name=\"DO1\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_SpinRight</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">60</field></shadow></value></block></statement><value name=\"IF2\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.Black</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value></block></value><statement name=\"DO2\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_SpinLeft</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">60</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_Stop</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">0</field></shadow></value><next><block type=\"synth_set_volume\"><value name=\"volume\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">81</field></shadow></value><next><block type=\"music_playable_play\"><field name=\"playbackMode\">music.PlaybackMode.UntilDone</field><value name=\"toPlay\"><shadow type=\"music_string_playable\"><value name=\"melody\"><shadow type=\"melody_editor\"><field name=\"melody\">\"C5 F C5 F C5 F C5 F \"</field></shadow></value><value name=\"bpm\"><shadow type=\"math_number_minmax\"><mutation min=\"40\" max=\"500\" precision=\"0\"></mutation><field name=\"SLIDER\">120</field></shadow></value></shadow></value><next><block type=\"device_print_message\"><value name=\"text\"><shadow type=\"text\"><field name=\"TEXT\">SOS</field></shadow></value></block></next></block></next></block></next></block></statement><next><block type=\"controls_if\"><mutation elseif=\"2\" else=\"1\"></mutation><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_compare\"><field name=\"OP\">GTE</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\" id=\",tnYZt[qRCV2y=EA]%%;\">a</field></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">20</field></shadow></value></block></value><statement name=\"DO0\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_Stop</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">0</field></shadow></value><next><block type=\"synth_set_volume\"><value name=\"volume\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">81</field></shadow></value><next><block type=\"music_playable_play\"><field name=\"playbackMode\">music.PlaybackMode.UntilDone</field><value name=\"toPlay\"><shadow type=\"music_string_playable\"><value name=\"melody\"><shadow type=\"melody_editor\"><field name=\"melody\">\"C5 F C5 F C5 F C5 F \"</field></shadow></value><value name=\"bpm\"><shadow type=\"math_number_minmax\"><mutation min=\"40\" max=\"500\" precision=\"0\"></mutation><field name=\"SLIDER\">120</field></shadow></value></shadow></value><next><block type=\"device_print_message\"><value name=\"text\"><shadow type=\"text\"><field name=\"TEXT\">SOS</field></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\",tnYZt[qRCV2y=EA]%%;\">a</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></next></block></next></block></next></block></next></block></statement><value name=\"IF1\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_compare\"><field name=\"OP\">GTE</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\" id=\";,Cz??:7pa9@I=yK3V13\">b</field></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">5</field></shadow></value></block></value><statement name=\"DO1\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_SpinRight</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">60</field></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\";,Cz??:7pa9@I=yK3V13\">b</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></next></block></statement><value name=\"IF2\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_compare\"><field name=\"OP\">GTE</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\" id=\"ci]i`4`$QI2S]m?-.kav\">c</field></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">5</field></shadow></value></block></value><statement name=\"DO2\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_SpinLeft</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">60</field></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\"ci]i`4`$QI2S]m?-.kav\">c</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></next></block></statement><statement name=\"ELSE\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_Run</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">50</field></shadow></value></block></statement></block></next></block></statement></block><block type=\"every_interval\" x=\"1543\" y=\"0\"><value name=\"interval\"><shadow type=\"longTimePicker\"><field name=\"ms\">500</field></shadow></value><statement name=\"HANDLER\"><block type=\"controls_if\"><mutation elseif=\"2\" else=\"1\"></mutation><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value></block></value><statement name=\"DO0\"><block type=\"variables_change\"><field name=\"VAR\" id=\",tnYZt[qRCV2y=EA]%%;\">a</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></statement><value name=\"IF1\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.Black</field></block></value></block></value><statement name=\"DO1\"><block type=\"variables_change\"><field name=\"VAR\" id=\";,Cz??:7pa9@I=yK3V13\">b</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></statement><value name=\"IF2\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.Black</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value></block></value><statement name=\"DO2\"><block type=\"variables_change\"><field name=\"VAR\" id=\"ci]i`4`$QI2S]m?-.kav\">c</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"variables_change\"><field name=\"VAR\" id=\"djnY)(Pi?|Ixf=xB%]C%\">d</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></statement></block></statement></block><"],[0,"/xml>"]],"start1":263,"start2":263,"length1":13,"length2":11021}]},{"type":"edited","filename":"pxt.json","patch":[{"diffs":[[0,"line"],[-1,"FuckingTracing"],[1,"TracerTest"],[0,"\",\n "]],"start1":15,"start2":15,"length1":22,"length2":18},{"diffs":[[0," ],\n"],[-1," \"testFiles\": [\n \"test.ts\"\n ],\n"],[0," "]],"start1":318,"start2":318,"length1":52,"length2":8}]},{"type":"added","filename":"test.ts","value":"// テストはここに来ます。このパッケージが拡張機能として使用されるときにはコンパイルされません。\n"}]}],"snapshots":[{"timestamp":1736305809592,"editorVersion":"7.0.57","text":{"main.blocks":"<xml xmlns=\"http://www.w3.org/1999/xhtml\">\n <block type=\"pxt-on-start\"></block>\n <block type=\"device_forever\"></block>\n</xml>","main.ts":"\n","README.md":"","pxt.json":"{\n \"name\": \"lineTracerTest\",\n \"description\": \"\",\n \"dependencies\": {\n \"core\": \"*\",\n \"radio\": \"*\",\n \"microphone\": \"*\"\n },\n \"files\": [\n \"main.blocks\",\n \"main.ts\",\n \"README.md\"\n ],\n \"additionalFilePaths\": []\n}\n"}},{"timestamp":1736307748300,"editorVersion":"7.0.57","text":{"main.blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables></variables><block type=\"device_forever\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"controls_if\"><mutation elseif=\"2\" else=\"1\"></mutation><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value></block></value><statement name=\"DO0\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_Run</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">120</field></shadow></value></block></statement><value name=\"IF1\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.Black</field></block></value></block></value><statement name=\"DO1\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_SpinRight</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">60</field></shadow></value></block></statement><value name=\"IF2\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"logic_operation\"><field name=\"OP\">AND</field><value name=\"A\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.LeftState</field><field name=\"value\">Tinybit.enLineState.Black</field></block></value><value name=\"B\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Tinybit_Line_Sensor\"><field name=\"direct\">Tinybit.enPos.RightState</field><field name=\"value\">Tinybit.enLineState.White</field></block></value></block></value><statement name=\"DO2\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_SpinLeft</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">60</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Tinybit_CarCtrlSpeed\"><field name=\"index\">Tinybit.CarState.Car_Stop</field><value name=\"speed\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">0</field></shadow></value><next><block type=\"synth_set_volume\"><value name=\"volume\"><shadow type=\"math_number_minmax\"><mutation min=\"0\" max=\"255\" precision=\"0\"></mutation><field name=\"SLIDER\">40</field></shadow></value><next><block type=\"music_playable_play\"><field name=\"playbackMode\">music.PlaybackMode.UntilDone</field><value name=\"toPlay\"><shadow type=\"music_string_playable\"><value name=\"melody\"><shadow type=\"melody_editor\"><field name=\"melody\">\"C5 F C5 F C5 F C5 F \"</field></shadow></value><value name=\"bpm\"><shadow type=\"math_number_minmax\"><mutation min=\"40\" max=\"500\" precision=\"0\"></mutation><field name=\"SLIDER\">120</field></shadow></value></shadow></value><next><block type=\"device_print_message\"><value name=\"text\"><shadow type=\"text\"><field name=\"TEXT\">SOS</field></shadow></value></block></next></block></next></block></next></block></statement></block></statement></block></xml>","main.ts":"","README.md":"","main.py":"def on_forever():\n if Tinybit.Line_Sensor(Tinybit.enPos.LEFT_STATE, Tinybit.enLineState.WHITE) and Tinybit.Line_Sensor(Tinybit.enPos.RIGHT_STATE, Tinybit.enLineState.WHITE):\n Tinybit.car_ctrl_speed(Tinybit.CarState.CAR_RUN, 120)\n elif Tinybit.Line_Sensor(Tinybit.enPos.LEFT_STATE, Tinybit.enLineState.WHITE) and Tinybit.Line_Sensor(Tinybit.enPos.RIGHT_STATE, Tinybit.enLineState.BLACK):\n Tinybit.car_ctrl_speed(Tinybit.CarState.CAR_SPINRIGHT, 60)\n elif Tinybit.Line_Sensor(Tinybit.enPos.LEFT_STATE, Tinybit.enLineState.BLACK) and Tinybit.Line_Sensor(Tinybit.enPos.RIGHT_STATE, Tinybit.enLineState.WHITE):\n Tinybit.car_ctrl_speed(Tinybit.CarState.CAR_SPINLEFT, 60)\n else:\n Tinybit.car_ctrl_speed(Tinybit.CarState.CAR_STOP, 0)\n music.set_volume(40)\n music.play(music.string_playable(\"C5 F C5 F C5 F C5 F \", 120),\n music.PlaybackMode.UNTIL_DONE)\n basic.show_string(\"SOS\")\nbasic.forever(on_forever)\n","pxt.json":"{\n \"name\": \"lineTracerTest\",\n \"description\": \"\",\n \"dependencies\": {\n \"core\": \"*\",\n \"radio\": \"*\",\n \"microphone\": \"*\",\n \"Tinybit\": \"github:YahboomTechnology/Tiny-bitLib#v2.0.3\"\n },\n \"files\": [\n \"main.blocks\",\n \"main.ts\",\n \"README.md\",\n \"main.py\"\n ],\n \"preferredEditor\": \"blocksprj\"\n}\n"}}],"shares":[],"lastSaveTime":1736308697296}