いばらき総文連2014 コンピュータ部会 プログラミング研修会

33833fedf7bb5f0405a4101bebf064a4?s=47 Fushimi Ryohei
September 02, 2013

いばらき総文連2014 コンピュータ部会 プログラミング研修会

2013年9月に品川マイクロソフト本社で行った、いばらき総文祭2014に向けての研修会の資料です。

33833fedf7bb5f0405a4101bebf064a4?s=128

Fushimi Ryohei

September 02, 2013
Tweet

Transcript

  1. いばらき総文連2014コンピュータ部会 プログラミング研修会 (株)ユビキタスエンターテインメント enchant.js 開発チームリーダー 東京大学工学部 伏見遼平 

  2. 今日の日程 10:30 - 11:30 enchant.js 初級編 11:30 - 12:30 実習

    … アクションゲーム 13:30 - 14:15 実習 … フルーツパニック 13:15 - 13:30 enchant.js 中級編 14:15 - 15:15 Monaca + enchant.js  15:15 - 16:00  コンテスト & 講評
  3. コンテスト & 講評会について  • 今日学んだことを元に、30分間でゲームを開発 してください。 • もちろん、すでにあるゲームのソースコードを 元にしてもらってもかまいません。

    • 完成した方全員にプレゼンしていただきます。 • 完成度・ユニークなアイデア・プレゼンテーシ ョンを評価します。
  4. ࣗݾ঺հ

  5. ෬ݟྒྷฏ ౦ژେֶ޻ֶ෦೥ ৘ใֶ؀ڭҭ෦ גࣜձࣾϢϏΩλε ΤϯλʔςΠϯϝϯτ

  6. ࣗݾ঺հ ෬ݟྒྷฏ !TJEFTUFQJTN גࣜձࣾϢϏΩλεΤϯλʔςΠϯϝϯτ ळ༿ݪϦαʔνηϯλʔॴଐ FODIBOUKT։ൃνʔϜϦʔμʔ MFBQϓϩδΣΫτϦʔμʔ ౦ژେֶ޻ֶ෦ɾେֶӃ৘ใֶ؀ॴଐ 

  7. ౦ژେֶ ڭཆֶ෦ ޻ֶ෦ ཧֶ෦ ೶ֶ෦ ༀֶ෦ จֶ෦ ܦࡁֶ෦ ڭҭֶ෦ ๏ֶ෦

    લظ՝ఔ ೥ ޙظ՝ఔ ೥ 
  8. ࣗݾ঺հ ೥ੜ ೥ɹେֶೖֶ ೥ɹגࣜձࣾϢϏΩλεΤϯλʔςΠϯϝϯτೖࣾ ɹɹɹFODIBOUKT MFBQͷ։ൃ ೥ɹDPEFMFBQͷ։ൃ ɹɹɹɹ౦ژେֶେֶӃ৘ใֶ؀ڭҭ෦ೖֶ ೥ɹ౦ژେֶ޻ֶ෦ਐֶ 

  9.  ʮϓϩάϥϛϯάڭҭʯͷ ͨΊͷϓϩδΣΫτ

  10. ήʔϜΛ༡Ϳͷ͸໘ന͍

  11. ୯७ͳϧʔϧͰ΋໘ന͍

  12. ࣗ෼ͷήʔϜΛ࡞Δͷ͸ʜ໘ന͍

  13. ήʔϜΛ࡞Δͷ͸΋ͬͱ໘ന͍

  14.  લాϒϩοΫ

  15. ϓϩάϥϚ اը ϓϩδΣΫτϚωʔδϟ ։ൃνʔϜϦʔμʔ

  16. 

  17. 

  18. 

  19. None
  20. None
  21. ͜͜ͰΞϯέʔτ 

  22. தֶੜ 

  23. ߴߍੜ 

  24. େֶੜ 

  25. ઌੜ 

  26. ҵ৓ݝʹॅΜͰ͍Δਓ 

  27. ͦΕҎ֎ͷਓ 

  28. ֶߍΛ͢Ͱʹଔۀͨ͠ํ 

  29. ࣗ෼͕ࣗ༝ʹ࢖͑Δ ύιίϯΛ͍࣋ͬͯΔ 

  30. ͦΕ͸8JOEPXT 

  31. ͦΕ͸.BD 

  32. Ոͷύιίϯ͸Կ࣌·Ͱ ࢖͑Δ͔ܾ·͍ͬͯΔ 

  33. ೔ʹɺ࣌ؒҎ্ύιίϯΛ࢖͏ਓ 

  34. ೔ʹɺ࣌ؒҎ্ύιίϯΛ࢖͏ਓ 

  35. ϓϩάϥϜΛॻ͍ͨ͜ͱ͕͋Δਓ 

  36. ϓϩάϥϜΛॻ͍ͨ͜ͱ͕ͳ͍ਓ 

  37. िؒʹɺ ࣌ؒҎ্ϓϩάϥϜΛॻ͍͍ͯΔਓ 

  38. िؒʹɺ ࣌ؒҎ্ϓϩάϥϜΛॻ͍͍ͯΔਓ 

  39. ͦ΋ͦ΋ϓϩάϥϜͬͯ Կ͔஌͍ͬͯΔਓ 

  40. ϓϩάϥϛϯάͨ͜͠ͱ͋Δਓ 

  41. ʮϓϩάϥϛϯάʯͷఆٛΛݴ͑Δਓ 

  42. ϓϩάϥϛϯάͬͯԿ͔ͩ Α͘෼͔Βͳ͍͚Ͳ ΍ͬͨ͜ͱ͸͋Δਓ 

  43. ·ͣ਎ͷճΓʹ͋ΔʮϓϩάϥϜʯΛ ࢥ͍ු͔΂ͯԼ͍͞ 

  44. ਎ۙʹ͋ΔϓϩάϥϜ

  45. ਎ۙʹ͋ΔϓϩάϥϜ

  46. ਎ۙʹ͋ΔϓϩάϥϜ

  47. ਎ۙʹ͋ΔϓϩάϥϜ

  48. ਎ۙʹ͋ΔϓϩάϥϜ

  49. ਎ۙʹ͋ΔϓϩάϥϜ

  50. ৽ӳ࿨தࣙయ ୈ̒൛ ʢݚڀࣾʣΑΓҾ༻ http://www.excite.co.jp/dictionary/english_japanese/?search=program&match=beginswith&dictionary=NEW_EJJE&block=41438&offset=1206

  51. Hackers’ Cafe ϓϩάϥϜͱ͍͑͹ɾɾɾ ήʔϜϓϩάϥϜ ӡಈձͷϓϩάϥϜ ݁ࠗࣜͷࣜ࣍ୈ ςϨϏ൪૊ ӳޠͰ571SPHSBN ΧϦΩϡϥϜ ڭҭϓϩάϥϜͳͲ

    ϓϩάϥϜ͸਎ۙʹᷓΕͯΔ 
  52. ܚጯٛक़େֶͷ૿Ҫढ़೭ઌੜʹΑΕ͹ɺ ͜Μͳ΋ͷ΋ϓϩάϥϜʹͳΔͦ͏Ͱ͢ ໨֮·࣌͠ܭͷઃఆ ϏσΦσοΩͷ࿥ը༧໿ ࣗಈυΞͷ։ൃ 

  53. Hackers’ Cafe ӳ࿨ࣙయΛҾ͖·͠ΐ͏ ৽ӳ࿨தࣙయ ୈ̒൛ ʢݚڀࣾʣΑΓҾ༻ http://www.excite.co.jp/dictionary/english_japanese/?search=program&match=beginswith&dictionary=NEW_EJJE&block=41438&offset=1206 

  54. ʲిࢉʳ ϓϩάϥϜ ʬిࢉػʹࢦྩ͢Δ ࡞ۀखॱͷਫ਼ີͳهड़ʭ 

  55. ϓϩάϥϜ࡞ۀͷखॱͷৄ͍͠هड़ 

  56. Hackers’ Cafe ϓϩάϥϜͷ͍Ζ͍Ζ ӡಈձͷϓϩάϥϜ ݁ࠗࣜͷࣜ࣍ୈ ΧϦΩϡϥϜ ։ձࣜ ۄೖΕ N૸ ٍഅઓ

    େۄૹΓ ΨΠμϯε ϓϩάϥϛϯά֓࿦ ܭࢉػՊֶͷجૅ ΞϧΰϦζϜͱσʔλߏ଄ ϓϩάϥϛϯά࣮श ։৔ ৽࿠৽්ೖ৔ ओෂѫࡰɾסഋ έʔΩೖ౛ ͓৭௚͠ ΩϟϯυϧαʔϏε ༑ਓʹΑΔ༨ڵ ՖՇ͔Β෕΁ͷखࢴ ดձ ·͞ʹखॱΛهड़ͯ͠Δ 
  57. ૿Ҫढ़೭ઌੜͷྫࣔΛ࡞ۀखॱʹͯ͠ΈΔ ໨֮·࣌͠ܭͷઃఆ ɹˠɹ".ʹͳͬͨΒԻΛ໐Βͤ ϏσΦσοΩͷ࿥ը༧໿ ɹˠɹ೔༵ʹͳͬͨΒ ɹɹɹνϟϯωϧʹ͋Θͤͯ ɹ࣌ؒ࿥ը͠Ζ ࣗಈυΞͷ։ൃ ɹˠɹυΞͷલʹਓཱ͕ͬͨΒ ɹɹɹυΞΛ։͚

    ɹɹɹਓཱ͕ͪڈͬͨΒ ɹɹɹυΞΛด͡Ζ 
  58. ࣌ʹɺίϯϐϡʔλͱ͸ 

  59. ࣮͸ɺ೥લɺίϯϐϡʔλ͸ɺ৬ۀͰͨ͠ 

  60. /"$"ͷܭࢉख ίϯϐϡʔλ ͷํʑ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB 

  61. ୈೋ࣍ੈքେઓͷ຤ظ ిࢠίϯϐϡʔλ͕࢈·Ε·ͨ͠ 

  62. δϣϯɾϑΥϯɾϊΠϚϯ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB ϋϯΨϦʔग़਎ͷΞϝϦΧͷ਺ֶऀ ਺ֶɺ෺ཧֶɺؾ৅ֶɺܦࡁֶɺܭࢉػՊֶʹ େͳӨڹΛ༩͑ͨɻ ݪരͷ։ൃऀͷҰਓͰ΋͋Δɻ ͦͯ͠ిࢠίϯϐϡʔλൃ໌ऀͷҰਓ 

  63. ίϯϐϡʔλΛൃ໌ͨ͠ͱ͖ɺ ϊΠϚϯ͸͜͏ݴ͍·ͨ͠ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB Զͷ࣍ʹ಄ͷౕ͍͍͕Ͱ͖ͨ ࣮ࡍɺίϯϐϡʔλΑΓ΋ ܭࢉ͕଎͔ͬͨΒ͍͠ 

  64. &/*"$ถ܉ͷ஄ಓܭࢉ༻ίϯϐϡʔλ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB 

  65. ίϩοαεӳࠃւ܉৘ใ෦ͷ։ൃͨ͠҉߸ղಡػ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB 

  66. ;VTF;υΠπਓՊֶऀπʔθ͕։ൃͨ͠ίϯϐϡʔλ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB 

  67. ࣮͸࠷ॳͷίϯϐϡʔλΛ ୭͕ൃ໌ͨ͠ͷ͔ਖ਼֬ͳ ͱ͜Ζ͸Θ͔͍ͬͯ·ͤΜ ग़యϑϦʔඦՊࣄయɹ8JLJQFEJB ΞϨɺΦϨ͕ߟ͑ͨΜͩ ͱɺϊΠϚϯ͕ݴ͍࢝ΊͨͷͰ ࢓ํͳ͘ɺͦͷޙͷίϯϐϡʔλ ͸͜͏ݺ͹ΕΔΑ͏ʹͳΓ·ͨ͠ 

  68. ʮϊΠϚϯܕίϯϐϡʔλʯ ͦͯ͜͠ͷ࣌ͦ͜ɺ ίϯϐϡλʔϓϩάϥϜ஀ੜͷॠؒͳͷͰ͢ 

  69. ϓϩάϥϛϯάݴޠͷ͍Ζ͍Ζ 

  70. ࣮͸ɺίϯϐϡʔλ͕ཧղͰ͖Δݴޠ͸ $16ʹΑͬͯҧ͍·͢ *OUFM "3. 

  71. ίϯϐϡʔλ͕௚઀ཧղͰ͖ΔݴޠΛ ʮػցޠ Ϛγϯޠ ʯͱݺͼ·͢ 

  72. Ϛγϯޠͬͯ͜Μͳײ͡Ͱ͢ 

  73. ͜ΕͲ͏΍ͬͯॻ͘ͷ ;ͭ͏ͷਓؒʹ͸ແཧͰ͢ ͔ͩΒੲͷϓϩάϥϚʔ͸ ੌ͍ਓ͔͍͠ͳ͔ͬͨͷͰ͢ ˣ 

  74. ΋ͬͱ؆୯ʹϓϩάϥϜ͢ΔͨΊʹ ϚγϯޠҎ֎ͷϓϩάϥϛϯάݴޠ͕ ͨ͘͞Μ࢈·Ε·ͨ͠ 

  75. FORTRAN ೥ʹ*#.Ͱ։ൃ͞Εͨखଓ͖ܕݴޠ 'PSNVMB5SBOTMBUJPO ਺ࣜ຋༁ ʹ ༝དྷ͢ΔɺՊֶٕज़ܭࢉ༻ݴޠ εʔύʔίϯϐϡʔλͳͲͰ͸ ࠓݱࡏ΋࢖ΘΕ͍ͯΔ 

  76. LISP ೥ੜ·Εͷؔ਺ܕݴޠ -JTU1SPDFTTPS͕༝དྷͰɺू߹ॲཧ͕ಘҙ +BWB4DSJQUͷ௚ܥͷઌ૆ 

  77. Cݴޠ ೥ੜ·Εͷखଓ͖ܕݴޠ ߏ଄ԽϓϩάϥϛϯάΛಋೖ͠ɺ։ൃޮ཰͕Ξοϓ ݱࡏͰ΋෯޿͘࢖ΘΕ͍ͯΔݴޠͷͻͱͭͰ͋Δ 

  78. Smalltalk ೥ʹެ։͞ΕͨΦϒδΣΫτࢦ޲ݴޠ ؔ਺͕ଞݴޠͷ-*41΍-0(0ʹӨڹΛड͚ͨ ΞϥϯɾέΠ͕ઃܭͨ͠04ͷࢥ૝ʹ·Ͱ೾ٴ͢Δ ݴޠͰɺͦͷޙͷݴޠઃܭʹઈେͳӨڹΛ༩͑Δ 

  79. C++ ೥ʹ։ൃ͞ΕͨΦϒδΣΫτࢦ޲ݴޠ खଓ͖ܕݴޠͷ$ݴޠΛϕʔεͱͯ͠ΦϒδΣΫτ ࢦ޲ػೳΛ௥Ճͨ͠ 

  80. Objective-C $ݴޠΛϕʔεͱͯ͠4NBMMUBML෩ͷΦϒδΣΫτࢦ ޲ػೳΛ௥Ճͨ͠΋ͷɻ J04΍.BDͳͲͰ࢖༻͞Ε͍ͯΔ 

  81. Java $ Λϕʔεͱͯ͠ચ࿅ͤͨ͞΋ͷɻߴ౓ͳϝϞϦ ؅ཧػߏ΍ιϑτ΢ΣΞίϯϙʔωϯτͳͲΛ࣮ݱ 

  82. Ruby ೥ʹ·ͭ΋ͱΏ͖ͻΖࢯ͕ൃදͨ͠ࠃ࢈ϓϩ άϥϛϯάݴޠɻʮଟ༷ੑ͸ળʯͷεϩʔΨϯͷ΋ ͱ։ൃ͕ਐΊΒΕͨɻੈքͰ࠷΋ਐΜͩݴޠͷͻͱ ͭͰɺϑΝϯ΋ଟ͍ɻ 

  83. JavaScript ೥ʹ։ൃ͞Εͨ8FCϒϥ΢β༻ϓϩάϥϛϯ άݴޠɻ-*41ͷྲྀΕΛ૊Ήؔ਺ܕݴޠͰ͋Γͳ͕ Βɺ+BWBʹࣅͤͨจ๏ͷ࠾༻ͰղΓ΍͢͞΋ཱ྆͞ ͤΔɻ)5.-Ͱ࢖༻͞ΕΔࣄ্࣮ͷඪ४ݴޠ 

  84. enchant.js ೥ʹ։ൃ͞Εͨࠃ࢈+BWB4DSJQU༻ΞϓϦέʔ γϣϯΤϯδϯɻಠࣗͷΫϥεΠϕϯτػߏΛ੝Γ ࠐΈɺॳ৺ऀ͔Β্ڃऀ·Ͱ࢖͍΍͘͢վྑͨ͠ 

  85. લాϒϩοΫ ೥ʹ։ൃ͞ΕͨϏδϡΞϧݴޠ FODIBOUKTΛϕʔεͱͨ͠ΫϩεϓϥοτϑΥʔϜ ͱɺ༮ࣇ͔Βେਓ·Ͱ࢖͑ΔݴޠΛ໨ࢦͯ͠։ൃ͞ Ε͍ͯΔɻ 

  86. 今日学ぶのは… 前田ブロック と enchant.js 

  87. 講義 enchant.jsについて 

  88. プログラミング言語 • C • C++ • Java • PHP •

    Ruby • JavaScript  • Perl • Lisp • Haskell • Scheme • Objective-C • Visual Basic
  89. 

  90. 

  91. プログラミング言語 • C言語・C++ - 言語の祖先 … ラテン語 - いろいろな言語に影響を与えた •

    JavaScript - 比較的新しい言語 … 英語 - 使っている人が多い 
  92. プログラミング言語 • 今回扱うのは、JavaScript • プログラミングの本質的な部分に注力するため • もちろん、ソフトウェアの中身を知るためには、 C言語やアーキテクチャに関する知識が必要です。 

  93. JavaScript とは? 

  94. JavaScript とは?  4DSJQU

  95. JavaScript とは?  4DSJQU ʷ

  96. JavaScript とは? • Brendan Rich (Java嫌い) • Netscape … 最初に普及した無料ブラウザ

    • Netscape「Javaっぽい言語を作ってくれ」 • Rich「えーっ」 
  97. JavaScript とは?  仕方ないから 見た目だけJavaっぽくしよう Brendan Rich

  98. JavaScript とは?  ʺJavaScript

  99. JavaScript とは?  • シンプルな文法 • 強力な記述力 • ただしちょっと遅い (cf.

    C言語の約10倍)
  100. JavaScript とは?  • Webブラウザ上で動く • いろんなデバイスで動く - iOS (iPhone,

    iPad) - Android - Mac, Windows, Linux
  101. 

  102. JavaScript とは?  • 「JavaScript の知識」は 「プログラミング の知恵」ではない • プログラミングの知恵とは?

    → あとで話します
  103. 実習 前田ブロック編 

  104. (PPHMF$ISPNFͰ։͍ͯΈΑ͏ IUUQNBFEBCMPDLKQ 

  105. (PPHMF$ISPNFͰ։͍ͯΈΑ͏ IUUQNBFEBCMPDLKQ 

  106. ͜ͷϓϩάϥϛϯά؀ڥͷओ໾ 

  107. FODIBOUKTͷެࣜΩϟϥΫλʔ γʔϧͳͲͷ άοζਐग़Λܦͯ ͍ͭʹண͙ΔΈԽ 

  108. ʮ͜ͷΫϚΛಈ͔͢खॱʯ ΛϓϩάϥϜ͠·͠ΐ͏ 

  109. ͜ͷதͰಈ͖·͢ ࣮ߦϘλϯ 

  110. ʮύϖοτʯͷശ 

  111. ύϖοτϒϩοΫ ΛऔΓग़͢ 

  112. ͜ͷͭͷϒϩοΫΛ औΓग़͍ͯͩ͘͠͞ 

  113. ͸·ͬͨ 

  114. ޿͕ͬͨ 

  115. ԼஈͷɹɹɹΛԡ͢ͱʜ ӈ্ͷը໘͕มΘΓ·͢ 

  116. ΫϦοΫ͢Δͱɺ ग़ݱํ๏͕มΘΔ ʮͨ͘͞ΜͰΔʯ ʮ্͔Βग़ͯ͘Δʯ ʹม͑ͯɹɹɹͯ͠Έ·͠ΐ͏ 

  117. ͜ͷϒϩοΫΛग़ͯ͜͠Α͏ 

  118. ՝୊ ͦͷ 

  119. ͜ͷಈ͖Λ࡞ͬͯΈΑ͏ 

  120. ώϯτ࢖͏ϒϩοΫ͸͜ͷछྨ 

  121. ώϯτ͜ͷϒϩοΫΛෳ਺࢖͏ 

  122. ώϯτ͜ͷϒϩοΫΛෳ਺࢖͏ 

  123. λςͱϤίͷ δάβάΛՃ͑Δ 

  124. ը૾ΛΫϦοΫ͢Δͱ ը૾Λม͑ΒΕ·͢ 

  125. ࠓ೔࡞Δͷ͸ ʮγϡʔςΟϯάήʔϜʯ 

  126. γϡʔςΟϯάήʔϜʹ͸Կ͕ඞཁ 

  127. ࣗػ 

  128. ఢ 

  129. ࣗ෼ͷ஄ 

  130. ఢͷ஄ 

  131. ύϖοτ͕ͭ͋Ε͹࡞ΕΔ 

  132. ՝୊ ͦͷ 

  133. ͜͏͍͏ϒϩοΫΛ࡞ͬͯΈ͍ͯͩ͘͞ 

  134. ͜͏͍͏ϒϩοΫΛ࡞ͬͯΈ͍ͯͩ͘͞ ͜ͷϒϩοΫͷ ໾ׂʹ஫໨ 

  135. ৽͍͠ϒϩοΫΛ঺հ ΠϕϯτϦεφ ϒϩοΫ ύϖοτग़ݱ ϒϩοΫ ͋Δ৚݅Ͱ Կ͔ͷखॱΛߦ͏ ύϖοτΛ ग़ݱͤ͞Δ 

  136. ·ͣʮʙͷͱ͖ʯ ϒϩοΫΛ௥Ճ ύϖοτग़ݱ ϒϩοΫΛ௥Ճ ૣ଎࢖ͬͯΈΑ͏ 

  137. ·ͣʮʙͷͱ͖ʯ ϒϩοΫΛ௥Ճ ύϖοτग़ݱ ϒϩοΫΛ௥Ճ ͳΜ͔΍͹͍͜ͱʹˠ 

  138. ৽͍͠ϒϩοΫΛ঺հ JGϒϩοΫ ৚݅ϒϩοΫ 

  139. JGϒϩοΫͱ৚݅ϒϩοΫΛ ૊Έ߹Θͤͯ࢖͏ ඵʹίϚͳͷͰɺ໿ඵʹ౓ 

  140. தʹύϖοτग़ݱ ϒϩοΫΛೖΕΔ 

  141. ͜ͷΧλϚϦΛதʹ ͍ΕͯΈΔ 

  142. ͜ͷΧλϚϦΛதʹ ͍ΕͯΈΔ εϥΠϜͷग़ݱස౓͕ݮΓ·ͨ͠ 

  143. ஄ͳΜ͔ͩΒ લʹਐΜͰ΄͍͠ 

  144. ʮࣗ෼ͷ஄ʯύϖοτʹ ʮಈ͖ʯϏϔΠϏΞΛ௥Ճ 

  145. 

  146. ʮఢʯύϖοτʹ ʮ͋ͨΔʯϏϔΠϏΞΛ௥Ճ 

  147. 

  148. ͍ͩͿγϡʔςΟϯάήʔϜ 

  149. ͋ͱ͸ɺఢ΋஄Λଧͬͯɺ ఢͷ஄ʹ౰ͨΔͱήʔϜΦʔόʔ ࠓ·ͰशͬͨϒϩοΫ ͜ͷϒϩοΫͰ0, 

  150. ϓϩάϥϛϯά͸ ʮ෦඼Λ૊Έ߹ΘͤΔʯ͚ͩͰͰ͖Δ ͲΜͳݴޠͰ΋ جຊతʹ͸ಉ͡ 

  151. 実習 enchant.js 編 

  152. IUUQDPEFMFBQOFU 

  153. IUUQDPEFMFBQOFU ͔Β͸͡ΊΑ͏ 

  154. 

  155. 注意点 赤い ×が出ていたら 「文法エラー」です。 赤い ×にカーソルを合わせると、 文法ミスの内容がわかります。 この場合は、「)」 閉じカッコが足りません。 (閉じカッコのあるべきところに、「game」

    があります) 
  156. 注意点 • プログラムはすべて半角で打ち込みます。 • “”() + - = などの記号や、スペースも すべて半角です。

    • 全角を使うと、たとえばこんな文法エラーが 出ます 
  157. 注意点 • 文法エラーがなくても、スペルミスや、必要な命令 が足りないなどでうまく動かない場合があります。 • 今回は、どうしようもなくなったら、焦らずに、 もう一度「Fork」してやり直しましょう。 

  158. アカウント作成 • 「新規登録」をクリック 

  159. アカウント作成  • ユーザ名(半角英数) • パスワード(6文字以上) を入力 • 「利用規約」にチェック

  160.  • 「プログラミング講座」をクリック

  161.  Y Z

  162. いばらき総文連2014コンピュータ部会 プログラミング研修会 後半戦 (株)ユビキタスエンターテインメント enchant.js 開発チームリーダー 東京大学工学部 伏見遼平 

  163. 総文祭の話 • 総文祭…文化部のインターハイ • 協賛部門…今回限定の部門 • 定例開催になるかどうか…今回の盛り上がり次第 • 定例開催になれば…「第1回コンピュータ部門 全国優勝」

     ௒͓τΫ
  164.    interhigh • 中高校生向け「9leap」投稿サイト • 野球で言う「練習試合」のようなもの • 事務局や他のユーザから、スコアのデータやアドバイス がもらえます • 準備中!!!

     IUUQJOUFSIJHIMFBQOFU
  165. おさらい • プログラムはすべて半角で打ち込みます。 • “”() + - = などの記号や、スペースも すべて半角です。

    • 全角を使うと、たとえばこんな文法エラーが 出ます 
  166. おさらい • Sprite の基本的な使い方 - x座標、y座標、拡大、回転(rotation) - 移動 (enterframe イベントリスナ)

    • クラスの作り方 - コンストラクタの定義 (initialize) - new でコンストラクタ呼び出し - 継承 
  167. おさらい • アニメーション - Sprite#frame によるパラパラアニメ - Sprite#tl によるキュー制御 •

    Sprite 同士の当たり判定 • ゲームオーバー • スコア 
  168. プログラミングをなぜ学ぶのか? 

  169. 1つは「複雑な現象を理解する」のため 

  170. ࣗ෼ ఢ ஄ ࣗ෼ͷ஄ ఢͷ஄ ੑ࣭Λड͚ܧ͙ લʹਐΉ ఢͱͿ͔ͭΔ ৭͸੨ ࣗ෼ͱͿ͔ͭΔ

    ৭͸੺ ੑ࣭Λ֦ு͢Δ 
  171. ڞ௨͢Δ ϏϔΠϏΞ͕ଟ͍ 

  172. ʮࣅͨ΋ͷΛ͘͘Γɺੑ࣭Λఆٛ͢Δʯ ʮڞ௨͢Δੑ࣭ΛऔΓग़͢ʯ ʮΫϥεͷؒͷ૬ޓ࡞༻Λఆٛ͢Δʯ ʮϞσϦϯάೳྗʯ 

  173. すごく大きなプログラムをつくる時… 

  174. すごく大きなプログラムをつくる時… 

  175. 461&3."3*0 

  176. ϚϦΦ ΫϦϘʔ ϒϩοΫ ʁϒϩοΫ Ωϊί 

  177. 461&3."3*0 ϚϦΦ ΫϦϘʔ ϒϩοΫ ʁϒϩοΫ είΞ ίΠϯ ϫʔϧυ λΠϜ ԡͨ͠ޙͷ

    ʁϒϩοΫ Ωϊί େϚϦΦ ϑϥϫʔ ϑΝΠΞ ϚϦΦ 
  178. ϚϦΦ ΫϦϘʔ ϒϩοΫ ʁϒϩοΫ είΞ ίΠϯ ϫʔϧυ λΠϜ ԡͨ͠ޙͷ ʁϒϩοΫ

    Ωϊί େϚϦΦ ϑϥϫʔ ϑΝΠΞ ϚϦΦ 
  179. ϚϦΦ ΫϦϘʔ ϒϩοΫ ʁϒϩοΫ είΞ ίΠϯ ϫʔϧυ λΠϜ ԡͨ͠ޙͷ ʁϒϩοΫ

    Ωϊί େϚϦΦ ϑϥϫʔ ϑΝΠΞ ϚϦΦ 
  180. ࿈བྷ໢σʔλϕʔε 

  181. ਓΫϥε ࿈བྷΫϥε ࢯ໊ɾి࿩൪߸Λ஌͍ͬͯΔ ࿈བྷݩɾ࿈བྷઌͷਓΛ஌͍ͬͯΔ 

  182. ਓ ࿈བྷ ࿈བྷ ਓ ਓ ࿈བྷ ਓ 

  183. ࿈བྷݩ ࿈བྷઌ Ώ͏͡ ·ΏΈ Ώ͏͡ ͱ΋Α ·ΏΈ Α͏͚͢ Α͏͚͢ ͨ͘΍

    Α͏͚͢ Έ͞ͱ ͱ΋Α ͻΖ͠ ͱ΋Α ΏΈ͜ ࢯ໊ ి࿩൪߸ ·ΏΈ YYYYYYYYY ͱ΋Α YYYYYYYYY Α͏͚͢ YYYYYYYYY ͨ͘΍ YYYYYYYYY Έ͞ͱ YYYYYYYYY ͻΖ͠ YYYYYYYYY ΏΈ͜ YYYYYYYYY 
  184. ࿈བྷ໢ͷߏ଄ʹண໨ ਓ͸ɺਓͷਓ͔ΒͷΈ࿈བྷΛड͚Δ 

  185. ࿈བྷݩ ࿈བྷઌ Ώ͏͡ ·ΏΈ Ώ͏͡ ͱ΋Α ·ΏΈ Α͏͚͢ Α͏͚͢ ͨ͘΍

    Α͏͚͢ Έ͞ͱ ͱ΋Α ͻΖ͠ ͱ΋Α ΏΈ͜ ࢯ໊ ి࿩൪߸ ·ΏΈ YYYYYYYYY ͱ΋Α YYYYYYYYY Α͏͚͢ YYYYYYYYY ͨ͘΍ YYYYYYYYY Έ͞ͱ YYYYYYYYY ͻΖ͠ YYYYYYYYY ΏΈ͜ YYYYYYYYY 
  186. ࢯ໊ ి࿩൪߸ ࿈བྷݩ ·ΏΈ YYYYYYYYY Ώ͏͡ ͱ΋Α YYYYYYYYY Ώ͏͡ Α͏͚͢

    YYYYYYYYY ·ΏΈ ͨ͘΍ YYYYYYYYY Α͏͚͢ Έ͞ͱ YYYYYYYYY Α͏͚͢ ͻΖ͠ YYYYYYYYY ͱ΋Α ΏΈ͜ YYYYYYYYY ͱ΋Α 
  187. ਓΫϥε ࢯ໊ɾి࿩൪߸ɾ࿈བྷΛड͚Δਓ Λ஌͍ͬͯΔ ࿈བྷΫϥε 

  188. ਓ ਓ ਓ ਓ ॲཧ͕؆୯ʹͳΔ σʔλ༰ྔ͕খ͘͞ͳΔ 

  189. ʮϞσϦϯάೳྗʯ ͜Ε΋ 

  190. プログラミングの「モデリング」は、 科学の考え方と同じ。 

  191. 1つは「コンピュータを使えるようになる」ため 

  192. 数学 

  193. 掛け算しよう ※ 解ける人は手を挙げて 

  194. 2 ×6 = ? 

  195. 12222 ×1666 = ? 

  196. 2 ×6 = ? 

  197. 12 ×6 = ? 

  198. 122 ×6 = ? 

  199. 122 ×16 = ? 

  200. 筆算ならできる? 1 2 2 × 1 6 7 3 2

    1 2 2 0 1 9 5 2 
  201. 12222 ×1666 = ? 

  202. 頑張れば、解ける 1 2 2 2 2 × 1 6 6

    6 
  203. (たぶん) 頑張れば、解ける 1 2 2 2 2 2 2 ×

    1 6 6 6 6 6 
  204. もし、筆算を知らなかったら… 「どう解いていいかわからない」 1 2 2 2 2 2 2 ×

    1 6 6 6 6 6 
  205. どう解いていいのか 分からない問題 頑張れば、時間はかかるけど 解ける問題 問題の答え 12222 ×1666 たくさんの 九九と足し算の組み合わせに 分解

    20,321,852 1 2 2 2 2 2 2 × 1 6 6 6 6 6 
  206. 「大きな問題を、小さな問題に分けて考える」のは 科学の考え方と同じ。 

  207. 

  208. どう解いていいのか 分からない問題 問題の答え 

  209. どう解いていいのか 分からない問題 問題の答え 

  210. どう解いていいのか 分からない問題 頑張れば、時間はかかるけど 解ける問題 問題の答え 

  211. どう解いていいのか 分からない問題 頑張れば、時間はかかるけど 解ける問題 問題の答え 

  212. どう解いていいのか 分からない問題 頑張れば、時間はかかるけど 解ける問題 問題の答え コンピュータの力 数学の力、 プログラミングの力 

  213. プログラミングが できるようになりたい! ならば… 今習っている「数学」を きちんと勉強しよう 

  214. 58888 ×6411 = ? 将来、こんな難しい問題が出てきても… 

  215. 58888 ×6411 = ? 1 2 2 × 1 6

    7 3 2 1 2 2 0 1 9 5 2 122 ×16 = ? 小さな問題に分割すれば、大丈夫 
  216. なぜプログラミングを学ぶのか 1. 複雑な現象を理解できる 2. 大きな問題を、小さく分けて解ける 「科学の考え方」を 自然に身につけられる 

  217. • 自分で考えたものを、作って動かすのは楽しい! • 複雑なアプリケーションが、自分の思い通りに動 くともっと楽しい!  なぜプログラミングを学ぶのか

  218. ͬͯԿ

  219. ͖͔ͬ͞Βઆ໌ͳ͠ʹ ࢖ͬͯΔ͚Ͳ͞ʜ UTVEBYͱ͔B[VNBTBZͱ͔ "[VNBJOUFSTFDUͱ͔ ͍͍ͬͨͬͯɺͳΜͳͷ͞

  220. ͔͜͜Β͸ +BWB4DSJQUͷࠜװ෦෼Λ Ͱ͖Δ͚ͩ͝·͔ͣ͞ʹઆ໌͠·͢

  221.  GVODUJPO \^ lϙετϞμϯl B[VNB "[VNB

  222. +BWB4DSJQUͷੈքͰ͸ʜ ѻ͑Δ΋ͷ͸ɺ͢΂ͯzΦϒδΣΫτz  GVODUJPO \^ lϙετϞμϯl B[VNB "[VNB

  223. lΦϒδΣΫτz͸zϓϩύςΟzΛ͍࣋ͬͯΔ ผ໊ʮεϩοτʯʮϝιουʯ ϓϩύςΟ ஋ JNBHF HBNFBTTFUT<bUTVEBQOH`> Z  TDBMF9 

    POFOUFSGSBNF GVODUJPO \^ B[VNB ΦϒδΣΫτ
  224. lΦϒδΣΫτz͸zϓϩύςΟzΛ͍࣋ͬͯΔ ϓϩύςΟ ஋ JNBHF HBNFBTTFUT<bUTVEBQOH`> Z  TDBMF9  POFOUFSGSBNF

    GVODUJPO \^ ϓϩτλΠϓ "[VNBQSPUPUZQF B[VNB ΦϒδΣΫτ
  225. ϓϩύςΟ ஋ POFOUFSGSBNF GVODUJPO \^ ϓϩτλΠϓ 4QSJUFQSPUPUZQF CFBS ϓϩύςΟ ஋

    JNBHF OVMM ϓϩτλΠϓ &OUJUZQSPUPUZQF 4QSJUF ϓϩύςΟ ஋ Y  Z  TDBMF9  TDBMF:  ϓϩτλΠϓ /PEFQSPUPUZQF &OUJUZ
  226. ϓϩύςΟ ஋ POFOUFSGSBNF GVODUJPO \^ ϓϩτλΠϓ 4QSJUFQSPUPUZQF CFBS ϓϩύςΟ ஋

    JNBHF OVMM ϓϩτλΠϓ &OUJUZQSPUPUZQF 4QSJUF ϓϩύςΟ ஋ Y  Z  TDBMF9  TDBMF:  ϓϩτλΠϓ /PEFQSPUPUZQF &OUJUZ Zͷ஋ڭ͑ͯ
  227. ϓϩύςΟ ஋ POFOUFSGSBNF GVODUJPO \^ ϓϩτλΠϓ 4QSJUFQSPUPUZQF CFBS ϓϩύςΟ ஋

    JNBHF OVMM ϓϩτλΠϓ &OUJUZQSPUPUZQF 4QSJUF ϓϩύςΟ ஋ Y  Z  TDBMF9  TDBMF:  ϓϩτλΠϓ /PEFQSPUPUZQF &OUJUZ
  228. ϓϩύςΟ ஋ POFOUFSGSBNF GVODUJPO \^ ϓϩτλΠϓ 4QSJUFQSPUPUZQF CFBS ϓϩύςΟ ஋

    JNBHF OVMM ϓϩτλΠϓ &OUJUZQSPUPUZQF 4QSJUF ϓϩύςΟ ஋ Y  Z  TDBMF9  TDBMF:  ϓϩτλΠϓ /PEFQSPUPUZQF &OUJUZ
  229. ϓϩύςΟ ஋ POFOUFSGSBNF GVODUJPO \^ ϓϩτλΠϓ 4QSJUFQSPUPUZQF CFBS ϓϩύςΟ ஋

    JNBHF OVMM ϓϩτλΠϓ &OUJUZQSPUPUZQF 4QSJUF ϓϩύςΟ ஋ Y  Z  TDBMF9  TDBMF:  ϓϩτλΠϓ /PEFQSPUPUZQF &OUJUZ ·ͩͩΑ
  230. ϓϩύςΟ ஋ POFOUFSGSBNF GVODUJPO \^ ϓϩτλΠϓ 4QSJUFQSPUPUZQF "[VNBQSPUPUZQF ϓϩύςΟ ஋

    JNBHF OVMM ϓϩτλΠϓ &OUJUZQSPUPUZQF 4QSJUFQSPUPUZQF ϓϩύςΟ ஋ Y  &OUJUZQSPUPUZQF ϓϩύςΟ ஋ JNBHF HBNFBTTFUT<bB[VNBQOH`> ϓϩτλΠϓ "[VNBQSPUPUZQF B[VNB
  231. ϓϩύςΟ ஋ POFOUFSGSBNF GVODUJPO \^ ϓϩτλΠϓ 4QSJUFQSPUPUZQF "[VNBQSPUPUZQF ϓϩύςΟ ஋

    JNBHF OVMM ϓϩτλΠϓ &OUJUZQSPUPUZQF 4QSJUFQSPUPUZQF ϓϩύςΟ ஋ Y  &OUJUZQSPUPUZQF ͡Ό͋ɺOFX"[VNB ͬͯͲ͏͍͏͜ͱ
  232. ϓϩύςΟ ஋ POFOUFSGSBNF GVODUJPO \^ ϓϩτλΠϓ 4QSJUFQSPUPUZQF "[VNBQSPUPUZQF ϓϩύςΟ ஋

    JNBHF OVMM ϓϩτλΠϓ &OUJUZQSPUPUZQF 4QSJUFQSPUPUZQF ϓϩύςΟ ஋ Y  &OUJUZQSPUPUZQF ϓϩύςΟ ஋ JNBHF HBNFBTTFUT<bB[VNBQOH`> ϓϩτλΠϓ "[VNBQSPUPUZQF B[VNB "[VNBQSPUPUZQFΛ ϓϩτλΠϓͱͨ͠ ৽͍͠ΦϒδΣΫτΛ࡞Δ
  233. ͍ͬͨΜ๨Ε·͠ΐ͏

  234. OFX"[VNB ͬͯͲ͏͍͏͜ͱ ˣ ʮ"[VNBʯͱ͍͏ܕ Ϋϥε Λݩʹ ৽͍͠ΦϒδΣΫτ Πϯελϯε Λ࡞Δ Ϋϥεϕʔεͷଊ͑ํ

  235. +BWB4DSJQU͸ʮϓϩτλΠϓʯϕʔεͳͷʹɺ ʮΫϥεʯϕʔεͷଊ͑ํ΋Ͱ͖Δෆࢥٞͳݴޠ

  236. ʙΛ΋ͱʹͯ͠ਐΊΔ

  237. プログラミングに、 興味を持ってもらえましたか? 

  238. ΋ͬͱֶͼ͍ͨਓ޲͚ IUUQEPUJOTUBMMDPN 

  239. ΋ͬͱֶͼ͍ͨਓ޲͚ νϡʔτϦΞϧ IUUQFODIBOUKTDPN 3FTPVSDFʹղઆ͋Γ ೔ຊޠ 

  240. ΋ͬͱֶͼ͍ͨਓ޲͚ IUUQMFBQOFU 

  241. ΋ͬͱֶͼ͍ͨਓ޲͚ IUUQMFBQOFU 

  242. ΋ͬͱֶͼ͍ͨਓ޲͚ IUUQXXXDPEFBDBEFNZDPN ӳޠ 

  243. 今日学んだことは、 プログラミングにおける 「はじめの一歩」 

  244. プログラミングに関しては、 「はじめの一歩」を踏み出せない人のほうが 多いのです 

  245. 実は、この講座と同じ内容を オトナの社会人向けにすでに教えています 「学生・社会人なんて関係ない!」 のがプログラミングの世界 

  246. プログラムを書いて、 面白いゲームを作ったら、 その後 どうすればいいの…? 

  247. まずは、今日作ったプログラムを 友達と共有してみよう 率直な意見を聞ける友達・先生は とても大切です! 

  248. 「enchant.js」を使った ゲーム開発コンテスト 「9leap」 

  249. 「9leap」に ぜひ投稿してみてください! 「優秀賞」「最優秀賞」に選ばれれば 最新ノートパソコンがもらえる & シリコンバレーに行けるチャンス!! 

  250. 「9leap」本戦はちょっとハイレベルなので… 2013年・夏から高校生以下限定 「9leap youth」がスタートします。 

  251. 2014年・夏には、 茨城で開催される全国総合文化祭で プログラミングが正式種目採用。 「9leap」本戦はちょっとハイレベルなので… 2013年・夏から高校生以下限定 「9leap youth」がスタートします。 

  252. 2014年・夏には、 茨城で開催される全国総合文化祭で プログラミングが正式種目採用。 

  253. 質疑応答