{"id":54307,"student_id":248,"content":"{\"files\":{\"src/appinventor/ai_appinventor/Piano/Screen1.bky\":\"\\u003cxml xmlns=\\\"http://www.w3.org/1999/xhtml\\\"\\u003e\\n \\u003cblock type=\\\"component_event\\\" id=\\\"1\\\" x=\\\"117\\\" y=\\\"11\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵C\\\" event_name=\\\"Click\\\"\\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=\\\"2\\\"\\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=\\\"3\\\" x=\\\"352\\\" y=\\\"1\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵F\\\" event_name=\\\"Click\\\"\\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=\\\"4\\\"\\u003e\\n \\u003cmutation component_type=\\\"Sound\\\" method_name=\\\"Play\\\" 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=\\\"5\\\" x=\\\"571\\\" y=\\\"1\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵B\\\" event_name=\\\"Click\\\"\\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=\\\"6\\\"\\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=\\\"7\\\" x=\\\"118\\\" y=\\\"99\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵D\\\" event_name=\\\"Click\\\"\\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=\\\"8\\\"\\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=\\\"9\\\" x=\\\"353\\\" y=\\\"97\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵G\\\" event_name=\\\"Click\\\"\\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=\\\"10\\\"\\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=\\\"11\\\" x=\\\"566\\\" y=\\\"100\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵C2\\\" event_name=\\\"Click\\\"\\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=\\\"12\\\"\\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=\\\"13\\\" x=\\\"803\\\" y=\\\"139\\\"\\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_set_get\\\" id=\\\"14\\\" inline=\\\"false\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" set_or_get=\\\"set\\\" property_name=\\\"Width\\\" is_generic=\\\"false\\\" instance_name=\\\"琴鍵C\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵C\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eWidth\\u003c/field\\u003e\\n \\u003cvalue name=\\\"VALUE\\\"\\u003e\\n \\u003cblock type=\\\"math_add\\\" id=\\\"15\\\" inline=\\\"true\\\"\\u003e\\n \\u003cmutation items=\\\"2\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cvalue name=\\\"NUM0\\\"\\u003e\\n \\u003cblock type=\\\"component_set_get\\\" id=\\\"16\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" set_or_get=\\\"get\\\" property_name=\\\"Width\\\" is_generic=\\\"false\\\" instance_name=\\\"琴鍵C\\\"\\u003e\\u003c/mutation\\u003e\\n \\u003cfield name=\\\"COMPONENT_SELECTOR\\\"\\u003e琴鍵C\\u003c/field\\u003e\\n \\u003cfield name=\\\"PROP\\\"\\u003eWidth\\u003c/field\\u003e\\n \\u003c/block\\u003e\\n \\u003c/value\\u003e\\n \\u003cvalue name=\\\"NUM1\\\"\\u003e\\n \\u003cblock type=\\\"math_number\\\" id=\\\"17\\\"\\u003e\\n \\u003cfield name=\\\"NUM\\\"\\u003e0.8\\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=\\\"component_event\\\" id=\\\"18\\\" x=\\\"117\\\" y=\\\"183\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵E\\\" event_name=\\\"Click\\\"\\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=\\\"19\\\"\\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=\\\"20\\\" x=\\\"354\\\" y=\\\"186\\\"\\u003e\\n \\u003cmutation component_type=\\\"Button\\\" instance_name=\\\"琴鍵A\\\" event_name=\\\"Click\\\"\\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=\\\"21\\\"\\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 \\u003cyacodeblocks ya-version=\\\"150\\\" language-version=\\\"20\\\"\\u003e\\u003c/yacodeblocks\\u003e\\n\\u003c/xml\\u003e\",\"src/appinventor/ai_appinventor/Piano/Screen1.scm\":\"#|\\n$JSON\\n{\\\"YaVersion\\\":\\\"167\\\",\\\"Source\\\":\\\"Form\\\",\\\"Properties\\\":{\\\"$Name\\\":\\\"Screen1\\\",\\\"$Type\\\":\\\"Form\\\",\\\"$Version\\\":\\\"23\\\",\\\"AppName\\\":\\\"Piano\\\",\\\"BackgroundColor\\\":\\\"\\u0026HFF000000\\\",\\\"ScreenOrientation\\\":\\\"landscape\\\",\\\"Title\\\":\\\"Screen1\\\",\\\"TitleVisible\\\":\\\"False\\\",\\\"Uuid\\\":\\\"0\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u6c34\\\\u5e73\\\\u5e03\\\\u5c401\\\",\\\"$Type\\\":\\\"HorizontalArrangement\\\",\\\"$Version\\\":\\\"3\\\",\\\"BackgroundColor\\\":\\\"\\u0026HFF000000\\\",\\\"Width\\\":\\\"-2\\\",\\\"Uuid\\\":\\\"-128483298\\\",\\\"$Components\\\":[{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375C\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"1.png\\\",\\\"Shape\\\":\\\"2\\\",\\\"Uuid\\\":\\\"-1570154777\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375D\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"2.png\\\",\\\"Shape\\\":\\\"2\\\",\\\"Uuid\\\":\\\"863608530\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375E\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"3.png\\\",\\\"Uuid\\\":\\\"404676566\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375F\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"1.png\\\",\\\"Uuid\\\":\\\"149895525\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375G\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"2.png\\\",\\\"Uuid\\\":\\\"1948023454\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375A\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"2.png\\\",\\\"Uuid\\\":\\\"-1019960045\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375B\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"3.png\\\",\\\"Uuid\\\":\\\"519038738\\\"},{\\\"$Name\\\":\\\"\\\\u7434\\\\u9375C2\\\",\\\"$Type\\\":\\\"Button\\\",\\\"$Version\\\":\\\"6\\\",\\\"Image\\\":\\\"1.png\\\",\\\"Uuid\\\":\\\"-559615603\\\"}]},{\\\"$Name\\\":\\\"C\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoC.mp3\\\",\\\"Uuid\\\":\\\"826191013\\\"},{\\\"$Name\\\":\\\"D\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoD.mp3\\\",\\\"Uuid\\\":\\\"1574374448\\\"},{\\\"$Name\\\":\\\"E\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoE.mp3\\\",\\\"Uuid\\\":\\\"-630043786\\\"},{\\\"$Name\\\":\\\"F\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoF.mp3\\\",\\\"Uuid\\\":\\\"1000827630\\\"},{\\\"$Name\\\":\\\"G\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoG.mp3\\\",\\\"Uuid\\\":\\\"-1082857889\\\"},{\\\"$Name\\\":\\\"A\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoA.mp3\\\",\\\"Uuid\\\":\\\"1950609838\\\"},{\\\"$Name\\\":\\\"B\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoB.mp3\\\",\\\"Uuid\\\":\\\"1984529587\\\"},{\\\"$Name\\\":\\\"C2\\\",\\\"$Type\\\":\\\"Sound\\\",\\\"$Version\\\":\\\"3\\\",\\\"Source\\\":\\\"pianoC2.mp3\\\",\\\"Uuid\\\":\\\"-76475510\\\"}]}}\\n|#\",\"src/appinventor/ai_appinventor/Piano/Screen1.yail\":\"#|\\n$Source $Yail\\n|#\\n\\n(define-form appinventor.ai_appinventor.Piano.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 (set-and-coerce-property! 'Screen1 'TitleVisible #f 'boolean)\\n)\\n\\n(define-event Screen1 Initialize()(set-this-form)\\n (set-and-coerce-property! '琴鍵C 'Width (call-yail-primitive + (*list-for-runtime* (get-property '琴鍵C 'Width) 0.8 ) '(number number ) \\\"+\\\") 'number))\\n;;; 水平布局1\\n\\n(add-component Screen1 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;;; 琴鍵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(set-and-coerce-property! '琴鍵C 'Shape 2 'number)\\n\\n)\\n\\n(define-event 琴鍵C Click()(set-this-form)\\n (call-component-method 'C 'Play (*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(set-and-coerce-property! '琴鍵D 'Shape 2 'number)\\n\\n)\\n\\n(define-event 琴鍵D Click()(set-this-form)\\n (call-component-method 'D 'Play (*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 Click()(set-this-form)\\n (call-component-method 'E 'Play (*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 Click()(set-this-form)\\n (call-component-method 'F 'Play (*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 Click()(set-this-form)\\n (call-component-method 'G 'Play (*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 Click()(set-this-form)\\n (call-component-method 'A 'Play (*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 Click()(set-this-form)\\n (call-component-method 'B 'Play (*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 Click()(set-this-form)\\n (call-component-method 'C2 'Play (*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":"2019-01-16T20:22:35.330+08:00","updated_at":"2019-10-09T16:30:33.158+08:00","name":"Piano","language":"appinventor","screenshot":{"url":null},"parent_id":null,"plugin":null,"description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":129,"hashid":"4y3s9nkg","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":970212,"file_name":"1.png","project_id":54307,"asset_id":107676,"created_at":"2019-01-16T20:22:56.834+08:00","updated_at":"2019-01-16T20:22:56.834+08:00"},{"id":970213,"file_name":"1_1.png","project_id":54307,"asset_id":107677,"created_at":"2019-01-16T20:22:56.850+08:00","updated_at":"2019-01-16T20:22:56.850+08:00"},{"id":970214,"file_name":"2.png","project_id":54307,"asset_id":107678,"created_at":"2019-01-16T20:22:56.865+08:00","updated_at":"2019-01-16T20:22:56.865+08:00"},{"id":970215,"file_name":"3.png","project_id":54307,"asset_id":107679,"created_at":"2019-01-16T20:22:56.881+08:00","updated_at":"2019-01-16T20:22:56.881+08:00"},{"id":970216,"file_name":"pianoA.mp3","project_id":54307,"asset_id":107680,"created_at":"2019-01-16T20:22:56.902+08:00","updated_at":"2019-01-16T20:22:56.902+08:00"},{"id":970217,"file_name":"pianoB.mp3","project_id":54307,"asset_id":107681,"created_at":"2019-01-16T20:22:56.920+08:00","updated_at":"2019-01-16T20:22:56.920+08:00"},{"id":970218,"file_name":"pianoC.mp3","project_id":54307,"asset_id":107682,"created_at":"2019-01-16T20:22:56.938+08:00","updated_at":"2019-01-16T20:22:56.938+08:00"},{"id":970219,"file_name":"pianoC2.mp3","project_id":54307,"asset_id":107683,"created_at":"2019-01-16T20:22:56.957+08:00","updated_at":"2019-01-16T20:22:56.957+08:00"},{"id":970220,"file_name":"pianoD.mp3","project_id":54307,"asset_id":107684,"created_at":"2019-01-16T20:22:56.976+08:00","updated_at":"2019-01-16T20:22:56.976+08:00"},{"id":970221,"file_name":"pianoE.mp3","project_id":54307,"asset_id":107685,"created_at":"2019-01-16T20:22:56.995+08:00","updated_at":"2019-01-16T20:22:56.995+08:00"},{"id":970222,"file_name":"pianoF.mp3","project_id":54307,"asset_id":107686,"created_at":"2019-01-16T20:22:57.087+08:00","updated_at":"2019-01-16T20:22:57.087+08:00"},{"id":970223,"file_name":"pianoG.mp3","project_id":54307,"asset_id":107687,"created_at":"2019-01-16T20:22:57.122+08:00","updated_at":"2019-01-16T20:22:57.122+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦