スライド 1: 2. プログラミング入門:タートルグラフィックスとコードコンバットによる演習
スライド 2: 2-1. オブジェクト,メソッド
スライド 3: オブジェクトとメソッド
スライド 4: クラスとオブジェクト
スライド 5: プログラミング学習のためのタートルグラフィックス
スライド 6: タートルグラフィックスの基本機能
スライド 7: オブジェクトとメソッドの実践例①
スライド 8: オブジェクトとメソッドの実践例②
スライド 9: 座標系と goto メソッドの引数
スライド 10: Trinket の概要
スライド 11: Trinket の基本操作
スライド 12: 演習.基本的なプログラミング
スライド 13
スライド 14
スライド 15
スライド 16
スライド 17: まとめ
スライド 18: 2-2. コードコンバット(Code Combat)を用いたプログラミング演習
スライド 19: Pythonプログラミング学習:コードコンバット
スライド 20: 授業における学習範囲と利用形態
スライド 21: Python基礎トピックス
スライド 22: オブジェクトとメソッド
スライド 23: オブジェクトとメソッドの活用
スライド 24: 引数の使用方法
スライド 25: 演習 基本プログラミング
スライド 26: 学習準備(1):Webブラウザでのアクセス方法
スライド 27: 学習準備(2):初期設定と言語選択
スライド 28: 学習準備(3):アクセス権限の確認
スライド 29: ゲーム開始(1):基本ステージの選択
スライド 30: ゲーム開始(2):初期ダンジョンへの挑戦
スライド 31: ゲーム開始(3):ゲーム環境の起動
スライド 32: プログラミング環境(1):言語設定の確認
スライド 33: プログラミング環境(2):使用アイテムの選択
スライド 34: プログラミング環境(3):ゲーム開始準備
スライド 35: プログラミング実行(1):レベルスタート手順
スライド 36: プログラミング支援(1):ヒント機能の活用
スライド 37: プログラミング支援(2):メソッド説明の参照
スライド 38: プログラミング実践(1):基本命令の入力
スライド 39: コーディング実践(2):プログラム動作の確認
スライド 40: 問題解決方法:学習支援機能の活用
スライド 41: 課題達成(1):プログラム完成までの手順
スライド 42: 課題達成(2):次のステージへの進み方
スライド 43: 発展学習(1):追加ステージの選択方法
スライド 44
スライド 45: 発展学習(3):無料コンテンツの範囲確認
スライド 46: 発展学習(4):追加機能とアカウント登録
2.
プログラミング入門:タート
ルグラフィックス
とコードコン
バットによる演習
Python
プログラミング講座:基礎から応用まで
(
全
15
回
)
URL:
https://www
.kkaneko.jp/pro/pf/index.html
1
金子邦彦
2-1.
オブジェクト,メ
ソッド
2
オブジェクトとメソッド
•
オブジェクト
:コンピュータでの
操作や処理の対象と
なるもの
•
メソッド
:
オブジェクト
に属する機能や操作.オブジェ
クトがもつ能力に相当する
•
引数:メソッド
が行う操作の詳細に関する情報.
メ
ソッド
呼び出しのときに、引数を指定できる
t.goto(0,100)
3
t.goto(0,100)
t
オブジェクト
go
to(0,100)
メソッド
間を「
.
」で
区切って
いる
引数
クラスとオブジェクト
•
クラス
は,同じ種類のオブジェクトの集まりと考えること
ができる
•
オブジェクト生成
では,
クラス名を指定
例
t = turtle.
T
urtle
()
4
人間
学生
学生でもあり人間でもある
人間だが,学生ではない
クラス名
プログラミング学習のためのタートル
グラフィッ
クス
•
カーソル(
画面上を移動する亀の形をしたポインタ)を
使って
絵を描く
•
タートルグラフィックス
を用いた演習により,
プログラム
によって図形を描画
する.
•
プログラムの
動作を視覚的に理解
できる
•
論理的思考力や課題解決力の向上
にもつながる
5
(
0
, 0)
(
0
, 100)
(100, 0)
タートルグラフィックスの機能をイン
ポートする「
import
turtle
」が必要
タートルグラフィックスの基本機能
主なメソッド
•
goto
(<横方向の値>,
<
縦方向の値
>
)
指定座標への移動
•
forw
ard
(
<移動量>
)
前進
•
backward
(
<移動量>
)
後退
•
right
(
<角度>
)
右回り回転
•
left
(
<角度>
)
左回り回転
6
メソッド
オブジェクト
•
メソッド
は、オブジェクト
が持つ機能を呼び出すため
のもの
•
「
goto
」は
指定座標への移
動
オブジェクトとメソッドの実践例①
7
オブジェクトが動く
import turtle
t = turtle.T
urtle
()
t.goto(0,100)
タートルグラフィックスの機能をイン
ポート
オブジェクト生成.変数
t
にセット.
座標
(0, 100)
に移動
実行結果
(0, 100)
(0, 0)
最初の位置は
(0, 0)
オブジェクトとメソッドの実践例②
8
import turtle
t = turtle.T
urtle
()
t.goto(0,100)
t.goto(100,0)
実行結果
(100, 0)
(0, 100)
(0, 0)
最初の位置は
(0, 0)
オブジェクトが動く
タートルグラフィックスの機能をイン
ポート
オブジェクト生成.変数
t
にセット.
座標
(0, 100)
に移動
座標
(100, 0)
に移動
9
亀(タール)
の最初の位置
は
(0, 0)
(
プラスの数
, 0)
(
マイナスの数
, 0)
(0,
プラスの数
)
(0,
マイナスの数
)
縦方向の値と,横方向の値を,メソッド
goto
の引
数として指定
座標系と
goto
メソッドの引数
T
rinket
の概要
•
T
rinket
は
オンライン
の
Py
thon
、
HTML
等の
学習サイト
•
ブラウザで動作
•
有料の機能と無料の機能を提供
•
自作プログラムの公開と共有が可能
•
Py
thon
の標準機能
に加え,外部ライブラリ
matplotlib.pypl
ot
,
numpy
, processing, pygal
が利用可能
10
•
公開プログラムごとに固有の
URL
が割り当てられる
例
htt
ps://trinket.io/python/0fd59392c8
•
「
Run
」ボタンによるプログラムの開始,「
ST
OP
」ボタンに
よる終了
•
メイン画面
での
プログラム編集と再実行
が可能
•
左側で実行結果を確認
T
rinket
の基本操作
11
確認編集用の
メイン画面
実行結果
実行、
ST
OP
ボタン
演習.基本的なプログラ
ミング
12
13
実行結果
(100, 0)
(0, 100)
(0, 0)
最初の位置は
(0, 0)
import turtle
t = turtle.T
urtle
()
t.goto(0,100)
t.goto(100,0)
タートルグラフィックスの機能をイン
ポート
オブジェクト生成.変数
t
にセット.
座標
(0, 100)
に移動
座標
(100, 0)
に移動
①
trinket
の次のページを開く
https://trinket.io/python/
f29bfe71c
d
②
実行結果が,次のように表示されることを確認
14
•
実行が開始しないときは、「
実行ボタン
」で
実行
•
プログラムを
書き替えて再度実行
することも可能
実行、
ST
OP
ボタン
③
プログラムの変更と再実行
次のように
書き換えて
、
再実行
し、
結果が変わる
こ
とを確認
15
実行、
ST
OP
ボタン
書き換え
16
亀の最初の位
置は
(0, 0)
(
プラスの数
, 0)
(
マイナスの数
, 0)
(0,
プラスの数
)
(0,
マイナスの数
)
④
プログラムの改良と発展
次を参考に、
自分で引数を書き替えたり
、プログラ
ム内に
「
t.go
to
(<
引数
>)
」を増やして
、
思い通りの
図形
を目指す。
まとめ
•
オブジェクト
:コンピュータでの
操作や処理の対象と
なるもの
である.
•
メソッド
:
オブジェクトが持つ機能や操作
を表すもの.
例
:
t.goto(100,0)
では
t
はオブジェクト
、
goto
はメ
ソッド
。
•
引数
:メソッドには,
操作の詳細を指定
するための引
数を設定できる.
例:
t.goto(100,0)
では、引数は「
10
0,0
」
•
プログラムの修正や改良を繰り返し行う
ことで,
目的
の動作を実現
できる.
17
2-2
.
コードコンバット
(
Code
Combat
)を用いた
プログラミング演習
18
Python
プログラミング学習
:コードコン
バット
•
コードコンバット
(
CodeCombat
)では,
プログラミ
ングの基礎
を
ゲーム形式
で学ぶ
•
キャラクターを動かすためのプログラム
を作成しなが
ら,
段階的にプログラミングスキルを向上
させること
ができる
19
授業における学習範囲と利用形
態
本授業では以下の範囲で学習を進める
•
無料,クラスコード不要,
Python
の基本5レベル
授業範囲
•
無料,クラスコード使用,より本格的な利用
クラスコードの使用
には,
メールアドレスの登録
などが必要
•
有料会員登録(
500
以上のレベル)は任意
各自の判断で行う
20
Python
基礎トピックス
•
オブジェクト
と
メソッド
hero.moveDown
()
hero
は
オブジェクト
moveDown
()
は
メソッド
•
文字列
は
「
"
」
(
ダブルクォーテーション
)
または
「
'
」
(
シン
グルクォーテーション
)
で囲む
•
メソッド
の,
引数指定
hero.attack("fence", 36,
26)
hero.attack(enemy1)
21
オブジェクトとメソッド
•
オブジェクト
:プログラム上の操作
対象となるも
の
•
メソッド
:オブジェクトが実行でき
る動作
22
オブジェクトとメソッド
(
Python
プログラム)
実行画面
オブジェクトが動く
オブジェクトとメソッドの活用
•
画面上の
キャラクター(
her
o
)
に対して,
moveDown
()
や
moveRight
()
などの
メ
ソッド
を
適
用
し,意図した動作を実現.
23
オブジェクトとメソッド
(
Python
プログラム)
実行画面
オブジェクトが動く
引数の使用方法
•
引数
を使用することで,
攻撃対象の
指定
(
hero.at
tack
("fe
nce"
)
)や
移動距離の設定
など,
より複雑な動作を実現.
24
オブジェクトとメソッド
(
Python
プログラム)
実行画面
オブジェクトが動く
演習
基本プログラミング
•
オブジェクトの操作
•
メソッドの呼び出し
•
引数の使用
•
文字列の扱い
25
学習準備(
1
):
W
eb
ブラウザ
でのアクセス
方法
https://codec
ombat.com
26
課金に関するメッセージが表示された場合は,
無視を推奨.心配なことがあるときは,無理
に使用しないこと.
課金のメッセージの例
学習準備(
2
):初期設定と言語
選択
•
「
私は学生です
」を選択
•
必要に応じて
言語設定
を
日本語
に変更
•
アカウント登録やログインは行わない
27
学習準備(
3
):アクセス権限の
確認
•
「
今すぐプレイ
」を選択
•
クラスコードの有無の確認では,
本授業では,クラスコード
を使用しない形式
で学習を進める.
28
ゲーム開始(
1
):基本ス
テージの選択
29
•
「
キースガードのダンジョン
」を選択し,「
ゲームスター
ト
」をクリック.基本的なプログラミング学習の出発点とな
る.
ゲーム開始(
2
):初期ダ
ンジョ
ンへの挑戦
30
最初のダンジョン
ゴール
•
最初のダンジョンを選択
する.
•
画面上にはゴールが表示される.
•
音声が流れるので,
各自で適切な音量に調整
すること.
ゲーム開始(
3
):ゲーム環境の
起動
31
•
「
ゲームスタート
」をクリックして,起動する.
•
次以降の画面で,プログラミングについての画面が表示
される.
プログラミング環境(
1
)
:言語
設定の確認
32
•
「
Py
thon
(デフォルト)
」を選択し,「
次へ
」をクリッ
ク.
•
この設定により,
Python
言語が選択される.
プログラミング環境(
2
):使用アイテ
ム
の選択
33
•
使用可能なアイテム
を
ダブルクリック
で選択
•
ゲーム後半ではアイテムが増える(それに応じてメソッ
ドが増える)
プログラミング環境(
3
):ゲー
ム開始準備
34
•
「
ゲームスタート
」をクリックし,
準備を完了
する.
プログラミング実行(
1
):レベ
ルスタート
手順
35
•
目標をよく読む
•
「
ゲームスタート
」をクリックし,
開始
する.
プログラミング支援(
1
)
:ヒント機能
の活用
36
•
「
ヒント
」ボタンをクリックすることで,
課題解決のた
めのヒント
を参照できる.
•
ヒントが英語で表示される場合があるが,これは翻訳の
不完全さによるものである.(動作不具合ではない)
プログラミング支援(
2
)
:メソッド説
明
の参照
37
•
「
メソッド
」リストから
必要なメソッドを選
択すると,
その
使用方法に関する説明
を確認できる.
•
説明が英語で表示される場合があるが,これは翻訳の不
完全さによるものである.(動作不具合ではない)
プログラミング実践(
1
):基本
命令の入力
38
•
編集画面
で「
hero.moveDown
()
」などの
プログラムを入
力
し,「
実行
」ボタンでその
動作を確認
する.
コーディング実践(
2
):
プログ
ラム動作
の確認
39
•
「
実行
」ボタンをクリックすると,入力した
プログラム
に従ってキャラクターが動作
する.
•
hero.moveRight
()
で
右に移動
,
he
ro.moveDown
()
で
下
に移動
する.
問題解決方法:学習支援機能の
活用
•
プログラミングで迷った場合は,「
ミッション
(目標)
」や「
ヒント
」を
確認
する.これらの機
能を活用すること
で,効果
的な学習
が可能となる.
40
すべての
目標達成
を目指す
課題達成(
1
):プログラム完成
までの手順
•
「
目標:成功!
」と表示されるまで,
編集画面でプログラ
ムを書き換え
て「
実行
」を繰り返す.
•
目標達成後
は「
完了
」をクリックする.
41
課題達成(
2
):次のステージへ
の進み方
42
•
完了確認後
,「
続ける
」をクリックして
次に進む
.
•
これにより,段階的な学習を進めることができる.
発展学習(
1
):追加ステージの
選択方法
•
赤い旗
で示される
次のレベルを選択
できる.
•
青い旗
は
クリア済み
のレベルを示し,「
(ロック)
」と表示
される項目は
有料コンテンツ
となる.
43
赤い旗をたどる
青い旗はクリア済み
「(
ロック
)」と表示される
場合は有料
44
発展学習(
2
):新規装備の獲得と活用
•
新しいレベルでは
追加のアイテム
が
利用可能となる場合
がある
.
•
装備はダブルクリックで選択して使用する.
発展学習(
3
):無料コンテンツの範囲確認
•
無料かつクラスコードを使用しない
形式で,
Py
thon
の
5
つの基本レベ
ル
まで
を学習できる.
•
それ以降のレベルは有料コンテンツ
となる.
45
無料で、クラスコードを使わず
に、
Py
thon
の
5
つのレベル
を学ぶことができる
発展学習(
4
):追加機能とアカウント登録
以下の選択は各自の判断に委ねられる(授業の成績には影響
しない)
•
CODECOMBA
T
プレミアム(有料)への登録
•
クラスコードを使用した本格的な学習(無料,要ユーザ登
録)
46
私は学生です
セレッソのクラスコードを
入れる
メールアドレスなどの登録が必要.
ユーザ名,パスワードは自分で決める