{"id":54306,"student_id":248,"content":"{\"files\":{\"src/appinventor/ai_appinventor/MiniGolf_Teacher/Screen1.bky\":\"\\u003cxml xmlns=\\\"http://www.w3.org/1999/xhtml\\\"\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"26\\\" x=\\\"266\\\" y=\\\"-335\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" instance_name=\\\"高爾夫球\\\" event_name=\\\"EdgeReached\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e高爾夫球\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"27\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" method_name=\\\"Bounce\\\" is_generic=\\\"false\\\" instance_name=\\\"高爾夫球\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e高爾夫球\\u003c/field\\u003e\\n \\u003cvalue name=\\\"ARG0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"28\\\"\\u003e\\n \\u003cmutation\\u003e\\n \\u003ceventparam name=\\\"edge\\\"\\u003e\\u003c/eventparam\\u003e\\n \\u003c/mutation\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003e邊緣數值\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"$V([JK4{^3o)0M^=TnvS\\\" x=\\\"266\\\" y=\\\"-179\\\"\\u003e\\n \\u003cmutation component_type=\\\"Clock\\\" instance_name=\\\"球的計時器\\\" event_name=\\\"Timer\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e球的計時器\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"controls_if\\\" id=\\\"vL7^\\\\!8D2sCJ}J9TpZmTU\\\"\\u003e\\n \\u003cmutation else=\\\"1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"IF0\\\"\\u003e\\n \\u003cblock type=\\\"math_compare\\\" id=\\\":4tsm?)AZc$n593Isn\\\\!\\\\!\\\"\\u003e\\n \\u003cfield name=\\\"OP\\\"\\u003eGT\\u003c/field\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"y{U90[8PZ($hNnLoXUbs\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"get\\\" property_name=\\\"Speed\\\" is_generic=\\\"false\\\" instance_name=\\\"高爾夫球\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e高爾夫球\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eSpeed\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"B\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"jtMwcP]G\\\\!H;[1[\\\\!P+zIw\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0.5\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cstatement name=\\\"DO0\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"JvdnkZzg8Tls?P;iC?kr\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Speed\\\" is_generic=\\\"false\\\" instance_name=\\\"高爾夫球\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e高爾夫球\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eSpeed\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_subtract\\\" id=\\\"ImGZx@I]!.1):j7q)O0^\\\"\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"a#EqDV-0$i;{wWWU=:/~\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"get\\\" property_name=\\\"Speed\\\" is_generic=\\\"false\\\" instance_name=\\\"高爾夫球\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e高爾夫球\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eSpeed\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"B\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"k4ELp%H`FP_uBdOsnp1E\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0.5\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003cstatement name=\\\"ELSE\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"NkVwI`MO7?0{dv,)b^Xr\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Speed\\\" is_generic=\\\"false\\\" instance_name=\\\"高爾夫球\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e高爾夫球\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eSpeed\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"ese0[;w,pXD/O3CLYq**\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0.5\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"global_declaration\\\" id=\\\"1\\\" inline=\\\"false\\\" x=\\\"-215\\\" y=\\\"-89\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003e標竿數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"2\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"5\\\" x=\\\"-225\\\" y=\\\"-46\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" instance_name=\\\"高爾夫球\\\" event_name=\\\"Flung\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e高爾夫球\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"6\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Play\\\" is_generic=\\\"false\\\" instance_name=\\\"打球音效\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e打球音效\\u003c/field\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"7\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Heading\\\" is_generic=\\\"false\\\" instance_name=\\\"高爾夫球\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e高爾夫球\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eHeading\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"8\\\"\\u003e\\n \\u003cmutation\\u003e\\n \\u003ceventparam name=\\\"heading\\\"\\u003e\\u003c/eventparam\\u003e\\n \\u003c/mutation\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003e方向\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"9\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Speed\\\" is_generic=\\\"false\\\" instance_name=\\\"高爾夫球\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e高爾夫球\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eSpeed\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_multiply\\\" id=\\\"10\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"11\\\"\\u003e\\n \\u003cmutation\\u003e\\n \\u003ceventparam name=\\\"speed\\\"\\u003e\\u003c/eventparam\\u003e\\n \\u003c/mutation\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003e速度\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"NUM1\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"12\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e7\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"lexical_variable_set\\\" id=\\\"13\\\" inline=\\\"false\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 標竿數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_add\\\" id=\\\"14\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"15\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 標竿數\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"NUM1\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"16\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e1\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"17\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Label\\\" set_or_get=\\\"set\\\" property_name=\\\"Text\\\" is_generic=\\\"false\\\" instance_name=\\\"揮竿數\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e揮竿數\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eText\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"18\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 標竿數\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"global_declaration\\\" id=\\\"3\\\" inline=\\\"false\\\" x=\\\"357\\\" y=\\\"34\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003e洞口數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"4\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"19\\\" x=\\\"354\\\" y=\\\"78\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" instance_name=\\\"球洞\\\" event_name=\\\"CollidedWith\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e球洞\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"20\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"X\\\" is_generic=\\\"false\\\" instance_name=\\\"高爾夫球\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e高爾夫球\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eX\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"21\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"get\\\" property_name=\\\"X\\\" is_generic=\\\"false\\\" instance_name=\\\"球洞\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e球洞\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eX\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"22\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Y\\\" is_generic=\\\"false\\\" instance_name=\\\"高爾夫球\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e高爾夫球\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eY\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"23\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"get\\\" property_name=\\\"Y\\\" is_generic=\\\"false\\\" instance_name=\\\"球洞\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e球洞\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eY\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"24\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Speed\\\" is_generic=\\\"false\\\" instance_name=\\\"高爾夫球\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e高爾夫球\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eSpeed\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"25\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"29\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Play\\\" is_generic=\\\"false\\\" instance_name=\\\"進洞音效\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e進洞音效\\u003c/field\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"lexical_variable_set\\\" id=\\\"30\\\" inline=\\\"false\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 洞口數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_add\\\" id=\\\"31\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"32\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 洞口數\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"NUM1\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"33\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e1\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"34\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Label\\\" set_or_get=\\\"set\\\" property_name=\\\"Text\\\" is_generic=\\\"false\\\" instance_name=\\\"洞口\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e洞口\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eText\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"35\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 洞口數\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cyacodeblocks ya-version=\\\"167\\\" language-version=\\\"21\\\"\\u003e\\u003c/yacodeblocks\\u003e\\n\\u003c/xml\\u003e\",\"src/appinventor/ai_appinventor/MiniGolf_Teacher/Screen1.scm\":\"#|\\n$JSON\\n{\\\"authURL\\\":[\\\"*UNKNOWN*\\\",\\\"koding.school\\\"],\\\"YaVersion\\\":\\\"167\\\",\\\"Source\\\":\\\"Form\\\",\\\"Properties\\\":{\\\"$Name\\\":\\\"Screen1\\\",\\\"$Type\\\":\\\"Form\\\",\\\"$Version\\\":\\\"23\\\",\\\"AppName\\\":\\\"MiniGolf_Teacher\\\",\\\"ScreenOrientation\\\":\\\"portrait\\\",\\\"Title\\\":\\\"Screen1\\\",\\\"Uuid\\\":\\\"0\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u6c34\\\\u5e73\\\\u5e03\\\\u5c401\\\",\\\"$Type\\\":\\\"HorizontalArrangement\\\",\\\"$Version\\\":\\\"3\\\",\\\"AlignHorizontal\\\":\\\"3\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"1459967871\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u63ee\\\\u7aff\\\\u6578\\\\u6a19\\\\u7c64\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"HasMargins\\\":\\\"False\\\",\\\"Text\\\":\\\"\\\\u63ee\\\\u7aff\\\\u6578:\\\",\\\"TextAlignment\\\":\\\"1\\\",\\\"Uuid\\\":\\\"-857160128\\\"},{\\\"$Name\\\":\\\"\\\\u63ee\\\\u7aff\\\\u6578\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"HasMargins\\\":\\\"False\\\",\\\"Text\\\":\\\"0\\\",\\\"TextAlignment\\\":\\\"1\\\",\\\"Uuid\\\":\\\"1095350219\\\"},{\\\"$Name\\\":\\\"\\\\u6d1e\\\\u53e3\\\\u6a19\\\\u7c64\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"HasMargins\\\":\\\"False\\\",\\\"Text\\\":\\\"\\\\u6d1e\\\\u53e3:\\\",\\\"TextAlignment\\\":\\\"1\\\",\\\"Uuid\\\":\\\"-12061494\\\"},{\\\"$Name\\\":\\\"\\\\u6d1e\\\\u53e3\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"HasMargins\\\":\\\"False\\\",\\\"Text\\\":\\\"0\\\",\\\"TextAlignment\\\":\\\"1\\\",\\\"Uuid\\\":\\\"-476126682\\\"}]},{\\\"$Name\\\":\\\"\\\\u9ad8\\\\u723e\\\\u592b\\\\u7403\\\\u5834\\\",\\\"$Type\\\":\\\"Canvas\\\",\\\"$Version\\\":\\\"10\\\",\\\"BackgroundImage\\\":\\\"Scene.jpg\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"-1279410163\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u7403\\\\u6d1e\\\",\\\"$Type\\\":\\\"Ball\\\",\\\"$Version\\\":\\\"5\\\",\\\"Radius\\\":\\\"7\\\",\\\"Uuid\\\":\\\"-1137895998\\\",\\\"X\\\":\\\"250\\\",\\\"Y\\\":\\\"193\\\"},{\\\"$Name\\\":\\\"\\\\u9ad8\\\\u723e\\\\u592b\\\\u7403\\\",\\\"$Type\\\":\\\"Ball\\\",\\\"$Version\\\":\\\"5\\\",\\\"PaintColor\\\":\\\"\\u0026HFFFFFFFF\\\",\\\"Radius\\\":\\\"6\\\",\\\"Uuid\\\":\\\"1408005897\\\",\\\"X\\\":\\\"42\\\",\\\"Y\\\":\\\"350\\\"}]},{\\\"$Name\\\":\\\"\\\\u6253\\\\u7403\\\\u97f3\\\\u6548\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"ball.mp3\\\",\\\"Uuid\\\":\\\"1743748689\\\"},{\\\"$Name\\\":\\\"\\\\u9032\\\\u6d1e\\\\u97f3\\\\u6548\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"ballin.mp3\\\",\\\"Uuid\\\":\\\"1562550539\\\"},{\\\"$Name\\\":\\\"\\\\u7403\\\\u7684\\\\u8a08\\\\u6642\\\\u5668\\\",\\\"$Type\\\":\\\"Clock\\\",\\\"$Version\\\":\\\"3\\\",\\\"TimerInterval\\\":\\\"100\\\",\\\"Uuid\\\":\\\"1888704071\\\"}]}}\\n|#\",\"src/appinventor/ai_appinventor/MiniGolf_Teacher/Screen1.yail\":\"#|\\n$Source $Yail\\n|#\\n\\n(define-form appinventor.ai_appinventor.MiniGolf_Teacher.Screen1 Screen1)\\n(require \\u003ccom.google.youngandroid.runtime\\u003e)\\n\\n(def g$標竿數 0)\\n(def g$洞口數 0)\\n;;; Screen1\\n\\n(do-after-form-creation (set-and-coerce-property! 'Screen1 'AppName \\\"MiniGolf_Teacher\\\" 'text)\\n (set-and-coerce-property! 'Screen1 'ScreenOrientation \\\"portrait\\\" 'text)\\n (set-and-coerce-property! 'Screen1 'Title \\\"Screen1\\\" 'text)\\n)\\n\\n;;; 水平布局1\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.HorizontalArrangement 水平布局1 \\n(set-and-coerce-property! '水平布局1 'AlignHorizontal 3 'number)\\n\\n(set-and-coerce-property! '水平布局1 'Width -2 'number)\\n\\n)\\n\\n;;; 揮竿數標籤\\n\\n(add-component 水平布局1 com.google.appinventor.components.runtime.Label 揮竿數標籤 \\n(set-and-coerce-property! '揮竿數標籤 'HasMargins #f 'boolean)\\n\\n(set-and-coerce-property! '揮竿數標籤 'Text \\\"\\\\u63ee\\\\u7aff\\\\u6578:\\\" 'text)\\n\\n(set-and-coerce-property! '揮竿數標籤 'TextAlignment 1 'number)\\n\\n)\\n\\n;;; 揮竿數\\n\\n(add-component 水平布局1 com.google.appinventor.components.runtime.Label 揮竿數 \\n(set-and-coerce-property! '揮竿數 'HasMargins #f 'boolean)\\n\\n(set-and-coerce-property! '揮竿數 'Text \\\"0\\\" 'text)\\n\\n(set-and-coerce-property! '揮竿數 'TextAlignment 1 'number)\\n\\n)\\n\\n;;; 洞口標籤\\n\\n(add-component 水平布局1 com.google.appinventor.components.runtime.Label 洞口標籤 \\n(set-and-coerce-property! '洞口標籤 'HasMargins #f 'boolean)\\n\\n(set-and-coerce-property! '洞口標籤 'Text \\\"\\\\u6d1e\\\\u53e3:\\\" 'text)\\n\\n(set-and-coerce-property! '洞口標籤 'TextAlignment 1 'number)\\n\\n)\\n\\n;;; 洞口\\n\\n(add-component 水平布局1 com.google.appinventor.components.runtime.Label 洞口 \\n(set-and-coerce-property! '洞口 'HasMargins #f 'boolean)\\n\\n(set-and-coerce-property! '洞口 'Text \\\"0\\\" 'text)\\n\\n(set-and-coerce-property! '洞口 'TextAlignment 1 'number)\\n\\n)\\n\\n;;; 高爾夫球場\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Canvas 高爾夫球場 \\n(set-and-coerce-property! '高爾夫球場 'BackgroundImage \\\"Scene.jpg\\\" 'text)\\n\\n(set-and-coerce-property! '高爾夫球場 'Width -2 'number)\\n\\n)\\n\\n;;; 球洞\\n\\n(add-component 高爾夫球場 com.google.appinventor.components.runtime.Ball 球洞 \\n(set-and-coerce-property! '球洞 'Radius 7 'number)\\n\\n(set-and-coerce-property! '球洞 'X 250 'number)\\n\\n(set-and-coerce-property! '球洞 'Y 193 'number)\\n\\n)\\n\\n(define-event 球洞 CollidedWith($other)(set-this-form)\\n (set-and-coerce-property! '高爾夫球 'X (get-property '球洞 'X) 'number)(set-and-coerce-property! '高爾夫球 'Y (get-property '球洞 'Y) 'number)(set-and-coerce-property! '高爾夫球 'Speed 0 'number)(call-component-method '進洞音效 'Play (*list-for-runtime*) '())(set-var! g$洞口數 (call-yail-primitive + (*list-for-runtime* (get-var g$洞口數) 1 ) '(number number ) \\\"+\\\"))(set-and-coerce-property! '洞口 'Text (get-var g$洞口數) 'text))\\n;;; 高爾夫球\\n\\n(add-component 高爾夫球場 com.google.appinventor.components.runtime.Ball 高爾夫球 \\n(set-and-coerce-property! '高爾夫球 'PaintColor #xFFFFFFFF 'number)\\n\\n(set-and-coerce-property! '高爾夫球 'Radius 6 'number)\\n\\n(set-and-coerce-property! '高爾夫球 'X 42 'number)\\n\\n(set-and-coerce-property! '高爾夫球 'Y 350 'number)\\n\\n)\\n\\n(define-event 高爾夫球 Flung($x $y $speed $heading $xvel $yvel)(set-this-form)\\n (call-component-method '打球音效 'Play (*list-for-runtime*) '())(set-and-coerce-property! '高爾夫球 'Heading (lexical-value $heading) 'number)(set-and-coerce-property! '高爾夫球 'Speed (call-yail-primitive * (*list-for-runtime* (lexical-value $speed) 7 ) '(number number ) \\\"*\\\") 'number)(set-var! g$標竿數 (call-yail-primitive + (*list-for-runtime* (get-var g$標竿數) 1 ) '(number number ) \\\"+\\\"))(set-and-coerce-property! '揮竿數 'Text (get-var g$標竿數) 'text))\\n(define-event 高爾夫球 EdgeReached($edge)(set-this-form)\\n (call-component-method '高爾夫球 'Bounce (*list-for-runtime* (lexical-value $edge)) '(number)))\\n;;; 打球音效\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Sound 打球音效 \\n(set-and-coerce-property! '打球音效 'Source \\\"ball.mp3\\\" 'text)\\n\\n)\\n\\n;;; 進洞音效\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Sound 進洞音效 \\n(set-and-coerce-property! '進洞音效 'Source \\\"ballin.mp3\\\" 'text)\\n\\n)\\n\\n(init-runtime)\"},\"settings\":\"{\\\"SimpleSettings\\\":{\\\"AccentColor\\\":\\\"\\u0026HFFFF4081\\\",\\\"ActionBar\\\":\\\"False\\\",\\\"AppName\\\":\\\"MiniGolf_Teacher\\\",\\\"Icon\\\":\\\"\\\",\\\"PhoneTablet\\\":\\\"False\\\",\\\"PrimaryColor\\\":\\\"\\u0026HFF3F51B5\\\",\\\"PrimaryColorDark\\\":\\\"\\u0026HFF303F9F\\\",\\\"ShowHiddenComponents\\\":\\\"False\\\",\\\"ShowListsAsJson\\\":\\\"False\\\",\\\"Sizing\\\":\\\"Fixed\\\",\\\"Theme\\\":\\\"Classic\\\",\\\"TutorialURL\\\":\\\"\\\",\\\"UsesLocation\\\":\\\"False\\\",\\\"VersionCode\\\":\\\"1\\\",\\\"VersionName\\\":\\\"1.0\\\"}}\"}","created_at":"2019-01-16T20:22:27.401+08:00","updated_at":"2019-11-05T21:57:02.906+08:00","name":"MiniGolf_Teacher","language":"appinventor","screenshot":{"url":null},"parent_id":null,"plugin":null,"description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":129,"hashid":"p93segrd","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":970247,"file_name":"Scene.jpg","project_id":54306,"asset_id":107690,"created_at":"2019-01-17T01:06:10.447+08:00","updated_at":"2019-01-17T01:06:10.447+08:00"},{"id":970248,"file_name":"ball.mp3","project_id":54306,"asset_id":107691,"created_at":"2019-01-17T01:06:10.462+08:00","updated_at":"2019-01-17T01:06:10.462+08:00"},{"id":970249,"file_name":"ballin.mp3","project_id":54306,"asset_id":107692,"created_at":"2019-01-17T01:06:10.481+08:00","updated_at":"2019-01-17T01:06:10.481+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦