{"id":33966,"student_id":3232,"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=\\\"w2gbt,zW`Bw/!!K!g2GD\\\" x=\\\"0\\\" y=\\\"0\\\"\\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=\\\"VLc@1Ih,2qKBhEzbElCV\\\"\\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=\\\"E1}Bm@fK^dC[Wg{4U/+(\\\"\\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=\\\"iBga%zww$~dC;Fc.??yG\\\"\\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=\\\"ck4V.[b71I!yn!v0x@@@\\\"\\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=\\\"g4()2,XG5FF^1{./4ErA\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"~[y_7F/e6C;v=opdsBhy\\\"\\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=\\\"hqfuR1nkje%AaCK/DqF@\\\"\\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=\\\"{ID/sbXJe_j9iV+el3l2\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 揮竿數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_add\\\" id=\\\"*hGB8P^G2oYo7L*7#:b7\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"EG$)skGcQ.Cu(bo5P8N6\\\"\\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=\\\"/jska=dewHn%?bnV#/9\\\\!\\\"\\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=\\\"Qf:W5Oe,J+vbg-3`j`;:\\\"\\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=\\\"Z$Op(t@Ufkj@\\\\!kZFVzKW\\\"\\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=\\\"component_event\\\" id=\\\"Q`*5\\\\!D5~Xe3s5%ljsiUk\\\" x=\\\"0\\\" y=\\\"243\\\"\\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=\\\"Nl4ex_@tL:}\\\\!8A[7s(cY\\\"\\u003e\\n \\u003cmutation else=\\\"1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"IF0\\\"\\u003e\\n \\u003cblock type=\\\"math_compare\\\" id=\\\"Z2^:R:JJuwcuoiv:,dLP\\\"\\u003e\\n \\u003cfield name=\\\"OP\\\"\\u003eGT\\u003c/field\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"l8j%Cu{Qj+buz)3u3x-;\\\"\\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=\\\"OR_$]9=QPlB56f\\\\!nxmJ+\\\"\\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=\\\"qzQ}cKkzDydaw16q-X$3\\\"\\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=\\\"AyxIeG?}C($Yi7estz#F\\\"\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"2.CsO39_GczV5,:y:?CE\\\"\\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=\\\"3Y;URnCj]c.}Xq048$Gr\\\"\\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=\\\"cB8fw)^B{[H%Fq#yrF]*\\\"\\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=\\\"nf5oEgHM[S9j!;N(,yxD\\\"\\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=\\\"global_declaration\\\" id=\\\")Zd];abn%Go#IqA02hN=\\\" x=\\\"0\\\" y=\\\"436\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003e進洞數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"gj1SJ%hEhgrluygHkNwT\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"global_declaration\\\" id=\\\"FOO1:_Y=cS;aM{BHyABk\\\" x=\\\"0\\\" y=\\\"489\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003e揮竿數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"e?qh(j2z,gV(X77:}AFx\\\"\\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=\\\"kfihg-#}l0!E%D,fNH9i\\\" x=\\\"0\\\" y=\\\"542\\\"\\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=\\\"1!j5!6IkW.xMx%cQ*z`4\\\"\\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=\\\"qR5pU2p#Ivv0D8P-L\\\\!7s\\\"\\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=\\\"ii.OsY2[^GdE4?P,QPvG\\\" 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_set_get\\\" id=\\\"Hg7/Q}ocScdw9`5HFLg{\\\"\\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=\\\"u*oBx8gwq;k*FXJahKWq\\\"\\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=\\\"ff[)I8=fHb+y$n(UyB`L\\\"\\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=\\\"+M]AiPO+:3AS97ZF=HL}\\\"\\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=\\\"9{vwk9gVEc1jL\\\\!Kgdzbk\\\"\\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=\\\"h`p*ON:.Ln14n*?g/u(q\\\"\\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=\\\"TCn=Uj*w[a62_?S8iP{F\\\"\\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=\\\"FiwhkA#}{l[Xg$/_;=B`\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 進洞數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_add\\\" id=\\\"tFDbq,*b0g4Q-/t#zYB;\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"9!Q~%qObIO~M?W4U,2~y\\\"\\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$zJU]VUmmI_$*p~Bl0#\\\"\\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=\\\"i,fEFa@CBKhhN%Xanlx!\\\"\\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=\\\")3uR~J3b?r#Tkk_:/W#Y\\\"\\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_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\\\":\\\"\\\\u63ee\\\\u7aff\\\\u6578\\\\u6a19\\\\u7c64\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"Text\\\":\\\"\\\\u63ee\\\\u7aff\\\\u6578:\\\",\\\"Uuid\\\":\\\"194439242\\\"},{\\\"$Name\\\":\\\"\\\\u63ee\\\\u7aff\\\\u6578\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"Text\\\":\\\"0\\\",\\\"Uuid\\\":\\\"341979547\\\"},{\\\"$Name\\\":\\\"\\\\u6d1e\\\\u53e3\\\\u6578\\\\u6a19\\\\u7c64\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"Text\\\":\\\"\\\\u6d1e\\\\u53e3\\\\u6578:\\\",\\\"Uuid\\\":\\\"-1588389957\\\"},{\\\"$Name\\\":\\\"\\\\u6d1e\\\\u53e3\\\\u6578\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"Text\\\":\\\"0\\\",\\\"Uuid\\\":\\\"482049002\\\"}]},{\\\"$Name\\\":\\\"\\\\u9ad8\\\\u723e\\\\u592b\\\\u7403\\\\u5834\\\",\\\"$Type\\\":\\\"Canvas\\\",\\\"$Version\\\":\\\"10\\\",\\\"BackgroundImage\\\":\\\"Scene.jpg\\\",\\\"Uuid\\\":\\\"402306321\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u7403\\\\u6d1e\\\",\\\"$Type\\\":\\\"Ball\\\",\\\"$Version\\\":\\\"5\\\",\\\"Uuid\\\":\\\"-766758649\\\",\\\"X\\\":\\\"197\\\",\\\"Y\\\":\\\"215\\\"},{\\\"$Name\\\":\\\"\\\\u9ad8\\\\u723e\\\\u592b\\\\u7403\\\",\\\"$Type\\\":\\\"Ball\\\",\\\"$Version\\\":\\\"5\\\",\\\"PaintColor\\\":\\\"\\u0026HFFFFFFFF\\\",\\\"Uuid\\\":\\\"-1735276762\\\",\\\"X\\\":\\\"56\\\",\\\"Y\\\":\\\"309\\\"}]},{\\\"$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\\\":\\\"\\\\u79fb\\\\u52d5\\\",\\\"$Type\\\":\\\"Clock\\\",\\\"$Version\\\":\\\"3\\\",\\\"Uuid\\\":\\\"1771124541\\\"}]}}\\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;;; 揮竿數標籤\\n\\n(add-component 水平布局1 com.google.appinventor.components.runtime.Label 揮竿數標籤 \\n(set-and-coerce-property! '揮竿數標籤 'Text \\\"\\\\u63ee\\\\u7aff\\\\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;;; 高爾夫球場\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Canvas 高爾夫球場 \\n(set-and-coerce-property! '高爾夫球場 'BackgroundImage \\\"Scene.jpg\\\" 'text)\\n\\n)\\n\\n;;; 球洞\\n\\n(add-component 高爾夫球場 com.google.appinventor.components.runtime.Ball 球洞 \\n(set-and-coerce-property! '球洞 'X 197 'number)\\n\\n(set-and-coerce-property! '球洞 'Y 215 '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! '高爾夫球 'X 56 'number)\\n\\n(set-and-coerce-property! '高爾夫球 'Y 309 '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;;; 移動\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Clock 移動 \\n)\\n\\n(define-event 移動 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) 0.5) '(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":"2018-07-09T13:27:02.830+08:00","updated_at":"2019-10-16T02:36:59.952+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":83,"hashid":"zpeszpdg","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":627638,"file_name":"ballin.mp3","project_id":33966,"asset_id":73327,"created_at":"2018-07-09T13:27:02.837+08:00","updated_at":"2018-07-09T13:27:02.837+08:00"},{"id":627639,"file_name":"ball.mp3","project_id":33966,"asset_id":73326,"created_at":"2018-07-09T13:27:02.839+08:00","updated_at":"2018-07-09T13:27:02.839+08:00"},{"id":627640,"file_name":"Scene.jpg","project_id":33966,"asset_id":73325,"created_at":"2018-07-09T13:27:02.840+08:00","updated_at":"2018-07-09T13:27:02.840+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦