{"id":131235,"student_id":104,"content":"{\"files\":{\"src/appinventor/ai_appinventor/IND02_copy/Screen1.bky\":\"\\u003cxml xmlns=\\\"http://www.w3.org/1999/xhtml\\\"\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"OK3FD/SnSjOB#\\\\!!yS4Jv\\\" x=\\\"-9\\\" y=\\\"-273\\\"\\u003e\\n \\u003cmutation component_type=\\\"Form\\\" instance_name=\\\"Screen1\\\" event_name=\\\"Initialize\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eScreen1\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"\\\\!C^iHbtj=F!4FNAVC)Za\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" method_name=\\\"MoveTo\\\" is_generic=\\\"false\\\" instance_name=\\\"Ball1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eBall1\\u003c/field\\u003e\\n \\u003cvalue name=\\\"ARG0\\\"\\u003e\\n \\u003cblock type=\\\"math_division\\\" id=\\\"]tDLNL=.?s4=.!zEQ??x\\\"\\u003e\\n \\u003ccomment pinned=\\\"false\\\" h=\\\"35\\\" w=\\\"174\\\"\\u003e初始球位於畫件元件最上方正中央\\u003c/comment\\u003e\\n \\u003cvalue name=\\\"B\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"YGhAUh]gLp7H%F,~+w/%\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e2\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ARG1\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"{j:k-W:9m^[7sH8t9]3r\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"EV#mYzgTvnV)5JXmbNy2\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Enabled\\\" is_generic=\\\"false\\\" instance_name=\\\"Ball1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eBall1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"I;OkrGd^$H,m5_HJhB3O\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"procedures_callnoreturn\\\" id=\\\"S!VgFrzx!aHKj#TBrejs\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation name=\\\"updateScore\\\"\\u003e\\n \\u003carg name=\\\"newScore\\\"\\u003e\\u003c/arg\\u003e\\n \\u003c/mutation\\u003e\\n \\u003cfield name=\\\"PROCNAME\\\"\\u003eupdateScore\\u003c/field\\u003e\\n \\u003cvalue name=\\\"ARG0\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"R+ID#hRY=]qh\\\\!\\\\!rdH]{D\\\"\\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=\\\"4y[eDmt,=/$f`!^~~5a}\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" method_name=\\\"MoveTo\\\" is_generic=\\\"false\\\" instance_name=\\\"ImageSprite1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eImageSprite1\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"false\\\" h=\\\"40\\\" w=\\\"159\\\"\\u003e設定Y座標回復至原初始設定\\u003c/comment\\u003e\\n \\u003cvalue name=\\\"ARG0\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"nhv%nUeM@0/M=`=?!Pf}\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ARG1\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"[j%mBw4t8lA@O=?ciPj9\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" set_or_get=\\\"get\\\" property_name=\\\"Y\\\" is_generic=\\\"false\\\" instance_name=\\\"ImageSprite1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eImageSprite1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eY\\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=\\\"procedures_defnoreturn\\\" id=\\\"8p~za_4e\\\\!2OKohn`U?YX\\\" x=\\\"-10\\\" y=\\\"26\\\"\\u003e\\n \\u003cmutation\\u003e\\n \\u003carg name=\\\"newScore\\\"\\u003e\\u003c/arg\\u003e\\n \\u003c/mutation\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003eupdateScore\\u003c/field\\u003e\\n \\u003cfield name=\\\"VAR0\\\"\\u003enewScore\\u003c/field\\u003e\\n \\u003cstatement name=\\\"STACK\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_set\\\" id=\\\"\\\\!.1;cZTHJS;%{(=jKDf@\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal score\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"false\\\" h=\\\"36\\\" w=\\\"107\\\"\\u003e取得代入的成績\\u003c/comment\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"n{^Fl![;Z=$/iw_EkWP,\\\"\\u003e\\n \\u003cmutation component_type=\\\"Label\\\" set_or_get=\\\"set\\\" property_name=\\\"Text\\\" is_generic=\\\"false\\\" instance_name=\\\"LabelScore\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eLabelScore\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eText\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"text_join\\\" id=\\\"p+PRUx.(`e:aIMmSo1$M\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"ADD0\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"D?qV*@1}FbgURHSM=93m\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003e得分:\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ADD1\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"./tvyEWL])Y{cOc8-$,-\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal score\\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/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"global_declaration\\\" id=\\\"%!j}fO,6_CfT%mJsmZ*B\\\" x=\\\"-3\\\" y=\\\"151\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003escore\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"B[T.;R9n,Zwh%TvmLtdl\\\"\\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=\\\"SsGTmNiG+wrE4\\\\!5frf0E\\\" x=\\\"-2\\\" y=\\\"188\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"ButtonStart\\\" event_name=\\\"Click\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eButtonStart\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_set\\\" id=\\\"74ox*JKb)yQhEd\\\\!9/L2{\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal score\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"5@/!5Oj)K]cp4ZG9q)7-\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\";l;+@Umwd3m$,H%vDNe=\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Enabled\\\" is_generic=\\\"false\\\" instance_name=\\\"Ball1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eBall1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_boolean\\\" id=\\\"NL+f).#fP.-YIwB5=tI%\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eTRUE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"#m%W(Ql_B*OpVeCpghuS\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Heading\\\" is_generic=\\\"false\\\" instance_name=\\\"Ball1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eBall1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eHeading\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"true\\\" h=\\\"37\\\" w=\\\"160\\\"\\u003e隨機指定為225~315之間的整數\\u003c/comment\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"?U!HI-aLp@7LS*5\\\\!/Qji\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Speed\\\" is_generic=\\\"false\\\" instance_name=\\\"Ball1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eBall1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eSpeed\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"true\\\" h=\\\"36\\\" w=\\\"86\\\"\\u003e設定球的速度\\u003c/comment\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"{l)yU4{);[6qatn/Zl,y\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Interval\\\" is_generic=\\\"false\\\" instance_name=\\\"Ball1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eBall1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eInterval\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"true\\\" h=\\\"35\\\" w=\\\"90\\\"\\u003e設定球的間隔\\u003c/comment\\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=\\\"(#iWZHQvA,6#YsPiWLB/\\\" x=\\\"9\\\" y=\\\"391\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"ButtonReset\\\" event_name=\\\"Click\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eButtonReset\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"Tb+/Qa=P2{lG.oTpCBqu\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" method_name=\\\"MoveTo\\\" is_generic=\\\"false\\\" instance_name=\\\"Ball1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eBall1\\u003c/field\\u003e\\n \\u003cvalue name=\\\"ARG0\\\"\\u003e\\n \\u003cblock type=\\\"math_division\\\" id=\\\"RAmcT6FjTu0l?\\\\!%gwM#:\\\"\\u003e\\n \\u003ccomment pinned=\\\"true\\\" h=\\\"38\\\" w=\\\"176\\\"\\u003e初始球位於畫件元件最上方正中央\\u003c/comment\\u003e\\n \\u003cvalue name=\\\"B\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"Q//.$]tX~PtnA@[uvv]x\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e2\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ARG1\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"399b`~^!RVgY(L+nHWsb\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\";ocZ;1!DEK?am+j6lQ5c\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Enabled\\\" is_generic=\\\"false\\\" instance_name=\\\"Ball1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eBall1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"fq{5%*RY`w2iW7[zi]Q2\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"procedures_callnoreturn\\\" id=\\\"o6DW+5JNFNBbiqt0XUf9\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation name=\\\"updateScore\\\"\\u003e\\n \\u003carg name=\\\"newScore\\\"\\u003e\\u003c/arg\\u003e\\n \\u003c/mutation\\u003e\\n \\u003cfield name=\\\"PROCNAME\\\"\\u003eupdateScore\\u003c/field\\u003e\\n \\u003cvalue name=\\\"ARG0\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"D[-$w%:#(NiL+jKf~S#R\\\"\\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=\\\"H$g94L5e~8%aV3,aUv=C\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" method_name=\\\"MoveTo\\\" is_generic=\\\"false\\\" instance_name=\\\"ImageSprite1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eImageSprite1\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"true\\\" h=\\\"35\\\" w=\\\"149\\\"\\u003e設定Y座標回復至原初始設定\\u003c/comment\\u003e\\n \\u003cvalue name=\\\"ARG0\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"kNx[@`0\\\\!cR{xN!fS5tyd\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0\\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=\\\"%{a?e9_xo;)qe~A3BRRm\\\" x=\\\"15\\\" y=\\\"707\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" instance_name=\\\"ImageSprite1\\\" event_name=\\\"Dragged\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eImageSprite1\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"=k?yfj6JrJmQan]yY^zh\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" method_name=\\\"MoveTo\\\" is_generic=\\\"false\\\" instance_name=\\\"ImageSprite1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eImageSprite1\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"true\\\" h=\\\"41\\\" w=\\\"154\\\"\\u003e取得目前X\\\\u3001Y座標\\u003c/comment\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"c,L71$hH[^V!mK0I`?GS\\\" x=\\\"16\\\" y=\\\"864\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" instance_name=\\\"Ball1\\\" event_name=\\\"CollidedWith\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eBall1\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"true\\\" h=\\\"36\\\" w=\\\"130\\\"\\u003e設定音效\\\\u3001並進行播放\\u003c/comment\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"ErA/ZAa\\\\!!h-d7u%qdkc,\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Heading\\\" is_generic=\\\"false\\\" instance_name=\\\"Ball1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eBall1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eHeading\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"true\\\" h=\\\"37\\\" w=\\\"154\\\"\\u003e球碰到板子\\\\uff0c改變球的指向\\u003c/comment\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_subtract\\\" id=\\\"{%~S7l*E7hnY#6*vMm(P\\\"\\u003e\\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"procedures_callnoreturn\\\" id=\\\"=Nu-Wk1bI@9OsdCC.mgX\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation name=\\\"updateScore\\\"\\u003e\\n \\u003carg name=\\\"newScore\\\"\\u003e\\u003c/arg\\u003e\\n \\u003c/mutation\\u003e\\n \\u003cfield name=\\\"PROCNAME\\\"\\u003eupdateScore\\u003c/field\\u003e\\n \\u003cvalue name=\\\"ARG0\\\"\\u003e\\n \\u003cblock type=\\\"math_add\\\" id=\\\"bIDvbdCxoFO^*I^vV_H+\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"Wfg}PYI209kc**Pw*,QO\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal score\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"NUM1\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"#-+]w:*3(W:p7:WAtM@8\\\"\\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/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"?0D,3.Yuw;1!h!r.H9Ko\\\" x=\\\"17\\\" y=\\\"1090\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" instance_name=\\\"Ball1\\\" event_name=\\\"EdgeReached\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eBall1\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"controls_if\\\" id=\\\";A+yZIvz9n*3q2~s`S(O\\\"\\u003e\\n \\u003cmutation else=\\\"1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003ccomment pinned=\\\"true\\\" h=\\\"36\\\" w=\\\"136\\\"\\u003e設定音效\\\\u3001並進行播放\\u003c/comment\\u003e\\n \\u003cvalue name=\\\"IF0\\\"\\u003e\\n \\u003cblock type=\\\"math_compare\\\" id=\\\"O7Ud0`qqKS;y]M7OC}[.\\\"\\u003e\\n \\u003cfield name=\\\"OP\\\"\\u003eEQ\\u003c/field\\u003e\\n \\u003ccomment pinned=\\\"true\\\" h=\\\"39\\\" w=\\\"133\\\"\\u003e當球碰到畫布最下方\\u003c/comment\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"cla@e,QZswE3R+6RVkG.\\\"\\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/value\\u003e\\n \\u003cstatement name=\\\"DO0\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\",,r=ucE/B32]K(-Rft\\\\!F\\\"\\u003e\\n \\u003cmutation component_type=\\\"Label\\\" set_or_get=\\\"set\\\" property_name=\\\"Text\\\" is_generic=\\\"false\\\" instance_name=\\\"LabelScore\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eLabelScore\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eText\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"text_join\\\" id=\\\"{,U_y#Z;Wttu3Q+`=5GZ\\\"\\u003e\\n \\u003cmutation items=\\\"3\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"ADD0\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"Di/K!_6;5WQabcOa0BBO\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003e遊戲結束\\\\uff0c您的分數為\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ADD1\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"Z%4mm#Py3eN1l3Zxkftj\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal score\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ADD2\\\"\\u003e\\n \\u003cblock type=\\\"text\\\" id=\\\"*5Z\\\\!5Lp:l^;So\\\\!0N\\\\!D8L\\\"\\u003e\\n \\u003cfield name=\\\"TEXT\\\"\\u003e分\\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=\\\"=0GS3oUR_i_/=7ujXo%x\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Enabled\\\" is_generic=\\\"false\\\" instance_name=\\\"Ball1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eBall1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"6lQJN^j}0ViaxJSkBsbD\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\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/statement\\u003e\\n \\u003cstatement name=\\\"ELSE\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"VhT~x-v@`:o[(8^P9Fv$\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" method_name=\\\"Bounce\\\" is_generic=\\\"false\\\" instance_name=\\\"Ball1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eBall1\\u003c/field\\u003e\\n \\u003cvalue name=\\\"ARG0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"GZj)$EuF[a\\\\!rH)wF5Y[,\\\"\\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 \\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/IND02_copy/Screen1.scm\":\"#|\\n$JSON\\n{\\\"authURL\\\":[\\\"localhost\\\"],\\\"YaVersion\\\":\\\"167\\\",\\\"Source\\\":\\\"Form\\\",\\\"Properties\\\":{\\\"$Name\\\":\\\"Screen1\\\",\\\"$Type\\\":\\\"Form\\\",\\\"$Version\\\":\\\"23\\\",\\\"AppName\\\":\\\"IND02\\\",\\\"Title\\\":\\\"Screen1\\\",\\\"Uuid\\\":\\\"0\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"Canvas1\\\",\\\"$Type\\\":\\\"Canvas\\\",\\\"$Version\\\":\\\"10\\\",\\\"BackgroundColor\\\":\\\"\\u0026HFFCCCCCC\\\",\\\"BackgroundImage\\\":\\\"wall2.jpg\\\",\\\"Height\\\":\\\"350\\\",\\\"Width\\\":\\\"320\\\",\\\"Uuid\\\":\\\"1715039564\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"Ball1\\\",\\\"$Type\\\":\\\"Ball\\\",\\\"$Version\\\":\\\"5\\\",\\\"Heading\\\":\\\"25\\\",\\\"Interval\\\":\\\"5\\\",\\\"PaintColor\\\":\\\"\\u0026HFF0000FF\\\",\\\"Radius\\\":\\\"10\\\",\\\"Speed\\\":\\\"30\\\",\\\"Uuid\\\":\\\"911526045\\\",\\\"X\\\":\\\"160\\\",\\\"Y\\\":\\\"0\\\"},{\\\"$Name\\\":\\\"ImageSprite1\\\",\\\"$Type\\\":\\\"ImageSprite\\\",\\\"$Version\\\":\\\"6\\\",\\\"Picture\\\":\\\"Paddle.gif\\\",\\\"Uuid\\\":\\\"-1439958404\\\",\\\"X\\\":\\\"0\\\",\\\"Y\\\":\\\"300\\\"}]},{\\\"$Name\\\":\\\"HorizontalArrangement1\\\",\\\"$Type\\\":\\\"HorizontalArrangement\\\",\\\"$Version\\\":\\\"3\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"737503721\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"LabelScore\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"FontSize\\\":\\\"20\\\",\\\"Width\\\":\\\"-2\\\",\\\"Text\\\":\\\"\\\\u5f97\\\\u5206\\\\uff1a0\\\",\\\"Uuid\\\":\\\"1187593977\\\"},{\\\"$Name\\\":\\\"ButtonStart\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"FontSize\\\":\\\"20\\\",\\\"Width\\\":\\\"-2\\\",\\\"Text\\\":\\\"\\\\u958b\\\\u59cb\\\",\\\"Uuid\\\":\\\"1296265758\\\"},{\\\"$Name\\\":\\\"ButtonReset\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"FontSize\\\":\\\"20\\\",\\\"Width\\\":\\\"-2\\\",\\\"Text\\\":\\\"\\\\u91cd\\\\u73a9\\\",\\\"Uuid\\\":\\\"1458297397\\\"}]},{\\\"$Name\\\":\\\"Sound1\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Uuid\\\":\\\"1470170718\\\"}]}}\\n|#\",\"src/appinventor/ai_appinventor/IND02_copy/Screen1.yail\":\"#|\\n$Source $Yail\\n|#\\n\\n(define-form appinventor.ai_appinventor.IND02_copy.Screen1 Screen1)\\n(require \\u003ccom.google.youngandroid.runtime\\u003e)\\n\\n(def (p$updateScore $newScore) (set-var! g$score 0)(set-and-coerce-property! 'LabelScore 'Text (call-yail-primitive string-append (*list-for-runtime* \\\"\\\\u5f97\\\\u5206:\\\" (get-var g$score) ) '(text text ) \\\"join\\\") 'text))\\n(def g$score 0)\\n;;; Screen1\\n\\n(do-after-form-creation (set-and-coerce-property! 'Screen1 'AppName \\\"IND02\\\" 'text)\\n (set-and-coerce-property! 'Screen1 'Title \\\"Screen1\\\" 'text)\\n)\\n\\n(define-event Screen1 Initialize()(set-this-form)\\n (call-component-method 'Ball1 'MoveTo (*list-for-runtime* (call-yail-primitive yail-divide (*list-for-runtime* 0 2) '(number number) \\\"yail-divide\\\") 0) '(number number))(set-and-coerce-property! 'Ball1 'Enabled #f 'boolean)((get-var p$updateScore) 0)(call-component-method 'ImageSprite1 'MoveTo (*list-for-runtime* 0 (get-property 'ImageSprite1 'Y)) '(number number)))\\n;;; Canvas1\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Canvas Canvas1 \\n(set-and-coerce-property! 'Canvas1 'BackgroundColor #xFFCCCCCC 'number)\\n\\n(set-and-coerce-property! 'Canvas1 'BackgroundImage \\\"wall2.jpg\\\" 'text)\\n\\n(set-and-coerce-property! 'Canvas1 'Height 350 'number)\\n\\n(set-and-coerce-property! 'Canvas1 'Width 320 'number)\\n\\n)\\n\\n;;; Ball1\\n\\n(add-component Canvas1 com.google.appinventor.components.runtime.Ball Ball1 \\n(set-and-coerce-property! 'Ball1 'Heading 25 'number)\\n\\n(set-and-coerce-property! 'Ball1 'Interval 5 'number)\\n\\n(set-and-coerce-property! 'Ball1 'PaintColor #xFF0000FF 'number)\\n\\n(set-and-coerce-property! 'Ball1 'Radius 10 'number)\\n\\n(set-and-coerce-property! 'Ball1 'Speed 30 'number)\\n\\n(set-and-coerce-property! 'Ball1 'X 160 'number)\\n\\n(set-and-coerce-property! 'Ball1 'Y 0 'number)\\n\\n)\\n\\n(define-event Ball1 CollidedWith($other)(set-this-form)\\n (set-and-coerce-property! 'Ball1 'Heading (call-yail-primitive - (*list-for-runtime* 0 0) '(number number) \\\"-\\\") 'number)((get-var p$updateScore) (call-yail-primitive + (*list-for-runtime* (get-var g$score) 1 ) '(number number ) \\\"+\\\")))\\n(define-event Ball1 EdgeReached($edge)(set-this-form)\\n (if (call-yail-primitive yail-equal? (*list-for-runtime* (lexical-value $edge) 0) '(any any) \\\"=\\\") (begin (set-and-coerce-property! 'LabelScore 'Text (call-yail-primitive string-append (*list-for-runtime* \\\"\\\\u904a\\\\u6232\\\\u7d50\\\\u675f\\\\uff0c\\\\u60a8\\\\u7684\\\\u5206\\\\u6578\\\\u70ba\\\" (get-var g$score) \\\"\\\\u5206\\\" ) '(text text text ) \\\"join\\\") 'text)(set-and-coerce-property! 'Ball1 'Enabled #f 'boolean)) (begin (call-component-method 'Ball1 'Bounce (*list-for-runtime* (lexical-value $edge)) '(number)))))\\n;;; ImageSprite1\\n\\n(add-component Canvas1 com.google.appinventor.components.runtime.ImageSprite ImageSprite1 \\n(set-and-coerce-property! 'ImageSprite1 'Picture \\\"Paddle.gif\\\" 'text)\\n\\n(set-and-coerce-property! 'ImageSprite1 'X 0 'number)\\n\\n(set-and-coerce-property! 'ImageSprite1 'Y 300 'number)\\n\\n)\\n\\n(define-event ImageSprite1 Dragged($startX $startY $prevX $prevY $currentX $currentY)(set-this-form)\\n (call-component-method 'ImageSprite1 'MoveTo (*list-for-runtime* ) '(number number)))\\n;;; HorizontalArrangement1\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.HorizontalArrangement HorizontalArrangement1 \\n(set-and-coerce-property! 'HorizontalArrangement1 'Width -2 'number)\\n\\n)\\n\\n;;; LabelScore\\n\\n(add-component HorizontalArrangement1 com.google.appinventor.components.runtime.Label LabelScore \\n(set-and-coerce-property! 'LabelScore 'FontSize 20 'number)\\n\\n(set-and-coerce-property! 'LabelScore 'Width -2 'number)\\n\\n(set-and-coerce-property! 'LabelScore 'Text \\\"\\\\u5f97\\\\u5206:0\\\" 'text)\\n\\n)\\n\\n;;; ButtonStart\\n\\n(add-component HorizontalArrangement1 com.google.appinventor.components.runtime.Button ButtonStart \\n(set-and-coerce-property! 'ButtonStart 'FontSize 20 'number)\\n\\n(set-and-coerce-property! 'ButtonStart 'Width -2 'number)\\n\\n(set-and-coerce-property! 'ButtonStart 'Text \\\"\\\\u958b\\\\u59cb\\\" 'text)\\n\\n)\\n\\n(define-event ButtonStart Click()(set-this-form)\\n (set-var! g$score 0)(set-and-coerce-property! 'Ball1 'Enabled #t 'boolean)(set-and-coerce-property! 'Ball1 'Heading 'number)(set-and-coerce-property! 'Ball1 'Speed 'number)(set-and-coerce-property! 'Ball1 'Interval 'number))\\n;;; ButtonReset\\n\\n(add-component HorizontalArrangement1 com.google.appinventor.components.runtime.Button ButtonReset \\n(set-and-coerce-property! 'ButtonReset 'FontSize 20 'number)\\n\\n(set-and-coerce-property! 'ButtonReset 'Width -2 'number)\\n\\n(set-and-coerce-property! 'ButtonReset 'Text \\\"\\\\u91cd\\\\u73a9\\\" 'text)\\n\\n)\\n\\n(define-event ButtonReset Click()(set-this-form)\\n (call-component-method 'Ball1 'MoveTo (*list-for-runtime* (call-yail-primitive yail-divide (*list-for-runtime* 0 2) '(number number) \\\"yail-divide\\\") 0) '(number number))(set-and-coerce-property! 'Ball1 'Enabled #f 'boolean)((get-var p$updateScore) 0)(call-component-method 'ImageSprite1 'MoveTo (*list-for-runtime* 0 ) '(number number)))\\n;;; Sound1\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Sound Sound1 \\n)\\n\\n(init-runtime)\"},\"settings\":\"{\\\"SimpleSettings\\\":{\\\"AccentColor\\\":\\\"\\u0026HFFFF4081\\\",\\\"ActionBar\\\":\\\"False\\\",\\\"AppName\\\":\\\"IND02\\\",\\\"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":"2020-03-07T20:41:54.138+08:00","updated_at":"2020-03-07T21:15:59.604+08:00","name":"IND02_copy","language":"appinventor","screenshot":{"url":null},"parent_id":124175,"plugin":null,"description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":94,"hashid":"36ysny2w","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":2257836,"file_name":"wall2.jpg","project_id":131235,"asset_id":185030,"created_at":"2020-03-07T20:41:54.145+08:00","updated_at":"2020-03-07T20:41:54.145+08:00"},{"id":2257837,"file_name":"Paddle.gif","project_id":131235,"asset_id":185029,"created_at":"2020-03-07T20:41:54.146+08:00","updated_at":"2020-03-07T20:41:54.146+08:00"},{"id":2257838,"file_name":"Noink.mp3","project_id":131235,"asset_id":185028,"created_at":"2020-03-07T20:41:54.147+08:00","updated_at":"2020-03-07T20:41:54.147+08:00"},{"id":2257839,"file_name":"Buzzer.mp3","project_id":131235,"asset_id":185027,"created_at":"2020-03-07T20:41:54.148+08:00","updated_at":"2020-03-07T20:41:54.148+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦