{"id":36227,"student_id":3760,"content":"{\"files\":{\"src/appinventor/ai_appinventor/Piano_Teacher/Screen1.bky\":\"\\u003cxml xmlns=\\\"http://www.w3.org/1999/xhtml\\\"\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"1z}Ve6i;LD8@Rfqb?o+E\\\" collapsed=\\\"true\\\" x=\\\"0\\\" y=\\\"0\\\"\\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 \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"0FRnedL(4FH;2CcGIP7I\\\" x=\\\"-214\\\" y=\\\"46\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵C\\\" event_name=\\\"TouchDown\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵C\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"MBX,jPG4d]`8,r5Wb`W0\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Play\\\" is_generic=\\\"false\\\" instance_name=\\\"C\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eC\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"JhQE~c@1hXUm4IL:a$#O\\\" x=\\\"-4\\\" y=\\\"46\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵A\\\" event_name=\\\"TouchDown\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵A\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"WjL5fXne][..-hXb^JJ)\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Play\\\" is_generic=\\\"false\\\" instance_name=\\\"A\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eA\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"8,@c^fw~tfjQroLd.B;J\\\" x=\\\"258\\\" y=\\\"47\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵C\\\" event_name=\\\"TouchUp\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵C\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"AbZqOyZ.FoTYv)SGF.uD\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Stop\\\" is_generic=\\\"false\\\" instance_name=\\\"C\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eC\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"YOKT1Y9$l})(C2s\\\\!!\\\\!i$\\\" x=\\\"474\\\" y=\\\"46\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵A\\\" event_name=\\\"TouchUp\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵A\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"1Vy1^N-{r/LKLecr}qN3\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Stop\\\" is_generic=\\\"false\\\" instance_name=\\\"A\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eA\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"s!f;qa3[c.Q29ozfT7?o\\\" x=\\\"-213\\\" y=\\\"129\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵D\\\" event_name=\\\"TouchDown\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵D\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"C2t7H!.D+1Cqr$JNMeDa\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Play\\\" is_generic=\\\"false\\\" instance_name=\\\"D\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eD\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"+cDv.3cns%;@Pw}FGKaM\\\" x=\\\"-1\\\" y=\\\"130\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵B\\\" event_name=\\\"TouchDown\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵B\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"e1@%39Xox_/!]/ncR*yo\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Play\\\" is_generic=\\\"false\\\" instance_name=\\\"B\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eB\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"2nuoZEE#;7CEh%mUjiNC\\\" x=\\\"261\\\" y=\\\"132\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵D\\\" event_name=\\\"TouchUp\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵D\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"Iyzo[u]zi?rW6AuN.}z\\\\!\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Stop\\\" is_generic=\\\"false\\\" instance_name=\\\"D\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eD\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"9M:-%N6i}LP:d$cj!o{1\\\" x=\\\"478\\\" y=\\\"130\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵B\\\" event_name=\\\"TouchUp\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵B\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"r`e?d_anVMk^wJYNd#1s\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Stop\\\" is_generic=\\\"false\\\" instance_name=\\\"B\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eB\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"e[M@Jw$eN:KD~G8Bv%nt\\\" x=\\\"-211\\\" y=\\\"211\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵E\\\" event_name=\\\"TouchDown\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵E\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"ct=YZ{+b-KzJ3_9Z!+N(\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Play\\\" is_generic=\\\"false\\\" instance_name=\\\"E\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"NB#Byp{)OC`0cO(tnOP!\\\" x=\\\"-3\\\" y=\\\"215\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵C2\\\" event_name=\\\"TouchDown\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵C2\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"nhFMUTrO~UTiv$OY\\\\!l29\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Play\\\" is_generic=\\\"false\\\" instance_name=\\\"C2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eC2\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"FI28`nI7fcZIn?oAQhY!\\\" x=\\\"260\\\" y=\\\"212\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵E\\\" event_name=\\\"TouchUp\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵E\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"~Gcil6v)+6y~gJ~hQW#~\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Stop\\\" is_generic=\\\"false\\\" instance_name=\\\"E\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eE\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"dVRHXi_q:NBHS%Q8xen;\\\" x=\\\"480\\\" y=\\\"215\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵C2\\\" event_name=\\\"TouchUp\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵C2\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"*/\\\\!A/MbbKUcyJoU)q$K2\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Stop\\\" is_generic=\\\"false\\\" instance_name=\\\"C2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eC2\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"zy@y]3wm*L7l}-_zj.lW\\\" x=\\\"-212\\\" y=\\\"294\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵F\\\" event_name=\\\"TouchDown\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵F\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"y]P;v}]`;_54*fq^@+[`\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Play\\\" is_generic=\\\"false\\\" instance_name=\\\"G\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eG\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"m$Z_3wd!ZUid9\\\\![goelq\\\" x=\\\"261\\\" y=\\\"300\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵F\\\" event_name=\\\"TouchUp\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵F\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"lg.DdC*:\\\\!CfA{/q50~Hd\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Stop\\\" is_generic=\\\"false\\\" instance_name=\\\"F\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eF\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"aIivIRD41xg%StP9=^?w\\\" x=\\\"-213\\\" y=\\\"378\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵G\\\" event_name=\\\"TouchDown\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵G\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"+J8G(-+,w~7@JvIC*Vn$\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Play\\\" is_generic=\\\"false\\\" instance_name=\\\"G\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eG\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/statement\\u003e\\n \\u003c/block\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"(TsS4G?@?h;i?qgN.2bx\\\" x=\\\"262\\\" y=\\\"385\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵G\\\" event_name=\\\"TouchUp\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵G\\u003c/field\\u003e\\n \\u003cstatement name=\\\"DO\\\"\\u003e\\n \\u003cblock type=\\\"component_method\\\" id=\\\"WW0XOsD8][XTolz1EeP(\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Stop\\\" is_generic=\\\"false\\\" instance_name=\\\"G\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003eG\\u003c/field\\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/Piano_Teacher/Screen1.scm\":\"#|\\n$JSON\\n{\\\"authURL\\\":[\\\"ai2.appinventor.mit.edu\\\",\\\"koding.school\\\"],\\\"YaVersion\\\":\\\"167\\\",\\\"Source\\\":\\\"Form\\\",\\\"Properties\\\":{\\\"$Name\\\":\\\"Screen1\\\",\\\"$Type\\\":\\\"Form\\\",\\\"$Version\\\":\\\"23\\\",\\\"AppName\\\":\\\"Piano\\\",\\\"BackgroundColor\\\":\\\"\\u0026HFF000000\\\",\\\"ScreenOrientation\\\":\\\"landscape\\\",\\\"Title\\\":\\\"Screen1\\\",\\\"Uuid\\\":\\\"0\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u6c34\\\\u5e73\\\\u914d\\\\u7f6e1\\\",\\\"$Type\\\":\\\"HorizontalArrangement\\\",\\\"$Version\\\":\\\"3\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"-820363016\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375C\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"1.png\\\",\\\"Uuid\\\":\\\"-2035000956\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375D\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"2.png\\\",\\\"Uuid\\\":\\\"-1696120628\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375E\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"3.png\\\",\\\"Uuid\\\":\\\"-330948921\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375F\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"1.png\\\",\\\"Uuid\\\":\\\"-845650102\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375G\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"2.png\\\",\\\"Uuid\\\":\\\"199286514\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375A\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"2.png\\\",\\\"Uuid\\\":\\\"175147701\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375B\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"3.png\\\",\\\"Uuid\\\":\\\"-486593502\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375C2\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"1.png\\\",\\\"Uuid\\\":\\\"412155713\\\"}]},{\\\"$Name\\\":\\\"C\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoC.mp3\\\",\\\"Uuid\\\":\\\"199069027\\\"},{\\\"$Name\\\":\\\"D\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoD.mp3\\\",\\\"Uuid\\\":\\\"568438835\\\"},{\\\"$Name\\\":\\\"E\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoE.mp3\\\",\\\"Uuid\\\":\\\"-129364423\\\"},{\\\"$Name\\\":\\\"F\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoF.mp3\\\",\\\"Uuid\\\":\\\"-1736413835\\\"},{\\\"$Name\\\":\\\"G\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoG.mp3\\\",\\\"Uuid\\\":\\\"1059396342\\\"},{\\\"$Name\\\":\\\"A\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoA.mp3\\\",\\\"Uuid\\\":\\\"-1883007451\\\"},{\\\"$Name\\\":\\\"B\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoB.mp3\\\",\\\"Uuid\\\":\\\"1068241995\\\"},{\\\"$Name\\\":\\\"C2\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoC2.mp3\\\",\\\"Uuid\\\":\\\"-1364752172\\\"}]}}\\n|#\",\"src/appinventor/ai_appinventor/Piano_Teacher/Screen1.yail\":\"#|\\n$Source $Yail\\n|#\\n\\n(define-form appinventor.ai_appinventor.Piano_Teacher.Screen1 Screen1)\\n(require \\u003ccom.google.youngandroid.runtime\\u003e)\\n\\n;;; Screen1\\n\\n(do-after-form-creation (set-and-coerce-property! 'Screen1 'AppName \\\"Piano\\\" 'text)\\n (set-and-coerce-property! 'Screen1 'BackgroundColor #xFF000000 'number)\\n (set-and-coerce-property! 'Screen1 'ScreenOrientation \\\"landscape\\\" 'text)\\n (set-and-coerce-property! 'Screen1 'Title \\\"Screen1\\\" 'text)\\n)\\n\\n(define-event Screen1 Initialize()(set-this-form)\\n (get-var *the-null-value*))\\n;;; 水平配置1\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.HorizontalArrangement 水平配置1 \\n(set-and-coerce-property! '水平配置1 'Width -2 'number)\\n\\n)\\n\\n;;; 琴鍵C\\n\\n(add-component 水平配置1 com.google.appinventor.components.runtime.Button 琴鍵C \\n(set-and-coerce-property! '琴鍵C 'Image \\\"1.png\\\" 'text)\\n\\n)\\n\\n(define-event 琴鍵C TouchDown()(set-this-form)\\n (call-component-method 'C 'Play (*list-for-runtime*) '()))\\n(define-event 琴鍵C TouchUp()(set-this-form)\\n (call-component-method 'C 'Stop (*list-for-runtime*) '()))\\n;;; 琴鍵D\\n\\n(add-component 水平配置1 com.google.appinventor.components.runtime.Button 琴鍵D \\n(set-and-coerce-property! '琴鍵D 'Image \\\"2.png\\\" 'text)\\n\\n)\\n\\n(define-event 琴鍵D TouchDown()(set-this-form)\\n (call-component-method 'D 'Play (*list-for-runtime*) '()))\\n(define-event 琴鍵D TouchUp()(set-this-form)\\n (call-component-method 'D 'Stop (*list-for-runtime*) '()))\\n;;; 琴鍵E\\n\\n(add-component 水平配置1 com.google.appinventor.components.runtime.Button 琴鍵E \\n(set-and-coerce-property! '琴鍵E 'Image \\\"3.png\\\" 'text)\\n\\n)\\n\\n(define-event 琴鍵E TouchDown()(set-this-form)\\n (call-component-method 'E 'Play (*list-for-runtime*) '()))\\n(define-event 琴鍵E TouchUp()(set-this-form)\\n (call-component-method 'E 'Stop (*list-for-runtime*) '()))\\n;;; 琴鍵F\\n\\n(add-component 水平配置1 com.google.appinventor.components.runtime.Button 琴鍵F \\n(set-and-coerce-property! '琴鍵F 'Image \\\"1.png\\\" 'text)\\n\\n)\\n\\n(define-event 琴鍵F TouchDown()(set-this-form)\\n (call-component-method 'G 'Play (*list-for-runtime*) '()))\\n(define-event 琴鍵F TouchUp()(set-this-form)\\n (call-component-method 'F 'Stop (*list-for-runtime*) '()))\\n;;; 琴鍵G\\n\\n(add-component 水平配置1 com.google.appinventor.components.runtime.Button 琴鍵G \\n(set-and-coerce-property! '琴鍵G 'Image \\\"2.png\\\" 'text)\\n\\n)\\n\\n(define-event 琴鍵G TouchDown()(set-this-form)\\n (call-component-method 'G 'Play (*list-for-runtime*) '()))\\n(define-event 琴鍵G TouchUp()(set-this-form)\\n (call-component-method 'G 'Stop (*list-for-runtime*) '()))\\n;;; 琴鍵A\\n\\n(add-component 水平配置1 com.google.appinventor.components.runtime.Button 琴鍵A \\n(set-and-coerce-property! '琴鍵A 'Image \\\"2.png\\\" 'text)\\n\\n)\\n\\n(define-event 琴鍵A TouchDown()(set-this-form)\\n (call-component-method 'A 'Play (*list-for-runtime*) '()))\\n(define-event 琴鍵A TouchUp()(set-this-form)\\n (call-component-method 'A 'Stop (*list-for-runtime*) '()))\\n;;; 琴鍵B\\n\\n(add-component 水平配置1 com.google.appinventor.components.runtime.Button 琴鍵B \\n(set-and-coerce-property! '琴鍵B 'Image \\\"3.png\\\" 'text)\\n\\n)\\n\\n(define-event 琴鍵B TouchDown()(set-this-form)\\n (call-component-method 'B 'Play (*list-for-runtime*) '()))\\n(define-event 琴鍵B TouchUp()(set-this-form)\\n (call-component-method 'B 'Stop (*list-for-runtime*) '()))\\n;;; 琴鍵C2\\n\\n(add-component 水平配置1 com.google.appinventor.components.runtime.Button 琴鍵C2 \\n(set-and-coerce-property! '琴鍵C2 'Image \\\"1.png\\\" 'text)\\n\\n)\\n\\n(define-event 琴鍵C2 TouchDown()(set-this-form)\\n (call-component-method 'C2 'Play (*list-for-runtime*) '()))\\n(define-event 琴鍵C2 TouchUp()(set-this-form)\\n (call-component-method 'C2 'Stop (*list-for-runtime*) '()))\\n;;; C\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Sound C \\n(set-and-coerce-property! 'C 'Source \\\"pianoC.mp3\\\" 'text)\\n\\n)\\n\\n;;; D\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Sound D \\n(set-and-coerce-property! 'D 'Source \\\"pianoD.mp3\\\" 'text)\\n\\n)\\n\\n;;; E\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Sound E \\n(set-and-coerce-property! 'E 'Source \\\"pianoE.mp3\\\" 'text)\\n\\n)\\n\\n;;; F\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Sound F \\n(set-and-coerce-property! 'F 'Source \\\"pianoF.mp3\\\" 'text)\\n\\n)\\n\\n;;; G\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Sound G \\n(set-and-coerce-property! 'G 'Source \\\"pianoG.mp3\\\" 'text)\\n\\n)\\n\\n;;; A\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Sound A \\n(set-and-coerce-property! 'A 'Source \\\"pianoA.mp3\\\" 'text)\\n\\n)\\n\\n;;; B\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Sound B \\n(set-and-coerce-property! 'B 'Source \\\"pianoB.mp3\\\" 'text)\\n\\n)\\n\\n;;; C2\\n\\n(add-component Screen1 com.google.appinventor.components.runtime.Sound C2 \\n(set-and-coerce-property! 'C2 'Source \\\"pianoC2.mp3\\\" 'text)\\n\\n)\\n\\n(init-runtime)\"},\"settings\":\"{\\\"SimpleSettings\\\":{\\\"AccentColor\\\":\\\"\\u0026HFFFF4081\\\",\\\"ActionBar\\\":\\\"False\\\",\\\"AppName\\\":\\\"Piano\\\",\\\"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-24T01:07:29.727+08:00","updated_at":"2019-10-15T01:40:43.700+08:00","name":"Piano_Teacher","language":"appinventor","screenshot":{"url":null},"parent_id":null,"plugin":null,"description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":40,"hashid":"p93srpr4","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":652908,"file_name":"1.png","project_id":36227,"asset_id":78684,"created_at":"2018-07-24T01:12:02.664+08:00","updated_at":"2018-07-24T01:12:02.664+08:00"},{"id":652909,"file_name":"1_1.png","project_id":36227,"asset_id":78685,"created_at":"2018-07-24T01:12:02.670+08:00","updated_at":"2018-07-24T01:12:02.670+08:00"},{"id":652910,"file_name":"2.png","project_id":36227,"asset_id":78686,"created_at":"2018-07-24T01:12:02.675+08:00","updated_at":"2018-07-24T01:12:02.675+08:00"},{"id":652911,"file_name":"3.png","project_id":36227,"asset_id":78687,"created_at":"2018-07-24T01:12:02.682+08:00","updated_at":"2018-07-24T01:12:02.682+08:00"},{"id":652912,"file_name":"pianoA.mp3","project_id":36227,"asset_id":78688,"created_at":"2018-07-24T01:12:02.689+08:00","updated_at":"2018-07-24T01:12:02.689+08:00"},{"id":652913,"file_name":"pianoB.mp3","project_id":36227,"asset_id":78689,"created_at":"2018-07-24T01:12:02.696+08:00","updated_at":"2018-07-24T01:12:02.696+08:00"},{"id":652914,"file_name":"pianoC.mp3","project_id":36227,"asset_id":78690,"created_at":"2018-07-24T01:12:02.703+08:00","updated_at":"2018-07-24T01:12:02.703+08:00"},{"id":652915,"file_name":"pianoC2.mp3","project_id":36227,"asset_id":78691,"created_at":"2018-07-24T01:12:02.710+08:00","updated_at":"2018-07-24T01:12:02.710+08:00"},{"id":652916,"file_name":"pianoD.mp3","project_id":36227,"asset_id":78692,"created_at":"2018-07-24T01:12:02.717+08:00","updated_at":"2018-07-24T01:12:02.717+08:00"},{"id":652917,"file_name":"pianoE.mp3","project_id":36227,"asset_id":78693,"created_at":"2018-07-24T01:12:02.724+08:00","updated_at":"2018-07-24T01:12:02.724+08:00"},{"id":652918,"file_name":"pianoF.mp3","project_id":36227,"asset_id":78694,"created_at":"2018-07-24T01:12:02.730+08:00","updated_at":"2018-07-24T01:12:02.730+08:00"},{"id":652919,"file_name":"pianoG.mp3","project_id":36227,"asset_id":78695,"created_at":"2018-07-24T01:12:02.738+08:00","updated_at":"2018-07-24T01:12:02.738+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦