{"id":78175,"student_id":1981,"content":"{\"files\":{\"src/appinventor/ai_appinventor/ShootingGame_Sa/Screen1.bky\":\"\\u003cxml xmlns=\\\"http://www.w3.org/1999/xhtml\\\"\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"SL-T{U#@~92+c`,FsT6@\\\" x=\\\"0\\\" y=\\\"0\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" instance_name=\\\"戰機\\\" event_name=\\\"Dragged\\\"\\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=\\\"@ej~Czz$wa8\\\\!a%;W5;l(\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" 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=\\\"lexical_variable_get\\\" id=\\\"RCOJL6/Q93o#t093inX[\\\"\\u003e\\n \\u003cmutation\\u003e\\n \\u003ceventparam name=\\\"currentX\\\"\\u003e\\u003c/eventparam\\u003e\\n \\u003c/mutation\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003e當前X座標\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\";%u,iaY0tWB8:D@EImw!\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" 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=\\\"lexical_variable_get\\\" id=\\\"Mwvamm-D;B5Jfa`g\\\\!p~/\\\"\\u003e\\n \\u003cmutation\\u003e\\n \\u003ceventparam name=\\\"currentY\\\"\\u003e\\u003c/eventparam\\u003e\\n \\u003c/mutation\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003e當前Y座標\\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 \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"cOx=IwL#KUFOS=E~1ZL(\\\" x=\\\"0\\\" y=\\\"143\\\"\\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=\\\"procedures_callnoreturn\\\" id=\\\"~O9[CfJC:Oh{tqb3jxlw\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation name=\\\"產生新隕石\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"PROCNAME\\\"\\u003e產生新隕石\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"procedures_defnoreturn\\\" id=\\\"22\\\" x=\\\"0\\\" y=\\\"235\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003e產生新隕石\\u003c/field\\u003e\\n \\u003cstatement name=\\\"STACK\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"cx(CD0;6K$%zpEybZ7%b\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" 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=\\\"2NNGES^nom},fn[Rtm1Q\\\"\\u003e\\n \\u003cvalue name=\\\"FROM\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"T/=hI{^n2aNzd?Y~GY]w\\\"\\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=\\\"p9i%t!~^Oy+kETDE2}]s\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e270\\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=\\\"z*MYH}\\\\!.WuZp~}e/_Gjo\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" 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_number\\\" id=\\\"8F,mt\\\\!.~+n\\\\!cBLSzfzxO\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e1\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"B%./:MbovM8hBRm.iVoK\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" set_or_get=\\\"set\\\" property_name=\\\"Visible\\\" is_generic=\\\"false\\\" instance_name=\\\"隕石\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e隕石\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eVisible\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_boolean\\\" id=\\\"=aab4tz+]BKpn@Aj${/p\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eTRUE\\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/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"6\\\" x=\\\"0\\\" y=\\\"390\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" instance_name=\\\"戰機\\\" event_name=\\\"Touched\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e戰機\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"rMq0tP1fAlwn}?*Gj^cN\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" method_name=\\\"MoveTo\\\" 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=\\\"math_add\\\" id=\\\"P;F1Oti^7v1)()3P,o9A\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"ZPhvdP)0p5`Nxfc.bGEp\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" 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 \\u003cvalue name=\\\"NUM1\\\"\\u003e\\n \\u003cblock type=\\\"math_division\\\" id=\\\"_zadlo~(~KNgojiw3RMJ\\\"\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"hgzW,2orBmPh$3r1PoD*\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" set_or_get=\\\"get\\\" property_name=\\\"Width\\\" is_generic=\\\"false\\\" instance_name=\\\"戰機\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e戰機\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eWidth\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"B\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"YOF)DzYE*an3\\\\!D9`)V}a\\\"\\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 \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"ARG1\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"fB)RJCVsxh4+MG6jH(Vr\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" 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=\\\"dfc5qk?5:VMk+HrB,]Cc\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Visible\\\" is_generic=\\\"false\\\" instance_name=\\\"飛彈\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e飛彈\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eVisible\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_boolean\\\" id=\\\"fXB0YFqLg9GmSDWA%8XS\\\"\\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=\\\"!MW@G@c.47bSox$$33_j\\\"\\u003e\\n \\u003cmutation component_type=\\\"Clock\\\" set_or_get=\\\"set\\\" property_name=\\\"TimerEnabled\\\" is_generic=\\\"false\\\" instance_name=\\\"計時器1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e計時器1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eTimerEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_boolean\\\" id=\\\"^Jj(}Vl23oPkm?ppB;-F\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eTRUE\\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/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"1\\\" x=\\\"0\\\" y=\\\"632\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" 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_set_get\\\" id=\\\"2\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" set_or_get=\\\"set\\\" property_name=\\\"Visible\\\" is_generic=\\\"false\\\" instance_name=\\\"隕石\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e隕石\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eVisible\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"3\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\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=\\\"4\\\" inline=\\\"false\\\" x=\\\"0\\\" y=\\\"749\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003e擊落數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"5\\\"\\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=\\\"16\\\" x=\\\"0\\\" y=\\\"802\\\"\\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=\\\"17\\\" inline=\\\"false\\\"\\u003e\\n \\u003cvalue name=\\\"IF0\\\"\\u003e\\n \\u003cblock type=\\\"logic_compare\\\" id=\\\"18\\\"\\u003e\\n \\u003cfield name=\\\"OP\\\"\\u003eEQ\\u003c/field\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"19\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" set_or_get=\\\"get\\\" property_name=\\\"Visible\\\" is_generic=\\\"false\\\" instance_name=\\\"隕石\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e隕石\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eVisible\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"B\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"20\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\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=\\\"procedures_callnoreturn\\\" id=\\\"21\\\"\\u003e\\n \\u003cmutation name=\\\"產生新隕石\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"PROCNAME\\\"\\u003e產生新隕石\\u003c/field\\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=\\\"12\\\" x=\\\"0\\\" y=\\\"944\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" 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=\\\"controls_if\\\" id=\\\"13\\\" inline=\\\"false\\\"\\u003e\\n \\u003cvalue name=\\\"IF0\\\"\\u003e\\n \\u003cblock type=\\\"math_compare\\\" id=\\\"rK*pvqR:smyp0CdC)O8-\\\"\\u003e\\n \\u003cfield name=\\\"OP\\\"\\u003eEQ\\u003c/field\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"*tk2](}#i\\\\!LfZ$fo4*0J\\\"\\u003e\\n \\u003cmutation\\u003e\\n \\u003ceventparam name=\\\"other\\\"\\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=\\\"B\\\"\\u003e\\n \\u003cblock type=\\\"component_component_block\\\" id=\\\"pHCcVMIDsfvFG+j3gRUb\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" instance_name=\\\"飛彈\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\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=\\\"lexical_variable_set\\\" id=\\\"14\\\" inline=\\\"false\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 擊落數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_add\\\" id=\\\"w%77[ZyK(Rs%Jst8=oQ7\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"KN?3*jwQe*ac3o^}O!^I\\\"\\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=\\\"KRXBMJ`hx+k)Dko,BtO$\\\"\\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=\\\"15\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Label\\\" set_or_get=\\\"set\\\" property_name=\\\"Text\\\" is_generic=\\\"false\\\" instance_name=\\\"得分\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e得分\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eText\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"S7,K5r\\\\!$K*G7RcMp08u`\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 擊落數\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"procedures_callnoreturn\\\" id=\\\"H`p#$z\\\\!oMZ.zZY8ue,s$\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation name=\\\"隕石爆炸效果\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"PROCNAME\\\"\\u003e隕石爆炸效果\\u003c/field\\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 \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"23\\\" x=\\\"0\\\" y=\\\"1174\\\"\\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=\\\"component_set_get\\\" id=\\\"24\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Y\\\" is_generic=\\\"false\\\" instance_name=\\\"飛彈\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e飛彈\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eY\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_subtract\\\" id=\\\"25\\\"\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"26\\\"\\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 \\u003cvalue name=\\\"B\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"27\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e30\\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 \\u003cblock type=\\\"procedures_defnoreturn\\\" id=\\\"31\\\" x=\\\"0\\\" y=\\\"1277\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003e隕石爆炸效果\\u003c/field\\u003e\\n \\u003cstatement name=\\\"STACK\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"32\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Visible\\\" is_generic=\\\"false\\\" instance_name=\\\"飛彈\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e飛彈\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eVisible\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"33\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"34\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" set_or_get=\\\"set\\\" property_name=\\\"Visible\\\" is_generic=\\\"false\\\" instance_name=\\\"隕石\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e隕石\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eVisible\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"35\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"36\\\"\\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=\\\"37\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Clock\\\" set_or_get=\\\"set\\\" property_name=\\\"TimerEnabled\\\" is_generic=\\\"false\\\" instance_name=\\\"隕石隨機出現_計時器\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e隕石隨機出現_計時器\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eTimerEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_boolean\\\" id=\\\"38\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eTRUE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"procedures_callnoreturn\\\" id=\\\"39\\\"\\u003e\\n \\u003cmutation name=\\\"產生新隕石\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"PROCNAME\\\"\\u003e產生新隕石\\u003c/field\\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=\\\"28\\\" x=\\\"0\\\" y=\\\"1473\\\"\\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_set_get\\\" id=\\\"29\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Visible\\\" is_generic=\\\"false\\\" instance_name=\\\"飛彈\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e飛彈\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eVisible\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"30\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\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/ShootingGame_Sa/Screen1.scm\":\"#|\\n$JSON\\n{\\\"authURL\\\":[\\\"ai2.appinventor.mit.edu\\\",\\\"koding.school\\\"],\\\"YaVersion\\\":\\\"167\\\",\\\"Source\\\":\\\"Form\\\",\\\"Properties\\\":{\\\"$Name\\\":\\\"Screen1\\\",\\\"$Type\\\":\\\"Form\\\",\\\"$Version\\\":\\\"23\\\",\\\"AppName\\\":\\\"\\\\u5f57\\\\u661f\\\\u649e\\\\u5730\\\\u7403\\\",\\\"BackgroundColor\\\":\\\"\\u0026HFF000000\\\",\\\"Icon\\\":\\\"shootinggame.png\\\",\\\"ScreenOrientation\\\":\\\"portrait\\\",\\\"Scrollable\\\":\\\"True\\\",\\\"Title\\\":\\\"\\\\u5f57\\\\u661f\\\\u649e\\\\u5730\\\\u7403\\\",\\\"Uuid\\\":\\\"0\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"VerticalArrangement2\\\",\\\"$Type\\\":\\\"VerticalArrangement\\\",\\\"$Version\\\":\\\"3\\\",\\\"AlignHorizontal\\\":\\\"3\\\",\\\"AlignVertical\\\":\\\"2\\\",\\\"BackgroundColor\\\":\\\"\\u0026HFF000000\\\",\\\"Height\\\":\\\"-2\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"-1859112562\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"Canvas1\\\",\\\"$Type\\\":\\\"Canvas\\\",\\\"$Version\\\":\\\"10\\\",\\\"BackgroundColor\\\":\\\"\\u0026H00FFFFFF\\\",\\\"BackgroundImage\\\":\\\"aa.jpg\\\",\\\"Height\\\":\\\"-2\\\",\\\"Width\\\":\\\"300\\\",\\\"Uuid\\\":\\\"-444572077\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u6230\\\\u6a5f\\\",\\\"$Type\\\":\\\"ImageSprite\\\",\\\"$Version\\\":\\\"6\\\",\\\"Picture\\\":\\\"cover.png\\\",\\\"Uuid\\\":\\\"1738721699\\\",\\\"X\\\":\\\"126\\\",\\\"Y\\\":\\\"230\\\"},{\\\"$Name\\\":\\\"\\\\u9695\\\\u77f3\\\",\\\"$Type\\\":\\\"ImageSprite\\\",\\\"$Version\\\":\\\"6\\\",\\\"Heading\\\":\\\"270\\\",\\\"Interval\\\":\\\"300\\\",\\\"Picture\\\":\\\"ss.png\\\",\\\"Speed\\\":\\\"25\\\",\\\"Uuid\\\":\\\"1667594943\\\",\\\"Visible\\\":\\\"False\\\",\\\"X\\\":\\\"12\\\",\\\"Y\\\":\\\"1\\\"},{\\\"$Name\\\":\\\"\\\\u98db\\\\u5f48\\\",\\\"$Type\\\":\\\"Ball\\\",\\\"$Version\\\":\\\"5\\\",\\\"PaintColor\\\":\\\"\\u0026HFFFF0000\\\",\\\"Uuid\\\":\\\"861100041\\\",\\\"X\\\":\\\"134\\\",\\\"Y\\\":\\\"218\\\"}]},{\\\"$Name\\\":\\\"\\\\u6c34\\\\u5e73\\\\u5e03\\\\u5c401\\\",\\\"$Type\\\":\\\"HorizontalArrangement\\\",\\\"$Version\\\":\\\"3\\\",\\\"BackgroundColor\\\":\\\"\\u0026HFF000000\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"-185233939\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u64ca\\\\u843d\\\\u9695\\\\u77f3\\\\u6578\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"FontBold\\\":\\\"True\\\",\\\"FontSize\\\":\\\"16\\\",\\\"FontTypeface\\\":\\\"2\\\",\\\"HasMargins\\\":\\\"False\\\",\\\"Text\\\":\\\"\\\\u64ca\\\\u843d\\\\u9695\\\\u77f3\\\\u6578\\\\u91cf:\\\",\\\"TextColor\\\":\\\"\\u0026HFFFFFFFF\\\",\\\"Uuid\\\":\\\"-334844177\\\"},{\\\"$Name\\\":\\\"\\\\u5f97\\\\u5206\\\",\\\"$Type\\\":\\\"Label\\\",\\\"$Version\\\":\\\"4\\\",\\\"HasMargins\\\":\\\"False\\\",\\\"TextColor\\\":\\\"\\u0026HFFFFFF00\\\",\\\"Uuid\\\":\\\"-959862787\\\"}]}]},{\\\"$Name\\\":\\\"\\\\u9695\\\\u77f3\\\\u96a8\\\\u6a5f\\\\u51fa\\\\u73fe_\\\\u8a08\\\\u6642\\\\u5668\\\",\\\"$Type\\\":\\\"Clock\\\",\\\"$Version\\\":\\\"3\\\",\\\"Uuid\\\":\\\"-1546790221\\\"},{\\\"$Name\\\":\\\"\\\\u5c04\\\\u64ca_\\\\u97f3\\\\u6548\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"attack.mp3\\\",\\\"Uuid\\\":\\\"-1893245312\\\"},{\\\"$Name\\\":\\\"\\\\u9695\\\\u77f3\\\\u7206\\\\u70b8_\\\\u97f3\\\\u6548\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"destruction.mp3\\\",\\\"Uuid\\\":\\\"289608426\\\"},{\\\"$Name\\\":\\\"\\\\u8a08\\\\u6642\\\\u56681\\\",\\\"$Type\\\":\\\"Clock\\\",\\\"$Version\\\":\\\"3\\\",\\\"TimerInterval\\\":\\\"500\\\",\\\"Uuid\\\":\\\"-2015501659\\\"}]}}\\n|#\",\"src/appinventor/ai_appinventor/ShootingGame_Sa/Screen2.bky\":\"\\u003cxml xmlns=\\\"http://www.w3.org/1999/xhtml\\\"\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"1\\\" x=\\\"272\\\" y=\\\"89\\\"\\u003e\\n \\u003cmutation component_type=\\\"Form\\\" instance_name=\\\"Screen2\\\" event_name=\\\"BackPressed\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eScreen2\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"2\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" method_name=\\\"MoveIntoBounds\\\" is_generic=\\\"false\\\" instance_name=\\\"球形精靈1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e球形精靈1\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"global_declaration\\\" id=\\\"3\\\" inline=\\\"false\\\" x=\\\"850\\\" y=\\\"124\\\"\\u003e\\n \\u003cfield name=\\\"NAME\\\"\\u003e我的變數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"4\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"5\\\" x=\\\"249\\\" y=\\\"196\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" instance_name=\\\"球形精靈1\\\" event_name=\\\"TouchDown\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e球形精靈1\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"6\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Heading\\\" is_generic=\\\"false\\\" instance_name=\\\"球形精靈1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e球形精靈1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eHeading\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"7\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e270\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"8\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Ball\\\" set_or_get=\\\"set\\\" property_name=\\\"Speed\\\" is_generic=\\\"false\\\" instance_name=\\\"球形精靈1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e球形精靈1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eSpeed\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"9\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e5\\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 \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"10\\\" inline=\\\"false\\\" x=\\\"874\\\" y=\\\"207\\\"\\u003e\\n \\u003cmutation component_type=\\\"Clock\\\" set_or_get=\\\"set\\\" property_name=\\\"TimerInterval\\\" is_generic=\\\"false\\\" instance_name=\\\"計時器1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e計時器1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eTimerInterval\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"11\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e500\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"12\\\" x=\\\"869\\\" y=\\\"261\\\"\\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=\\\"lexical_variable_set\\\" id=\\\"13\\\" inline=\\\"false\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 我的變數\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_add\\\" id=\\\"14\\\" inline=\\\"true\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"15\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 我的變數\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"NUM1\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"16\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e1\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cnext\\u003e\\n \\u003cblock type=\\\"controls_if\\\" id=\\\"17\\\" inline=\\\"false\\\"\\u003e\\n \\u003cvalue name=\\\"IF0\\\"\\u003e\\n \\u003cblock type=\\\"math_compare\\\" id=\\\"18\\\" inline=\\\"true\\\"\\u003e\\n \\u003cfield name=\\\"OP\\\"\\u003eEQ\\u003c/field\\u003e\\n \\u003cvalue name=\\\"A\\\"\\u003e\\n \\u003cblock type=\\\"lexical_variable_get\\\" id=\\\"19\\\"\\u003e\\n \\u003cfield name=\\\"VAR\\\"\\u003eglobal 我的變數\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"B\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"20\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e10\\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=\\\"21\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Clock\\\" set_or_get=\\\"set\\\" property_name=\\\"TimerEnabled\\\" is_generic=\\\"false\\\" instance_name=\\\"計時器1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e計時器1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eTimerEnabled\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"logic_false\\\" id=\\\"22\\\"\\u003e\\n \\u003cfield name=\\\"BOOL\\\"\\u003eFALSE\\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/next\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"23\\\" inline=\\\"false\\\" x=\\\"186\\\" y=\\\"391\\\"\\u003e\\n \\u003cmutation component_type=\\\"ImageSprite\\\" set_or_get=\\\"set\\\" property_name=\\\"Heading\\\" is_generic=\\\"false\\\" instance_name=\\\"圖片精靈1\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e圖片精靈1\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eHeading\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"24\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e270\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003c/block\\u003e\\n \\u003cyacodeblocks ya-version=\\\"159\\\" language-version=\\\"20\\\"\\u003e\\u003c/yacodeblocks\\u003e\\n\\u003c/xml\\u003e\",\"src/appinventor/ai_appinventor/ShootingGame_Sa/Screen2.scm\":\"#|\\n$JSON\\n{\\\"YaVersion\\\":\\\"167\\\",\\\"Source\\\":\\\"Form\\\",\\\"Properties\\\":{\\\"$Version\\\":\\\"23\\\",\\\"AlignHorizontal\\\":\\\"3\\\",\\\"AppName\\\":\\\"ShootingGame\\\",\\\"$Type\\\":\\\"Form\\\",\\\"$Name\\\":\\\"Screen2\\\",\\\"Title\\\":\\\"Screen2\\\",\\\"Uuid\\\":\\\"0\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u756b\\\\u5e031\\\",\\\"$Type\\\":\\\"Canvas\\\",\\\"$Version\\\":\\\"10\\\",\\\"Height\\\":\\\"300\\\",\\\"Width\\\":\\\"300\\\",\\\"Uuid\\\":\\\"-1359007145\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u5716\\\\u7247\\\\u7cbe\\\\u97481\\\",\\\"$Type\\\":\\\"ImageSprite\\\",\\\"$Version\\\":\\\"6\\\",\\\"Uuid\\\":\\\"-492684064\\\",\\\"X\\\":\\\"60\\\",\\\"Y\\\":\\\"266\\\"},{\\\"$Name\\\":\\\"\\\\u7403\\\\u5f62\\\\u7cbe\\\\u97481\\\",\\\"$Type\\\":\\\"Ball\\\",\\\"$Version\\\":\\\"5\\\",\\\"Interval\\\":\\\"0\\\",\\\"Radius\\\":\\\"10\\\",\\\"Speed\\\":\\\"5\\\",\\\"Uuid\\\":\\\"1716798202\\\",\\\"X\\\":\\\"99\\\",\\\"Y\\\":\\\"139\\\"}]},{\\\"$Name\\\":\\\"\\\\u8a08\\\\u6642\\\\u56681\\\",\\\"$Type\\\":\\\"Clock\\\",\\\"$Version\\\":\\\"3\\\",\\\"Uuid\\\":\\\"-113048454\\\"}]}}\\n|#\",\"src/appinventor/ai_appinventor/ShootingGame_Sa/Screen1.yail\":\"#|\\n$Source $Yail\\n|#\\n\\n(define-form appinventor.ai_appinventor.ShootingGame_Sa.Screen1 Screen1)\\n(require \\u003ccom.google.youngandroid.runtime\\u003e)\\n\\n(def (p$產生新隕石 ) (set-and-coerce-property! '隕石 'X (call-yail-primitive random-integer (*list-for-runtime* 1 270) '(number number) \\\"random integer\\\") 'number)(set-and-coerce-property! '隕石 'Y 1 'number)(set-and-coerce-property! '隕石 'Visible #t 'boolean))\\n(def g$擊落數 0)\\n(def (p$隕石爆炸效果 ) (set-and-coerce-property! '飛彈 'Visible #f 'boolean)(set-and-coerce-property! '隕石 'Visible #f 'boolean)(call-component-method '隕石爆炸_音效 'Play (*list-for-runtime*) '())(set-and-coerce-property! '隕石隨機出現_計時器 'TimerEnabled #t 'boolean)((get-var p$產生新隕石) ))\\n;;; Screen1\\n\\n(do-after-form-creation (set-and-coerce-property! 'Screen1 'AppName \\\"\\\\u5f57\\\\u661f\\\\u649e\\\\u5730\\\\u7403\\\" 'text)\\n (set-and-coerce-property! 'Screen1 'BackgroundColor #xFF000000 'number)\\n (set-and-coerce-property! 'Screen1 'Icon \\\"shootinggame.png\\\" 'text)\\n (set-and-coerce-property! 'Screen1 'ScreenOrientation \\\"portrait\\\" 'text)\\n (set-and-coerce-property! 'Screen1 'Scrollable #t 'boolean)\\n (set-and-coerce-property! 'Screen1 'Title \\\"\\\\u5f57\\\\u661f\\\\u649e\\\\u5730\\\\u7403\\\" 'text)\\n)\\n\\n(define-event Screen1 Initialize()(set-this-form)\\n ((get-var p$產生新隕石) ))\\n;;; VerticalArrangement2\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.VerticalArrangement VerticalArrangement2 \\n(set-and-coerce-property! 'VerticalArrangement2 'AlignHorizontal 3 'number)\\n\\n(set-and-coerce-property! 'VerticalArrangement2 'AlignVertical 2 'number)\\n\\n(set-and-coerce-property! 'VerticalArrangement2 'BackgroundColor #xFF000000 'number)\\n\\n(set-and-coerce-property! 'VerticalArrangement2 'Height -2 'number)\\n\\n(set-and-coerce-property! 'VerticalArrangement2 'Width -2 'number)\\n\\n)\\n\\n;;; Canvas1\\n\\n(add-component VerticalArrangement2 com.google.appinventor.components.runtime.Canvas Canvas1 \\n(set-and-coerce-property! 'Canvas1 'BackgroundColor #x00FFFFFF 'number)\\n\\n(set-and-coerce-property! 'Canvas1 'BackgroundImage \\\"aa.jpg\\\" 'text)\\n\\n(set-and-coerce-property! 'Canvas1 'Height -2 'number)\\n\\n(set-and-coerce-property! 'Canvas1 'Width 300 'number)\\n\\n)\\n\\n;;; 戰機\\n\\n(add-component Canvas1 com.google.appinventor.components.runtime.ImageSprite 戰機 \\n(set-and-coerce-property! '戰機 'Picture \\\"cover.png\\\" 'text)\\n\\n(set-and-coerce-property! '戰機 'X 126 'number)\\n\\n(set-and-coerce-property! '戰機 'Y 230 'number)\\n\\n)\\n\\n(define-event 戰機 Dragged($startX $startY $prevX $prevY $currentX $currentY)(set-this-form)\\n (set-and-coerce-property! '戰機 'X (lexical-value $currentX) 'number)(set-and-coerce-property! '戰機 'Y (lexical-value $currentY) 'number))\\n(define-event 戰機 Touched($x $y)(set-this-form)\\n (call-component-method '飛彈 'MoveTo (*list-for-runtime* (call-yail-primitive + (*list-for-runtime* (get-property '戰機 'X) (call-yail-primitive yail-divide (*list-for-runtime* (get-property '戰機 'Width) 2) '(number number) \\\"yail-divide\\\") ) '(number number ) \\\"+\\\") (get-property '戰機 'Y)) '(number number))(set-and-coerce-property! '飛彈 'Visible #t 'boolean)(set-and-coerce-property! '計時器1 'TimerEnabled #t 'boolean))\\n;;; 隕石\\n\\n(add-component Canvas1 com.google.appinventor.components.runtime.ImageSprite 隕石 \\n(set-and-coerce-property! '隕石 'Heading 270 'number)\\n\\n(set-and-coerce-property! '隕石 'Interval 300 'number)\\n\\n(set-and-coerce-property! '隕石 'Picture \\\"ss.png\\\" 'text)\\n\\n(set-and-coerce-property! '隕石 'Speed 25 'number)\\n\\n(set-and-coerce-property! '隕石 'Visible #f 'boolean)\\n\\n(set-and-coerce-property! '隕石 'X 12 'number)\\n\\n(set-and-coerce-property! '隕石 'Y 1 'number)\\n\\n)\\n\\n(define-event 隕石 EdgeReached($edge)(set-this-form)\\n (set-and-coerce-property! '隕石 'Visible #f 'boolean))\\n(define-event 隕石 CollidedWith($other)(set-this-form)\\n (if (call-yail-primitive yail-equal? (*list-for-runtime* (lexical-value $other) (get-component 飛彈)) '(any any) \\\"=\\\") (begin (set-var! g$擊落數 (call-yail-primitive + (*list-for-runtime* (get-var g$擊落數) 1 ) '(number number ) \\\"+\\\"))(set-and-coerce-property! '得分 'Text (get-var g$擊落數) 'text)((get-var p$隕石爆炸效果) ))))\\n;;; 飛彈\\n\\n(add-component Canvas1 com.google.appinventor.components.runtime.Ball 飛彈 \\n(set-and-coerce-property! '飛彈 'PaintColor #xFFFF0000 'number)\\n\\n(set-and-coerce-property! '飛彈 'X 134 'number)\\n\\n(set-and-coerce-property! '飛彈 'Y 218 'number)\\n\\n)\\n\\n(define-event 飛彈 EdgeReached($edge)(set-this-form)\\n (set-and-coerce-property! '飛彈 'Visible #f 'boolean))\\n;;; 水平布局1\\n\\n(add-component VerticalArrangement2 com.google.appinventor.components.runtime.HorizontalArrangement 水平布局1 \\n(set-and-coerce-property! '水平布局1 'BackgroundColor #xFF000000 '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! '擊落隕石數 'FontBold #t 'boolean)\\n\\n(set-and-coerce-property! '擊落隕石數 'FontSize 16 'number)\\n\\n(set-and-coerce-property! '擊落隕石數 'FontTypeface 2 'number)\\n\\n(set-and-coerce-property! '擊落隕石數 'HasMargins #f 'boolean)\\n\\n(set-and-coerce-property! '擊落隕石數 'Text \\\"\\\\u64ca\\\\u843d\\\\u9695\\\\u77f3\\\\u6578\\\\u91cf:\\\" 'text)\\n\\n(set-and-coerce-property! '擊落隕石數 'TextColor #xFFFFFFFF 'number)\\n\\n)\\n\\n;;; 得分\\n\\n(add-component 水平布局1 com.google.appinventor.components.runtime.Label 得分 \\n(set-and-coerce-property! '得分 'HasMargins #f 'boolean)\\n\\n(set-and-coerce-property! '得分 'TextColor #xFFFFFF00 'number)\\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 yail-equal? (*list-for-runtime* (get-property '隕石 'Visible) #f) '(any any) \\\"=\\\") (begin ((get-var p$產生新隕石) ))))\\n;;; 射擊_音效\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Sound 射擊_音效 \\n(set-and-coerce-property! '射擊_音效 'Source \\\"attack.mp3\\\" 'text)\\n\\n)\\n\\n;;; 隕石爆炸_音效\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Sound 隕石爆炸_音效 \\n(set-and-coerce-property! '隕石爆炸_音效 'Source \\\"destruction.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 500 'number)\\n\\n)\\n\\n(define-event 計時器1 Timer()(set-this-form)\\n (set-and-coerce-property! '飛彈 'Y (call-yail-primitive - (*list-for-runtime* (get-property '飛彈 'Y) 30) '(number number) \\\"-\\\") 'number))\\n(init-runtime)\",\"src/appinventor/ai_appinventor/ShootingGame_Sa/Screen2.yail\":\"#|\\n$Source $Yail\\n|#\\n\\n(define-form appinventor.ai_appinventor.ShootingGame_Sa.Screen2 Screen2)\\n(require \\u003ccom.google.youngandroid.runtime\\u003e)\\n\\n(def g$我的變數 0)\\n;;; Screen2\\n\\n(do-after-form-creation (set-and-coerce-property! 'Screen2 'AlignHorizontal 3 'number)\\n (set-and-coerce-property! 'Screen2 'AppName \\\"ShootingGame\\\" 'text)\\n (set-and-coerce-property! 'Screen2 'Title \\\"Screen2\\\" 'text)\\n)\\n\\n(define-event Screen2 BackPressed()(set-this-form)\\n (call-component-method '球形精靈1 'MoveIntoBounds (*list-for-runtime*) '()))\\n;;; 畫布1\\n\\n(add-component Screen2 com.google.appinventor.components.runtime.Canvas 畫布1 \\n(set-and-coerce-property! '畫布1 'Height 300 'number)\\n\\n(set-and-coerce-property! '畫布1 'Width 300 'number)\\n\\n)\\n\\n;;; 圖片精靈1\\n\\n(add-component 畫布1 com.google.appinventor.components.runtime.ImageSprite 圖片精靈1 \\n(set-and-coerce-property! '圖片精靈1 'X 60 'number)\\n\\n(set-and-coerce-property! '圖片精靈1 'Y 266 'number)\\n\\n)\\n\\n;;; 球形精靈1\\n\\n(add-component 畫布1 com.google.appinventor.components.runtime.Ball 球形精靈1 \\n(set-and-coerce-property! '球形精靈1 'Interval 0 'number)\\n\\n(set-and-coerce-property! '球形精靈1 'Radius 10 'number)\\n\\n(set-and-coerce-property! '球形精靈1 'Speed 5 'number)\\n\\n(set-and-coerce-property! '球形精靈1 'X 99 'number)\\n\\n(set-and-coerce-property! '球形精靈1 'Y 139 'number)\\n\\n)\\n\\n(define-event 球形精靈1 TouchDown($x $y)(set-this-form)\\n (set-and-coerce-property! '球形精靈1 'Heading 270 'number)(set-and-coerce-property! '球形精靈1 'Speed 5 'number))\\n;;; 計時器1\\n\\n(add-component Screen2 com.google.appinventor.components.runtime.Clock 計時器1 \\n)\\n\\n(define-event 計時器1 Timer()(set-this-form)\\n (set-var! g$我的變數 (call-yail-primitive + (*list-for-runtime* (get-var g$我的變數) 1 ) '(number number ) \\\"+\\\"))(if (call-yail-primitive yail-equal? (*list-for-runtime* (get-var g$我的變數) 10) '(any any) \\\"=\\\") (begin (set-and-coerce-property! '計時器1 'TimerEnabled #f 'boolean))))\\n(init-runtime)\"},\"settings\":\"{\\\"SimpleSettings\\\":{\\\"AccentColor\\\":\\\"\\u0026HFFFF4081\\\",\\\"ActionBar\\\":\\\"False\\\",\\\"AppName\\\":\\\"\\\\u5f57\\\\u661f\\\\u649e\\\\u5730\\\\u7403\\\",\\\"Icon\\\":\\\"shootinggame.png\\\",\\\"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-11T00:20:08.309+08:00","updated_at":"2019-08-22T13:35:36.918+08:00","name":"ShootingGame_Sa","language":"appinventor","screenshot":{"url":null},"parent_id":54885,"plugin":null,"description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":90,"hashid":"rdvsgn35","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":1342097,"file_name":"aa.jpg","project_id":78175,"asset_id":108195,"created_at":"2019-07-11T00:20:08.316+08:00","updated_at":"2019-07-11T00:20:08.316+08:00"},{"id":1342098,"file_name":"attack.mp3","project_id":78175,"asset_id":108194,"created_at":"2019-07-11T00:20:08.317+08:00","updated_at":"2019-07-11T00:20:08.317+08:00"},{"id":1342099,"file_name":"cover.png","project_id":78175,"asset_id":108193,"created_at":"2019-07-11T00:20:08.318+08:00","updated_at":"2019-07-11T00:20:08.318+08:00"},{"id":1342100,"file_name":"destruction.mp3","project_id":78175,"asset_id":108192,"created_at":"2019-07-11T00:20:08.318+08:00","updated_at":"2019-07-11T00:20:08.318+08:00"},{"id":1342101,"file_name":"shootinggame.png","project_id":78175,"asset_id":108191,"created_at":"2019-07-11T00:20:08.319+08:00","updated_at":"2019-07-11T00:20:08.319+08:00"},{"id":1342102,"file_name":"ss.png","project_id":78175,"asset_id":108190,"created_at":"2019-07-11T00:20:08.320+08:00","updated_at":"2019-07-11T00:20:08.320+08:00"},{"id":1380444,"file_name":"aaa.png","project_id":78175,"asset_id":135681,"created_at":"2019-07-18T14:14:51.696+08:00","updated_at":"2019-07-18T14:14:51.696+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦