{"id":67698,"student_id":1981,"content":"{\"files\":{\"src/appinventor/ai_appinventor/MiniGolf_S/Screen1.bky\":\"\\u003cxml xmlns=\\\"http://www.w3.org/1999/xhtml\\\"\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"vo8CjK%$!At]U/]#IvtJ\\\" x=\\\"-224\\\" y=\\\"-16\\\"\\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=\\\"*rN:E%u\\\\!xWpW+zBP+d8\\\\!\\\"\\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=\\\"ek`3{*]$H,gc%WJn1\\\\!K1\\\"\\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=\\\"A$LsQy(cal.9So6J\\\\!Zu;\\\"\\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=\\\"#@*r1X\\\\!+(GUxMt9FJ`^+\\\"\\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=\\\":y[p\\\\!wK.3z~si$CnEp-t\\\"\\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=\\\"w`?puw05aWTSy_j5Rq6(\\\"\\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=\\\"e$+uAMFcKZ0hZW#m\\\\!x:T\\\"\\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=\\\"f}ui{sJPlj!bSvW*P7RC\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 進洞數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_add\\\" id=\\\"tv*Pma;d$=67w\\\\!f!Xc3I\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"mjt7K`T5e@J,?O:?!OXk\\\"\\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=\\\"%HA`VTbJIP2dcKlLK?(.\\\"\\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=\\\"a_003.ooe-pK0(4qm;y8\\\"\\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=\\\"aocF?cdVZVu*0\\\\!}YXvC@\\\"\\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 \\u003cblock type=\\\"global_declaration\\\" id=\\\"[(u(GktHOjw:mwFpeWZv\\\" x=\\\"0\\\" y=\\\"258\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003e進洞數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"-M;K=Hon?vw7PJ/embT!\\\"\\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=\\\"f.dP^RM*-I;il)IVw/,C\\\" x=\\\"0\\\" y=\\\"311\\\"\\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=\\\"=@lzN%UBh+m9;A!sc,6Y\\\"\\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=\\\"rPZ6nbbe/Kj_t=XM=1Hh\\\"\\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=\\\"global_declaration\\\" id=\\\"$6[:o~eX1Uc48NWX11Bh\\\" x=\\\"0\\\" y=\\\"453\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003e揮桿數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"m}0u8Q.RtGb-m6_,N=.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=\\\"=U38j{H~??.g#0O[0myq\\\" x=\\\"0\\\" y=\\\"506\\\"\\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_set_get\\\" id=\\\"_47GNGPwY4}]*B6tU0H2\\\"\\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=\\\"y12w#FCEE5epRVuvIY}T\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"])/HT+]}_CF[BQBpGb(E\\\"\\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=\\\"b$U]CZ3SQrQG}p)O}%g8\\\"\\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=\\\"component_set_get\\\" id=\\\"z2)_,r-XNL(ws*g)HHcK\\\"\\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=\\\"},X4[RSl?{2]cI5K=wwL\\\"\\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=\\\"lexical_variable_set\\\" id=\\\"IK*OzR/G2.bv^F]EihQk\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 揮桿數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_add\\\" id=\\\"3VOd,R%EbpO5#.\\\\!c{.#b\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"fa}2NAVWTB{BI4//*UK8\\\"\\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=\\\"I(_8F+H@eU[z6s_*Klz;\\\"\\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=\\\"dCJz23RQP]S=tZkSK7,\\\\!\\\"\\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=\\\"eRb3i=u]nR`3^UF$Mn@~\\\"\\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/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"LqiMuXh(/S+=qQn4kanW\\\" x=\\\"-187\\\" y=\\\"843\\\"\\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=\\\"yrEM.R*\\\\!:BqQu/oI]e!A\\\"\\u003e\\n \\u003cmutation else=\\\"1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"IF0\\\"\\u003e\\n \\u003cblock type=\\\"math_compare\\\" id=\\\"iZG/9#To[l7qI7PJR!n-\\\"\\u003e\\n \\u003cfield name=\\\"OP\\\"\\u003eGT\\u003c/field\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"j?raYUQg$\\\\!u}mCG*,)wG\\\"\\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=\\\"*ATr-]H[?to}wNU{SXw/\\\"\\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 \\u003cstatement name=\\\"DO0\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"ROl;o}?G!h:RShf]PrQ:\\\"\\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=\\\"y`!f;@^SP:JWk5z,U\\\\!N_\\\"\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"Qn;Z3vR=x@lGi5izhw4~\\\"\\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=\\\"4~qX`;fr-]OV:eQDT)0/\\\"\\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 \\u003c/block\\u003e\\n \\u003c/statement\\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_S/Screen1.scm\":\"#|\\n$JSON\\n{\\\"authURL\\\":[\\\"ai2.appinventor.mit.edu\\\",\\\"edge.koding.school\\\",\\\"koding.school\\\"],\\\"YaVersion\\\":\\\"167\\\",\\\"Source\\\":\\\"Form\\\",\\\"Properties\\\":{\\\"$Name\\\":\\\"Screen1\\\",\\\"$Type\\\":\\\"Form\\\",\\\"$Version\\\":\\\"23\\\",\\\"AlignHorizontal\\\":\\\"3\\\",\\\"AppName\\\":\\\"MiniGolf\\\",\\\"ScreenOrientation\\\":\\\"portrait\\\",\\\"Title\\\":\\\"Screen1\\\",\\\"TitleVisible\\\":\\\"False\\\",\\\"Uuid\\\":\\\"0\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u6c34\\\\u5e73\\\\u914d\\\\u7f6e1\\\",\\\"$Type\\\":\\\"HorizontalArrangement\\\",\\\"$Version\\\":\\\"3\\\",\\\"AlignHorizontal\\\":\\\"3\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"1652777605\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u63ee\\\\u687f\\\\u6578\\\\u6a19\\\\u7c64\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"Text\\\":\\\"\\\\u63ee\\\\u687f\\\\u6578:\\\",\\\"Uuid\\\":\\\"836828806\\\"},{\\\"$Name\\\":\\\"\\\\u63ee\\\\u687f\\\\u6578\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"Text\\\":\\\"0\\\",\\\"Uuid\\\":\\\"-1949017931\\\"},{\\\"$Name\\\":\\\"\\\\u6d1e\\\\u53e3\\\\u6578\\\\u6a19\\\\u7c64\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"Text\\\":\\\"\\\\u6d1e\\\\u53e3\\\\u6578:\\\",\\\"Uuid\\\":\\\"-1560510220\\\"},{\\\"$Name\\\":\\\"\\\\u6d1e\\\\u53e3\\\\u6578\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"Text\\\":\\\"0\\\",\\\"Uuid\\\":\\\"696472454\\\"}]},{\\\"$Name\\\":\\\"\\\\u756b\\\\u5e031\\\",\\\"$Type\\\":\\\"Canvas\\\",\\\"$Version\\\":\\\"10\\\",\\\"BackgroundImage\\\":\\\"Scene.jpg\\\",\\\"Height\\\":\\\"-2\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"-1939253625\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u9ad8\\\\u723e\\\\u592b\\\\u7403\\\",\\\"$Type\\\":\\\"Ball\\\",\\\"$Version\\\":\\\"5\\\",\\\"PaintColor\\\":\\\"\\u0026HFFFFFFFF\\\",\\\"Uuid\\\":\\\"202812974\\\",\\\"X\\\":\\\"69\\\",\\\"Y\\\":\\\"293\\\"},{\\\"$Name\\\":\\\"\\\\u7403\\\\u6d1e\\\",\\\"$Type\\\":\\\"Ball\\\",\\\"$Version\\\":\\\"5\\\",\\\"Radius\\\":\\\"8\\\",\\\"Uuid\\\":\\\"744485431\\\",\\\"X\\\":\\\"238\\\",\\\"Y\\\":\\\"209\\\"}]},{\\\"$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\\\\u6e1b\\\\u901f\\\",\\\"$Type\\\":\\\"Clock\\\",\\\"$Version\\\":\\\"3\\\",\\\"TimerInterval\\\":\\\"100\\\",\\\"Uuid\\\":\\\"362995432\\\"}]}}\\n|#\",\"src/appinventor/ai_appinventor/MiniGolf_S/Screen1.yail\":\"#|\\n$Source $Yail\\n|#\\n\\n(define-form appinventor.ai_appinventor.MiniGolf_S.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 'AlignHorizontal 3 'number)\\n (set-and-coerce-property! 'Screen1 'AppName \\\"MiniGolf\\\" 'text)\\n (set-and-coerce-property! 'Screen1 'ScreenOrientation \\\"portrait\\\" 'text)\\n (set-and-coerce-property! 'Screen1 'Title \\\"Screen1\\\" 'text)\\n (set-and-coerce-property! 'Screen1 'TitleVisible #f 'boolean)\\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! '揮桿數標籤 'Text \\\"\\\\u63ee\\\\u687f\\\\u6578:\\\" 'text)\\n\\n)\\n\\n;;; 揮桿數\\n\\n(add-component 水平配置1 com.google.appinventor.components.runtime.Label 揮桿數 \\n(set-and-coerce-property! '揮桿數 'Text \\\"0\\\" 'text)\\n\\n)\\n\\n;;; 洞口數標籤\\n\\n(add-component 水平配置1 com.google.appinventor.components.runtime.Label 洞口數標籤 \\n(set-and-coerce-property! '洞口數標籤 'Text \\\"\\\\u6d1e\\\\u53e3\\\\u6578:\\\" 'text)\\n\\n)\\n\\n;;; 洞口數\\n\\n(add-component 水平配置1 com.google.appinventor.components.runtime.Label 洞口數 \\n(set-and-coerce-property! '洞口數 'Text \\\"0\\\" 'text)\\n\\n)\\n\\n;;; 畫布1\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Canvas 畫布1 \\n(set-and-coerce-property! '畫布1 'BackgroundImage \\\"Scene.jpg\\\" 'text)\\n\\n(set-and-coerce-property! '畫布1 'Height -2 '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.Ball 高爾夫球 \\n(set-and-coerce-property! '高爾夫球 'PaintColor #xFFFFFFFF 'number)\\n\\n(set-and-coerce-property! '高爾夫球 'X 69 'number)\\n\\n(set-and-coerce-property! '高爾夫球 'Y 293 'number)\\n\\n)\\n\\n(define-event 高爾夫球 EdgeReached($edge)(set-this-form)\\n (call-component-method '高爾夫球 'Bounce (*list-for-runtime* (lexical-value $edge)) '(number)))\\n(define-event 高爾夫球 Flung($x $y $speed $heading $xvel $yvel)(set-this-form)\\n (set-and-coerce-property! '高爾夫球 'Speed (call-yail-primitive * (*list-for-runtime* (lexical-value $speed) 7 ) '(number number ) \\\"*\\\") 'number)(set-and-coerce-property! '高爾夫球 'Heading (lexical-value $heading) '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;;; 球洞\\n\\n(add-component 畫布1 com.google.appinventor.components.runtime.Ball 球洞 \\n(set-and-coerce-property! '球洞 'Radius 8 'number)\\n\\n(set-and-coerce-property! '球洞 'X 238 'number)\\n\\n(set-and-coerce-property! '球洞 'Y 209 '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 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;;; 球減速\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Clock 球減速 \\n(set-and-coerce-property! '球減速 'TimerInterval 100 'number)\\n\\n)\\n\\n(define-event 球減速 Timer()(set-this-form)\\n (if (call-yail-primitive \\u003e (*list-for-runtime* (get-property '高爾夫球 'Speed) 1) '(number number) \\\"\\u003e\\\") (begin (set-and-coerce-property! '高爾夫球 'Speed (call-yail-primitive - (*list-for-runtime* (get-property '高爾夫球 'Speed) 1) '(number number) \\\"-\\\") 'number)) (begin (set-and-coerce-property! '高爾夫球 'Speed 0 'number))))\\n(init-runtime)\"},\"settings\":\"{\\\"SimpleSettings\\\":{\\\"AccentColor\\\":\\\"\\u0026HFFFF4081\\\",\\\"ActionBar\\\":\\\"False\\\",\\\"AppName\\\":\\\"MiniGolf\\\",\\\"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-05-15T16:20:51.224+08:00","updated_at":"2019-11-10T04:15:37.251+08:00","name":"MiniGolf_S","language":"appinventor","screenshot":{"url":null},"parent_id":54883,"plugin":null,"description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":68,"hashid":"4y3swr68","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":1184800,"file_name":"Scene.jpg","project_id":67698,"asset_id":108179,"created_at":"2019-05-15T16:20:51.229+08:00","updated_at":"2019-05-15T16:20:51.229+08:00"},{"id":1184801,"file_name":"ball.mp3","project_id":67698,"asset_id":108178,"created_at":"2019-05-15T16:20:51.230+08:00","updated_at":"2019-05-15T16:20:51.230+08:00"},{"id":1184802,"file_name":"ballin.mp3","project_id":67698,"asset_id":108177,"created_at":"2019-05-15T16:20:51.231+08:00","updated_at":"2019-05-15T16:20:51.231+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦