Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
event
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tutida
February 06, 2016
Education
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
event
2016/2/6 プログラミングイベント用
tutida
February 06, 2016
More Decks by tutida
See All by tutida
仕様の達成度とは別の軸も大事にしたい~OSEKKAI文化で作るプロジェクトの納得感~
tutida
0
110
Larvel Octane を AWS Fargate で動かしてみる
tutida
2
1.2k
Laravel x Inertia.js 現代のモノリス によるお手軽 SPA 開発
tutida
4
3.8k
JAWS DAYS 2020 | サーバレスの新しいデータストアの選択肢 S3 Select の魅力
tutida
2
2.7k
180405_AWS_Deep_Night_in_Fukuoka_part2.pdf
tutida
0
160
170223_aws_handson
tutida
0
150
[ fukuoka.php LT ] 新人のPHPExcel奮闘記
tutida
0
1k
Other Decks in Education
See All in Education
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
signer
PRO
1
2.7k
2026年度春学期 統計学 第2回 統計資料の収集と読み方 (2026. 4. 16)
akiraasano
PRO
0
180
自己紹介 / who-am-i
yasulab
6
6.9k
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
signer
PRO
1
3.1k
「機械学習と因果推論」入門 ③ 漸近効率な推定量と二重機械学習
masakat0
0
690
AIには考えられないことを考えられる人になるために
iqbocchi
1
170
現場最前線から教えるデータサイエンス1 -ITベンダーにおけるデータサイエンティスト-
hidetoshikawaguchi
0
110
解決策を教えても次期リーダーは育たない ─ 器の発達に伴走するために / Partnering with leaders in their vertical development
matsu0228
1
370
Alumnote inc. Company Deck
yukinumata
1
20k
Curso de Consagração ao Sagrado Coração de Jesus - O Sagrado Coração na História (Aula 01)
cm_manaus
0
230
SL AMIGOS 教育格差と私たちの取り組み - スリランカの支援学校への支援プロジェクト:リシンドゥ リオ 氏 (別府溝部学園短期大学 ビジネス観光コース 留学生):2720 Japan O.K. ロータリーEクラブ2026年4月6日卓話
2720japanoke
0
630
View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019538FNR)
signer
PRO
1
2.7k
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Embracing the Ebb and Flow
colly
88
5.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
30 Presentation Tips
portentint
PRO
1
330
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
Thoughts on Productivity
jonyablonski
76
5.2k
A designer walks into a library…
pauljervisheath
211
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Transcript
高校生から20歳までの プログラミング講座 in Fusic 2016年2月6日
本日の流れ # ガイダンス - 本イベントについて - processingについて - 準備などなど #
プログラミング - ゲームが出来るまでのstep1~10まであります - ゲームじゃなくて好きに作ってもOK! - 最後にグループ内で発表 # 時間 - 13:00~16:00 (休憩 15分)
# ガイダンス
イベントの前に プログラミングをしたことありますか?
イベントの前に プログラミングは どこに使われていると思いますか?
本イベントについて # 目的 - みんなが使っているテクノロジー技術の 内側を少し覗いて、学んでほしい - プログラミングに触れてみて 身の回りの技術への関心を持ってほしい -
簡単なゲームを作ってみよう!
Processingについて # Processingとは - 電子アートとビジュアルデザインのための プログラミング言語であり、統合かん(ry - 要はプログラミングで絵が描けるようになります! - http://processingjs.org/exhibition/
# Processing.jsとは - 色々準備が必要なProcessingを パソコンに入っているブラウザだけで使えるようになる! - 詳しいことが知りたい人はリンクを参考 http://qiita.com/Souj/items/fe8aa34f1b1339a94427
準備などなど # 本日の教材のダウンロード - http://17.gigafile.nu/g47bd9f5b5fcd9010737e3d92ea38d817-0213 - リンクよりダウンロードして展開してみましょう
#教材 □ step_01.html ~ step_10.html → 問題ファイル □ step_01_answer.html ~
step_10_answer.html → 解答例ファイル □ imgフォルダ / jsフォルダ → 問題に必要な画像やJavaScript □ TeraPad.exe → 問題を解く時に使います
#教材 # 普通にクリックをすると、ブラウザで開きます
#教材 # TeraPadを開いて、ドラッグ&ドロップすると…
#教材 # step_01.html を作っている中身を編集できます!
#教材 <!DOCTYPE html> <html lang="ja"> <head> <meta charset=“UTF-8" /> <title>processing</title>
<script type="text/javascript" src="./js/jquery-1.11.3.min.js"></script> <script type="text/javascript" src="./js/processing.min.js"></script> </head> <script type="text/processing" data-processing-target="mycanvas"> /********************************************* STEP_01 : 画面の大きさを設定してみよう **********************************************/ /********************************************* ・ setup()の中にある size(????, ????)を変更して 横 1065 縦 612 の画面を作ってみましょう - size(横の大きさ,縦の大きさ) *********************************************/ </script> <body> <canvas id="mycanvas"></canvas> </body> </html> この中を 編集していきます。
# プログラミング
#流れ ① 解答例をみて、作るものを確認しましょう!
#流れ ② 問題をTeraPadで開いて、見てみましょう!
#流れ ③ 問題の中の「?」や間違った値を編集して、 回答例と同じように動くようにしてみましょう! 編集して ブラウザで確認
#step_01.html step_01 : 画面の大きさを設定してみよう - setup()の中にある size(100, 100)を変更して 横 1065
縦 612 の画面を作ってみよう [Point] - size(横の大きさ, 縦の大きさ); →画面のサイズを決めるための命令
#step_01.html 横 縦
#step_02.html step_02 :画像を背景に設定してみよう - 背景用画像が 「./image/sea.png」にあります - この背景用画像を画面に貼ってみよう [Point] -
変数 : データや値をいれるための箱 - loadImage("./image/sea.png")で 変数 sea に画像の情報を保存します - background(画像の情報) で背景の設定が出来ます
now previous next ../sea.png ./sea.png ./next/sea.png #step_02.html
変数とは 情報に名前を与えて、記憶しておくもの 例: // 画像情報を記憶するための箱を用意 Pimage sea; // 画像情報を格納 sea
= loadImage(“./image/sea.png”); #step_02.html
#step_03.html step_03 : 四角を書いてみよう - draw(){} の中で rect(???, ???, ???,
???)で四角が書けます。 - 場所や大きさなど色々触ってみよう [Point] - rect(横位置, 縦位置, 横大きさ, 縦大きさ); [Extra] - 画面の四隅にぴったりはまる 100×100の四角を置いてみよう
(x,y) (x) (0,0) (y) rect(横位置, 縦位置, 横大きさ, 縦大きさ); #step_03.html
#step_04.html step_04 : 四角を動かしてみましょう - setup(){} を一回だけ通った後は draw(){} を何回も繰り返して通ります -
rect()の位置が毎回変わるようにすると、 動いているように見えます [Point] - 変数 : データや値をいれるための箱 - 四角の位置や大きさに変数を入れることができます (例) rect(x, y, 100, 100) - 「x = x + 3;」 xの値に3を加える
setup() draw() 最初の1回目に通る あとはここで繰り返し #step_04.html
(x,y) (x) (0,0) (y) #step_04.html
(x,y) (x) (0,0) (y) (x+1,y) (x+1) #step_04.html
#step_05.html step_05 : 障害物を作ろう_1 - これまでの練習を基に「右から左」に動く 障害物を上下それぞれ作みよう [Point] - 壁を横(右端から左端)に動かす
- fill(102, 51, 0); ->壁の色を茶色指定するための命令 ->中の数字を変えると色が変わります
#step_06.html step_06 : 障害物を作ろう_2 - 壁が繰り返して出るようしてみよう - 壁が端っこ(左)まで行ったら「右側に戻る」ように - 壁の高さが毎回変わるようにしてみよう
[Point] - if文 - random(0,100) ランダム関数 randam(x,y) xからyまでの数字をランダムに 出してくれる
# if 文 if ( 条件 ) { 条件がOKの場合はここの処理を通る }
条件がOK-> true / 条件がNG -> false 例: --------------------- x = 5; if ( x == 5) { x = x – 3; } ------------------- x = 5; if ( x < 0) { x = x + 3; } #step_06.html
(x,y) (x) (0,0) (y) #step_06.html
(x-3,y) (x-3) (0,0) (y) #step_06.html
(x-3,y) (x-3) (0,0) (y) #step_06.html
(0,y) (0,0) (y) if ( x == 0 ) {
xを元の位置に戻す数字を入れる 壁の高さを変える } #step_06.html
(x,y) (x) (0,0) (y) 最初の位置に戻る 壁の高さが変わる #step_06.html
#step_07.html step_07 : 魚を作ろう - 魚を作りましょう。 - 今回はまだ四角で代用 - キーボードを押すと上に移動、押していないと下に移動
[point] - keyPressed - if(keyPressed) { キーボードが押されているときに通る処理 } else { キーボードが押されていないときに通る処理 }
keyPressed 押しているとき 押していないとき true false #step_07.html
if ( keypress ) { キーボードを押している時の処理 (四角が上に行く) } else {
キーボードを押していない時の処理 (四角が下に行く) } #step_07.html
keyPressed = fasle 押さない If文が実行されない #step_07.html
keyPressed = true If文が実行される #step_07.html
#step_08.html step_08 :あたり判定を作ろう あたり判定として ①魚が壁(上)にあたった時 ②魚が壁(下)にあたった時 ③魚が上または下に行き過ぎた時 [point] ・「あたる」について考えてみましょう ・if文
&& ・exit() ->処理を中止する命令
if ( 条件A && 条件B ) { AとBの両方がOKの場合の処理 } (例)
if ( x < 10 && x > 5 ) { x が 6~9の場合ここを通る } #step_08.html
100 200 50
100 200 50 300 ①壁の横の位置 ここ < 300 ↓ここ
100 200 50 50 ②壁の横の位置 50 < ここ ↓ここ
さかなの縦 →keyを押すたびに変わる値 壁の縦 →ランダムな値 ③壁の縦の位置 さかなの縦 < 壁の縦
条件(上) ・条件①:魚の横位置 < 300 ・条件②:50 <魚の横位置 ・条件③:魚の縦位置 < 壁の縦大きさ #step_08.html
#step_08.html 条件(下) ・条件①:50 < 魚の横位置 ・条件②:魚の横位置 < 300 ・条件③: 魚の縦位置
+ 200 < 612 - 壁の縦大きさ
#step_09.html step_09 : 魚の画像を表示しよう - 魚画像が 「./image/sakana.png」にあります - この魚画像を画面に貼ってみましょう [Point]
- loadImage("./image/sea.png")で 変数 sea に画像の情報を保存します - image(読み込む画像, 横位置, 縦位置, 横大きさ, 縦大きさ); - 画像を貼り付けるための命令
#step_10.html step_10 : 壁に当たった時に花火がでる - いままで exit(); で終わらせていたところで 「花火」を出してみよう [Point]
- drawFire() - 花火を出すための命令 - if (ゲームオーバーなら) { 花火を出す } else { 魚を出す }
#Extra ① : hockey.html を作ってみましょう! ② : http://processingjs.org/exhibition/ サンプルサイトから色々いじってみよう ③:http://processingjs.org/reference/
好きに色々触ってみよう!