{"id":77821,"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=\\\"P-T-qzBKbAZ%%;A%:/)A\\\" x=\\\"0\\\" y=\\\"0\\\"\\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=\\\"HyyM8.Sxkrs9+a\\\\!1;}$=\\\"\\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=\\\"1zwE^+Z8I/V(/,x6,LGc\\\"\\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=\\\"?GPU/T}85j66PO3k`Xko\\\" x=\\\"0\\\" y=\\\"142\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003e揮桿數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\".FanSyN/Hb#E^pUJGICT\\\"\\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=\\\"W]E3\\\\!5i)I8Tx2gn74h(k\\\" x=\\\"0\\\" y=\\\"195\\\"\\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=\\\"E]CL5Mx]@U24rKE:9?Bu\\\"\\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=\\\"X[#f^FUm-/%M?kJ[2RP/\\\"\\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=\\\"AQ*Y./gJR7{V=J#Sr{5R\\\"\\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=\\\"R:Vi4PLI{K!HDDs?g9II\\\"\\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=\\\"}v@Jxg1Q@\\\\!YD]PZR,$dd\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"5d+xx}m6W6}{yO:0.GFk\\\"\\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=\\\"(o5xMH).yf9i^EPI.K~H\\\"\\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=\\\"[j,xdoJ#l2bEn7(qH-UP\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 揮桿數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_add\\\" id=\\\"@UV.Z?[wIaO*a\\\\!QQ.B*j\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"5i-;b(m{?X+g+NOwF6Tr\\\"\\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=\\\"V4/f[s}`%McbDGum6rC=\\\"\\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=\\\"EYI=eH}}.sS8jWc[^dpY\\\"\\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=\\\"R(Uub$1Kulr@t`Ip`6B.\\\"\\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=\\\"ak@^eoHH_BK$V!kw:4Y}\\\" x=\\\"0\\\" y=\\\"438\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003e進洞數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"d?EA+@`4t-BNC+BF#(*~\\\"\\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=\\\"o=2M9Ga9V2T.cYTLk:EV\\\" x=\\\"4\\\" y=\\\"498\\\"\\u003e\\n \\u003cmutation component_type=\\\"Clock\\\" instance_name=\\\"計時器1\\\" event_name=\\\"Timer\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e計時器1\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"controls_if\\\" id=\\\"ikwgIow.WWhe$XZ0p{A\\\\!\\\"\\u003e\\n \\u003cmutation else=\\\"1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"IF0\\\"\\u003e\\n \\u003cblock type=\\\"math_compare\\\" id=\\\"Q=`cI[JjMwPJ3s0Z,;g.\\\"\\u003e\\n \\u003cfield name=\\\"OP\\\"\\u003eGT\\u003c/field\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"3SuEmxb8@:?#CdO;7(Ks\\\"\\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=\\\"NaVuxF6i6LX#l+?3X{se\\\"\\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=\\\")62*v0,~W#S^_A@k[.a}\\\"\\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=\\\"p/8e3jkx*#BAN862Yml@\\\"\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"*7jw*{7f$+2QdqC:M;?z\\\"\\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=\\\")U%h0FW658i/sUT2]hfo\\\"\\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 \\u003cstatement name=\\\"ELSE\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\";}1+M#I-EvtjZe]@:h=v\\\"\\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=\\\"lnW,QKP@hr9yEuvK{z[S\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0\\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=\\\"component_event\\\" id=\\\"=_f)`_b)!4tZ!RV6RE7G\\\" x=\\\"0\\\" y=\\\"684\\\"\\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_method\\\" id=\\\"`l%_~}Vp:@=TI=6O.4oZ\\\"\\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=\\\"_%*Z@@223/16%hZGYcCY\\\"\\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=\\\"oqeZ*}1u`]25\\\\!#2-GrU}\\\"\\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=\\\"9nfx?9RxC`0g,JRciftv\\\"\\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=\\\"IR_^?@PXZ_QJZp9m5,GA\\\"\\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=\\\"u{/+zuSFMKeboq9?6s~,\\\"\\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=\\\"~qMRBkbBcSuOb_G2K]Cw\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"lexical_variable_set\\\" id=\\\"lM;^~l2e%8c5URm=3_fx\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 進洞數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_add\\\" id=\\\"nt37T_vU,W8;\\\\!P.43V`$\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"3pTmNlJ=-HU%)]JE!cXs\\\"\\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=\\\"}rm4aNoM1UPekYK38GkE\\\"\\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=\\\"85t1VK1z%1+mGJ9]KK=S\\\"\\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=\\\"_6CsZ`]wV-F#R#Q-X9al\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 進洞數\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"Qq8\\\\!59Q:A]?zB@GPKAl`\\\"\\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=\\\"math_random_int\\\" id=\\\"NdMF;i9[,Rjw#?;D:SY)\\\"\\u003e\\n \\u003cvalue name=\\\"FROM\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"EEt7*Pkd+9n{p.K,^1X6\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e1\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"TO\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"Za-LQl~\\\\!@EzB%En/v_~w\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e100\\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=\\\"1[?CcZbAZGh3I;AqR,ah\\\"\\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=\\\"math_random_int\\\" id=\\\"6,]1+S41!#ryam*FcSYs\\\"\\u003e\\n \\u003cvalue name=\\\"FROM\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"dd=8tn(buVG}+/#;va@a\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e1\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"TO\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"Yk0dk#*AJ+]X`304_]Dp\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e100\\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/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/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_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\\\",\\\"AppName\\\":\\\"MiniGolf\\\",\\\"ScreenOrientation\\\":\\\"portrait\\\",\\\"Title\\\":\\\"Screen1\\\",\\\"TitleVisible\\\":\\\"False\\\",\\\"Uuid\\\":\\\"0\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u6c34\\\\u5e73\\\\u5e03\\\\u5c401\\\",\\\"$Type\\\":\\\"HorizontalArrangement\\\",\\\"$Version\\\":\\\"3\\\",\\\"AlignHorizontal\\\":\\\"3\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"1459967871\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u6c34\\\\u5e73\\\\u914d\\\\u7f6e1\\\",\\\"$Type\\\":\\\"HorizontalArrangement\\\",\\\"$Version\\\":\\\"3\\\",\\\"AlignHorizontal\\\":\\\"3\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"1306532262\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u63ee\\\\u687f\\\\u6578\\\\u6a19\\\\u7c64\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"Text\\\":\\\"\\\\u63ee\\\\u687f\\\\u6578:\\\",\\\"Uuid\\\":\\\"-871298430\\\"},{\\\"$Name\\\":\\\"\\\\u63ee\\\\u687f\\\\u6578\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"Text\\\":\\\"0\\\",\\\"Uuid\\\":\\\"-1877280892\\\"},{\\\"$Name\\\":\\\"\\\\u6d1e\\\\u53e3\\\\u6a19\\\\u7c64\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"Text\\\":\\\"\\\\u6d1e\\\\u53e3\\\\u6578:\\\",\\\"Uuid\\\":\\\"1157926259\\\"},{\\\"$Name\\\":\\\"\\\\u9032\\\\u6d1e\\\\u6578\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"Text\\\":\\\"0\\\",\\\"Uuid\\\":\\\"433074341\\\"}]}]},{\\\"$Name\\\":\\\"\\\\u756b\\\\u5e031\\\",\\\"$Type\\\":\\\"Canvas\\\",\\\"$Version\\\":\\\"10\\\",\\\"BackgroundImage\\\":\\\"Scene.jpg\\\",\\\"Height\\\":\\\"-2\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"1756072057\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u7403\\\\u6d1e\\\",\\\"$Type\\\":\\\"Ball\\\",\\\"$Version\\\":\\\"5\\\",\\\"Uuid\\\":\\\"-220214387\\\",\\\"X\\\":\\\"232\\\",\\\"Y\\\":\\\"158\\\"},{\\\"$Name\\\":\\\"\\\\u7403\\\",\\\"$Type\\\":\\\"Ball\\\",\\\"$Version\\\":\\\"5\\\",\\\"PaintColor\\\":\\\"\\u0026HFFFFFFFF\\\",\\\"Uuid\\\":\\\"41696811\\\",\\\"X\\\":\\\"16\\\",\\\"Y\\\":\\\"321\\\"}]},{\\\"$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\\\":\\\"\\\\u8a08\\\\u6642\\\\u56681\\\",\\\"$Type\\\":\\\"Clock\\\",\\\"$Version\\\":\\\"3\\\",\\\"TimerInterval\\\":\\\"10\\\",\\\"Uuid\\\":\\\"-767774673\\\"}]}}\\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 '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;;; 水平配置1\\n\\n(add-component 水平布局1 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! '球洞 'X 232 'number)\\n\\n(set-and-coerce-property! '球洞 'Y 158 'number)\\n\\n)\\n\\n(define-event 球洞 CollidedWith($other)(set-this-form)\\n (call-component-method '進洞音效 'Play (*list-for-runtime*) '())(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)(set-var! g$進洞數 (call-yail-primitive + (*list-for-runtime* (get-var g$進洞數) 1 ) '(number number ) \\\"+\\\"))(set-and-coerce-property! '進洞數 'Text (get-var g$進洞數) 'text)(set-and-coerce-property! '球 'X (call-yail-primitive random-integer (*list-for-runtime* 1 100) '(number number) \\\"random integer\\\") 'number)(set-and-coerce-property! '球 'Y (call-yail-primitive random-integer (*list-for-runtime* 1 100) '(number number) \\\"random integer\\\") 'number))\\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 16 'number)\\n\\n(set-and-coerce-property! '球 'Y 321 '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 (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;;; 打球音效\\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;;; 計時器1\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Clock 計時器1 \\n(set-and-coerce-property! '計時器1 'TimerInterval 10 'number)\\n\\n)\\n\\n(define-event 計時器1 Timer()(set-this-form)\\n (if (call-yail-primitive \\u003e (*list-for-runtime* (get-property '球 'Speed) 0.5) '(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-07-10T08:57:03.674+08:00","updated_at":"2019-11-03T18:34:30.198+08:00","name":"MiniGolf_S","language":"appinventor","screenshot":{"url":null},"parent_id":32391,"plugin":null,"description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":73,"hashid":"zpeskkgy","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":1339267,"file_name":"ballin.mp3","project_id":77821,"asset_id":73327,"created_at":"2019-07-10T08:57:03.679+08:00","updated_at":"2019-07-10T08:57:03.679+08:00"},{"id":1339268,"file_name":"ball.mp3","project_id":77821,"asset_id":73326,"created_at":"2019-07-10T08:57:03.679+08:00","updated_at":"2019-07-10T08:57:03.679+08:00"},{"id":1339269,"file_name":"Scene.jpg","project_id":77821,"asset_id":73325,"created_at":"2019-07-10T08:57:03.680+08:00","updated_at":"2019-07-10T08:57:03.680+08:00"},{"id":1345711,"file_name":"how.png","project_id":77821,"asset_id":133060,"created_at":"2019-07-12T10:59:12.447+08:00","updated_at":"2019-07-12T10:59:12.447+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦