1.無料ソフトウエア,無料データ,
Scratchプログラミング,Scratch
キャラクタ
(コンピューターサイエンス)
1
金子邦彦
謝辞:この資料では「いらすとや」のイラストを使用している
自己紹介
2
金子邦彦 (かねこくにひこ)(福山大学工学部)
【研究領域】
データベース応用,データベース基盤技術,高度データ利用
【実績】
・学術論文等:27編,査読付き国際会議:76編,その他講演多数
・教科書等:3
・授業担当経験:のべ24科目
・科学研究費:のべ11件 概算のべ数千万円 他大学との共同多数
・共同研究,受託研究など:のべ10件 概算のべ一億円 国際共同研究
あり
・学部生,大学院生の指導経験多数
人工知能画像処理3次元コンピュータグラフィックス(VR含む)
Webシステム知的システム社会システムの成功には,
データベースが必要という気持ちで進めている
詳しくはhttp://www.kkaneko.jp/index.html
今回の内容
コンピュータの基礎と情報工学の全体像
無料ソフトウェア著作権の基本
情報工学がゲーム等の身近な技術と結びつくこと
を理解
Scratchを用いたビジュアルプログラミングで順
次実行・繰り返し・条件分岐の基本概念を体験
プログラミング的思考の学び.
3
1-1 コンピューターサイエン
スで学ぶこと
4
コンピュータと人間の協働は当たり前のこと.
コンピュータは,人間の知的能力増幅できるマ
シン.
コンピュータは知的な能力を持ち(人工知能),
そして,ネットワーク化され,生活や社会を変革
できる能力を持つ.
コンピュータはプログラムによって動作プログ
ラムの作成は創造的な活動.コンピュータの基礎
を学ぶことは楽しく,エキサイティング.
5
コンピューターサイエンスで学ぶこと
コンピュータで何ができないか
コンピュータは万能ではない
計算結果には誤差が生じうる.
プログラムの誤り(バグ)コンピュータ自身が
すべて見つけ出すことはできない
6
コンピューターサイエンスで学ぶこと
プログラミングの基礎
プログラミング言語を使って手順を書きコン
ピュータにその通りの動作をさせる.
普段使っているパソコンやスマートフォンのアプ
も,すべてプログラムによって動作している.
7
コンピューターサイエンスで学ぶこと
情報化社会,人工知能化社会
コンピュータとネットワークにより,情報の収
集・処理・共有が容易になった
情報そのものが価値を持つ時代になった.
人工知能が身近に普及し,社会全体が大きく変化
しつつある.
8
1-2 無料ソフトウエア,無料
データ
9
デジタルの知的財産
デジタルの知的財産には,あらゆる「表現」が含ま
れる
ソフトウェア.解説,ニュース,レビュー,ブロ
グなどの文章.
著作権法,特許法などの法律によって保護されてい
る.
作者が許可していない限り,無断で利用すること
できない.
10
無料ソフトウエア・無料データの定義と意義
「無料ソフトウェア」「無料データ」は,特定の条
件下で無料で利用できる便利なもの
なお,無料ソフトウェアには,無償で配布され
るソフトウェア(フリーウェア)と,ソース
コードが公開され自由に利用・改変・再配布で
きるオープンソースソフトウェアがある.
ソフトウェアやデータを組み合わせることで,や
りたいことができたり,社会を発展させたり,経
験を共有できたりする.人類全体の発展に役立つ
財産になる.
11
利用時のマナーと注意点
無料ソフトウェアや無料データを利用する際に
は,以下のマナーが重要:
作者が定める利用条件を確認する
不具合があっても自己責任という条件になって
いることが多い
著作権を尊重する
無料を装った詐欺的なソフトウェアやデータ
(役に立たないもの,悪意を持って誘導するも
の)も存在するため,注意が必要.広告収入や
善意による提供であれば問題ない.
12
無料データの具体例 無料で利用できる
地図
13
無料の地図(広島県部分を抜粋)
コンピュータ
インター
ネット
かつては有料だった地図データが,現在では無料
利用できるようになった.インターネットを通じ
個々人のもとへ届く.
国土地理院
OpenStreetMap(誰でも編集可能な地図データ)
Google Maps など
1-3 情報工学の世界
ゲームの中の情報工学
14
情報工学とは
情報工学とは,コンピュータを用いて問題を解決
る学問分野.問題を解決するためには,以下の3
を見極めることが求められる:
対象:何を扱うのか
構造:どのような関係や仕組みがあるのか
条件:どのような制約や状況があるのか
情報工学では,やみくもにプログラムを書くので
なく,まず問題の対象・構造・条件を整理し,それ
に基づいて解決方法を設計する.この「極める
」が情報工学で求められる力である.
15
ゲームにおけるキャラクタの自動行動
ゲームでは,敵キャラクタが自動的にプレイヤーを
追いかけたり,障害物を避けたりする.
これはプログラムによって実現されている.
対象:キャラクタの位置と状態
構造:ステージの配置と移動ルール
条件:プレイヤーとの距離,障害物の有無
16
ゲームにおけるキャラクタの自動行動
対象、構造、条件:キャラクタの位置と状態、ス
テージの配置と移動ルール、プレイヤーとの距離
障害物の有無
プログラムがこれらを判定し,キャラクタの動き
を決定.
(例)もしプレイヤーが近くにいたら,追いかける、
もし壁にぶつかったら,方向を変える
条件分岐や繰り返しのプログラムとして実現.
キャラクタの動きを制御する.
17
ゲームと情報工学のつながり
ゲーム開発には,実は,情報工学の多くの分野が関わっ
ている:
プログラミング(キャラクタの動作制御)
データの扱い(スコア管理,セーブデータ)
人工知能(敵キャラクタの行動判断)
3次元コンピュータグラフィック(ゲーム画面の描
画)
ゲームは,情報工学のさまざまな分野の技術が組み
わさって成り立っている.
今回の授業では,Scratchを使ってキャラクタの動き
プログラムで制御する体験を通じて,情報工学の基
礎に触れる.
18
ここまでのまとめ 情報工学の世界
情報工学の世界は:
急速に発展している
学んだことが役立つ
多様な分野がある(プログラミング,データの扱い
人工知能,3次元コンピュータグラフィックスなどの
メディア,その他)
社会や生活を変える大きな力があり,魅力が高い
創造力,発想力,デザイン力,実行力を重視
新しいアイデア,アプローチが歓迎される
問題解決のために,対象・構造・条件を見極める力
求められる
19
1-4 Scratchプログラミング
20
プログラムとは
21
プログラムとは,コンピュータに実行させたい一
連の手順を記述したもの.
コンピュータが「何をどのように実行するか」を
書いたものがプログラムであり,起動すると記述
した手順通りに処理が行われる.
プログラム
プログラミングを学ぶことの魅
コンピュータを自分の思い通りに活用できるよう
になる.
コンピュータの活用で,自分自身の能力を増幅
きる.
創造力,発想力,デザイン力,行動力,チャレン
ジ精神など,総合的な人間力の成長につながる.
理的な思考力を試すチャンスにもなる.
プログラミングは「部品」を組み立てて作品を作
り上げることに似ているため,エンジニアとして
素養や知識を磨くことにもつながる.自分の可能
を広げることができる.
22
Scratch の概要
Scratchを用いて,ビジュアルにプログラムの製作
を行うことができる.ブロックを組み合わせてプ
グラムを作る
23
その鍵は
プログラム
キャラクタ
プログラム 作成したプログラム
りにキャラクタ
が動く
キャラクタを自在に操る
イベント駆動
イベント」カテゴリの「旗が押されたとき」ブ
ロックの利用により,旗ボタンをクリックしたと
きにプログラムが開始するようにできる.
Scratchでは,「何かが起きたとき(イベント)」
にプログラムを開始する仕組み.
旗ボタンのクリックは、最も基本的なイベント.
24
順次実行
ブロック上から下へ合体させると,合体した順
番通りにキャラクタが動作する(上から下へ順番
に実行される)
ブロックの並び順がそのまま実行の順序.これが
順次実行の基本.
25
ブロック操作の基本
ブロックを置く
ブロックを組み合わせる
プログラムの起動
26
ブロック操作の基本:① ブロックを置く
27
種類を選ぶ
ブロックを選ぶ
ドラッグして置く
左側のカテゴリ一覧から種類を選ぶ
ブロックを選ぶ
中央のコード領域へドラッグして置く
ブロック操作の基本: ブロックを組み合
わせる
28
種類を選ぶ
ブロックを選ぶ
ドラッグして合体
種類を選ぶ ブロックを選ぶ
既存のブロックの近くへドラッグして合体さ
.ブロック同士がぴったり接続されること.
ブロックの形状と合体ルール
29
たくさんの種類の
ブロック
同じ形のブロックは
合体できる
六角形
ブロック
六角形
の穴
Scratchのブロックには形状の違いがあり,同じ形
状同士で合体(接続)できる仕組みになっている.
(例)例えば,六角形のブロック(条件判定ブロ
ク)は六角形の穴にはめ込んで使う.形が合わな
ブロックは合体できない.
ブロック操作の基本: プログラムの起動
起動ボタン(旗ボタン)をクリック
キャラクタが動く.
30
起動ボタンを
クリック キャラクタ
動く!
ブロックの削除
31
不要なブロックは,
右クリックメニューで,
ブロックを削除
不要なブロックは,右クリックメニューで「
ロックを削除」.
ブロックを誤って配置しても,右クリックメ
ニューからいつでも削除できるので,自由に試行
錯誤してよい.
Scratchの良さ
日本語対応
ビジュアルで,誰でも使いやすい
オンラインでも動くので,インターネットがあれ
ば,すぐに開始できる
ビジュアルなブロックを組み合わせることで,複
雑なプログラミングも可能
プログラミングを学ぶための良い手段
32
1-5 Scratchのキャラクタ
33
Scratch のキャラクタの基本
Scratchでは、キャラクタは自由に増やすことが
できる.
各キャラクタ独立したプログラムを持つ.
新しく追加したキャラクタには、最初はプログラ
ムが存在しない.キャラクタごとにプログラムを
組み立てる組み立てる必要がある.
34
スプライト(キャラクタ画像)
35
スプライトは,キャラクタの画像データこと.
画面右下の「スプライトを選ぶ」ボタンクリッ
クすると,多数のスプライトの一覧が表示され,
そこから好きなキャラクタを選んで追加きる
キャラクタの強制移動
36
キャラクタがおかしな場所
に行ってしまったときは,
ドラッグして動かすことができる
キャラクタはマウスでドラッグ(左ボタンを押し
ながら)して位置を変更できるプログラム実行
中でもOK
キャラクタがおかしな場所に行ってしまったとき
に有効
キャラクタの削除
キャラクタの削除:スプライト一覧に表示される
キャラクタの右上の「x」をクリック
37
削除したいキャラクタ
の「x」で
削除
1-6 Scratchのキャラクタの
制御
38
制御 繰り返し
制御」カテゴリの「ずっと」ブロック合体
「ずっと」の中に入れたブロックは,強制停止するまで
度も繰り返し実行される.キャラクタを自動的に動かし続
けることができる.
繰り返しの外に置いたブロックは,1回だけ実行される.
39
ずっと
ドラッグ キャラクタが自動で
動き続けるようになる
制御 もし・・・たら,・・・する(条件分岐)
動き」カテゴリの「もし端に着いたら,跳ね返る」ブロッ
合体
端に着いたら跳ね返るようになる.「もし端に着いたら,
跳ね返る」ブロックは,キャラクタがステージの端に到達
したかどうかを判定.
「もし○○なら△△する」のような条件に応じた動作の切
り替え条件分岐
40
動き
ドラッグ 端に着いたら
跳ね返るようになる
もし端に着い
たら,跳ね返
プログラムの強制停止
実行中のプログラムは、強制停止用のボタン(赤
い丸ボタン)のクリックにより停止できる
繰り返しを使ったプログラムでは,この強制停止
ボタンが停止手段となる.
41
強制停止用の
ボタン
まとめ
インターネット上には多くの無料ソフトウェア無料
データが存在. 利用の前に作者が定める利用条件を確認し,
著作権を尊重することが重要
コンピュータプログラムは,人間の知的能力の増幅を可
能とする.
プログラミングの学習は,現代社会で役立つスキルの一つ
であり,将来の進路にもつながり,将来の自分の成長にもつ
ながり,クリエイティブな思考力自由な発想力育成する
ことにもつながる
Scratchプログラミング初心者にとって理想的なツール.
キャラクタを自由に操り,ブロックを選んで組み合わせ
分だけのプログラムを作成できる
42
演習
43
1. Webブラウザ起動
2. Webブラウザで,次のURLを開く
https://scratch.mit.edu/
3.ってみようをクリック
44
演習① Scratch の開始・ブロック操作
次の説明ビデオを視聴しないときは
右上の「×閉じる」をクリック
6.動き」をクリック
7. ドラッグし,
と合体
4.イベント」をクリック
5. ドラッグ
(左ボタンを押しながら移
動し,左ボタンを離す)
ドラッグ ドラッグ
2つを合体
32
イベント
動き
組み合わせ
て合体
33
8. (旗)ボタンをクリックするとキャ
ラクタが,少し右に,動く
9. (旗)ボタンを数回クリックしてみよう
34
演習 キャラクタ・スプライト
48
1.「スプライトを選ぶ」をクリック
2.好きなキャラクタを選ぶ
3右下の「スプライト」で、新しいキャラクタを選
んでから.
4. 演習①と同様に「旗が押されたとき」と「10歩動か
」のブロックを組み立てる.
49
5. (旗)ボタンをクリックするとキャラク
タが動く.何度かクリックしてみよう
1. 新しいキャラクタが選ばれていることを確認
2. 制御」を選び (ずっと)のブロッ
をドラッグ、既存のブロックと合体
51
ドラッグ 合体
演習③ キャラクタの制御
3.動き」を選び (もし端に着いた
ら、跳ね返る)ブロックをドラッグ、「ずっと
の中に合体
52
ドラッグ 合体
53
4. (旗)ボタンをクリックするとキャラクタ
動く.
(強制停止)ボタンをクリックすると止まる
54
.(強制停止)ボタンをクリックして止めてから
15度回す」を「すっと」の前に加える.
動き始めるときに,ななめに傾くようになる
55
6. (旗)ボタンをクリックするとキャラクタ
動く.
(強制停止)ボタンをクリックすると止ま
動き始めの瞬間に
15度傾く
演習④ 自由制作(余裕のある人向け)
56
各自で工夫する.
いろいろな動きを試す.
複数のキャラクタを同時に動かす.
たくさんの種類のブロックを試す.同じ形のブロックは合体できる(六
角形ブロックは六角形の穴にはめ込む).