サンプルを動かしてみよう
今回からはゲーム制作編です。
作るゲームは「ブロック崩し」にしたいと思います。
まずは完成形のサンプルをダウンロードして実行してみましょう!
サンプルのダウンロード
以下のURLにアクセスしてください https://drive.google.com/file/d/1ODalE2YKi3XvtzE45xIFuz7NM8V-xNCh/view
画像のような画面が開くので右上のダウンロードボタンをクリックします。
するとzipファイルがダウンロードフォルダに保存されます。
このファイルをデスクトップなどに展開しましょう。
展開したフォルダにはPythonファイルとサウンドデータが入っています。
実行してみよう
Pythonファイルを前回までの方法で開いてみます。
すると以下のような画面が開きます。
これが完成形のコードです。
スクロールすると全貌が見えますが、結構長くて複雑に見えますね…
ですが最終的にはすべて理解して実装できるようになるので安心してください!
それでは「F5」キーを押して実行してみましょう。
操作方法
実行すると画像のような画面が出てきますのでスペースキーを押してみましょう。
するとブロック崩しが始まります。
最初スペースでボースを飛ばして、あとは左右キーでバーを操作するだけです。
ボールが落ちるか、すべてのブロックを崩すとゲームが終了しリザルト画面に変わります。
そしてエンターキーを押すと最初の画面に戻ります。
これが一連の流れです。
まとめ
次からは実際にゲームウィンドウを出すところからやっていきます。
関数を作ってみよう
前々回に関数を学習した時は、Pythonに用意されているmax関数とmin関数を使ってみました。
今回は関数を自分で作っていきましょう!
関数を作ってみる
「関数」とは複数の処理をまとめておいて、任意の場所で呼び出せる機能でしたね。
まずは関数内でprint関数を呼び出すだけのCallPrint関数を作ってみたいと思います。
それでは前回作成したファイルを開いてください。
前回書いたコードが残っている場合はすべて消してください。
それでは以下のコードを入力してみてください。
def CallPrint(): print("関数が呼び出されました!") CallPrint() CallPrint() CallPrint()
最初の2行目が関数の作成部分です。
関数を作成することは、「関数を定義する」といいます。
関数の定義は、次の形式で記述します。
def 関数名(): 処理1 処理2 ...
今回の場合は関数名がCallPrint、処理はprint("関数が呼び出されました!")の部分です。
関数は定義しただけでは使われないので、別途関数を呼び出してあげる必要があります。
4行目からは作成したCallPrint関数を3回呼び出しています。
「F5」で実行するとしっかり3回print関数が呼び出されているのが分かります。
関数の処理を書く部分(例の場合は2行目)はスペース4文字を入れる必要があります。
この先頭のスペースを「インデント」と呼びます。
Pythonは関数の処理かどうかはこのインデントで管理しています。
CallPrintの定義を次のように変えてみましょう。
def CallPrint(): print("関数が呼び出されました!") print("これは関数で呼び出される処理ではありません!!")
実行してみるとわかりますが、上側のprint関数は3回呼び出されているのに対して
下側のprint関数は1回しか呼び出されていません。
これはCallPrint関数には上側のprint関数しか含まれていないということです。
関数に処理を書く際はインデントに注意しましょう!
引数、戻り値のある関数の作成
前に関数にはデータ(引数)を渡す機能と、データ(戻り値)を受け取る機能があるといいました。
今度は引数、戻り値があるバージョンを作っていきたいと思います。
引数に渡した数値を足して、戻り値で返してくれるAdd関数を作っていきます。
下のコードを入力してみましょう。
def Add(val1, val2): print("Add関数が呼び出されました!") result = val1 + val2 return result a = Add(3, 5) print(a) b = Add(10, 7) print(b) c = Add(a, b) print(c)
関数定義部分の意味は以下のようになっています。
1行目はVal1、Val2という2つの引数を持つAddという名前の関数を定義するという意味です。
2、3行目は関数の処理部分です。
2行目はprint関数を読んで、関数が使われたときに視覚的にわかりやすいようにしました。
3行目はresultという変数に、引数2つを足した値を入れています。
4行目は3行目で作ったresultという変数を戻り値として帰すように設定しています。
returnというのは関数を終了させる命令で、戻り値はreturnの後に書きます。
「F5」で実行すると以下のような結果になりました。
引数で渡した数値が加算されているのが分かると思います。
今回は引数と戻り値が両方ある関数を作りましたが、どちらかが無い関数も作成可能です。
まとめ
今回は関数の作り方を学習していきました。
これから関数はたくさん作ることになるため、難しいですが徐々に慣れていきましょう。
これでPython基本編は終わりです。
皆さんお疲れさまでした!!
次からはいよいよゲーム制作編です。
だんだん楽しくなってくるので、少しづつ頑張りましょう!
Pythonプログラムの書き方②
以前の「Pythonプログラムの書き方①」 でPythonプログラムの書き方を学習しました。
振り返っておくとプログラムの書き方は以下の2種類といいました。
1.対話モードを使用する
2.ファイルにプログラムを書いて実行
以前は一つ目の方法(対話モード)しか紹介しませんでした。
しかし次回以降は1つ目の方法では実装でないので、新たに2つ目の方法を解説していきます。
ファイルにプログラムを書く
まず、いつもと同様IDLEを開いてください。
左上の「ファイル」>「New File」をクリックします。
すると次のようなファイルが開きます。
このファイルにプログラムを書いていきます。
その前にファイルを保存しておきます。
開いたファイルの左上「ファイル」>「Save As...」から名前を付けて保存します。
ファイルの場所はどこでもいいですがここではデスクトップに保存します。
名前は「PythonGame」にしました。(画像は一部塗りつぶしています)
それでは試しにプログラムを書いてみましょう。
以下のコードをファイルに入力してください。
a = 5 b = 3 c = a + b print(c)
最後に使われているprint(c)というはPythonに入っている関数です。
引数に渡したものを表示してくれる関数で、引数には変数や文字列を渡すことができます。
前回までは「c」のみを書いてエンターを押すと次の行に値が出力されていました。
しかし、ファイルにプログラムを書く場合はエンターを押しても値が表示されません。
そこでprint関数を使用しました。
しかし書いただけでは何も起きません。
ファイルにプログラムを書く場合、プログラムを「実行」する必要があります。
プログラムを実行するには、まずファイルを「Ctr」+「S」で保存します。
そして、「F5」キーを押します。
もしファイルを保存しなかった場合は画像のようなウィンドウが出ますので、OKを押しましょう。
「F5」キーで実行するとIDLEの方に8と表示されました。
これはprint関数で表示させた変数cの値です。
無事ファイルに書いたプログラムを実行することができたようです。
保存済みのファイルをIDLEから開く
ファイルにプログラムを書くようになると、ファイルを閉じても続きからプログラムを作成できます。
では先ほど作ったPythonGameファイルをいったん閉じて下さい。
そして再度このファイルを開いてみたいと思います。
IDLEの左上から「ファイル」>「Open」をクリックします。
先ほど作成した「PythonGmae」ファイルを選択します。
すると、先ほどテストで書いたコード出てきたと思います。
これで続きからプログラムを書くことができます。
まとめ
ファイルにプログラムを書いて実行する方法をみていきました。
実はこれ以外にもファイルにPythonプログラムを書く方法はあります。
むしろ他の方法の方が機能が豊富だったりします。
しかし説明が難しくなってしまうため、今回はこの方法を説明しました。
その他の方法を知っている場合は、そちらの方法を使っていただいて問題ありません。
次項よりこの方法でプログラムを書いていきます。
関数を使ってみよう
「関数」とは複数の処理をまとめておいて、任意の場所で呼び出せる機能です。
関数にはデータを渡す機能と、関数からデータを受け取る機能があります。
渡すデータのことを「引数(ひきすう)」、関数から受け取るデータを「戻り値」といいます。
イメージとしては、食材を入れると加工して出力してくれる機械のようなものです。
それでは関数を詳しく見ていきましょう!
関数を使ってみよう
それではまずPythonですでに用意されている関数を使ってみましょう。
関数の使い方は、関数名の後にカッコを付けます。
引数があればカッコの中に記述します。
今回はmax関数とmin関数を使ってみたいと思います。
以下のコードを順に実行してください。
>>> max(5,2) >>> min(5,2)
するとmax関数では「5」がmin関数では「2」が出力されました。
それぞれの関数の機能はそれぞれ以下のようになっています。
max関数・・・引数に渡した値のうち「大きい方」の値を戻り値で受け取れる。
min関数・・・引数に渡した値のうち「小さい方」の値を戻り値で受け取れる。
戻り値は変数に入れることもできます。
以下のコードを入力してください。
>>> a = max(10, 3) >>> a
すると変数「a」には10という値が入っていることが確認できます。
まとめ
今回は関数について解説してきました。
ほかにもPythonに用意されている関数はまだまだありますが、すべて覚える必要はありません。
必要に応じて少しづつ覚えていけば大丈夫です。
今後も新しい関数を使うときには機能と使い方を説明しますのでご安心ください!
データ型を理解しよう
前回で変数に数値を入れて使えるようになりました。
しかし、変数には数値以外のデータを入れることもできます。
今回はPythonで扱いえるデータの種類を見ていきましょう!
Pythonで扱えるデータ型
Pythonで扱える基本的なデータ種類には下のようなものがあります。
これらのデータの種類のことを「データ型」といいます。
データ型はtypeという関数を使うと知ることができます。
以下のコードを実行してみましょう。
>>> type(3) >>> type(3.14) >>> type("こんにちは") >>> type(True)
すると対応するデータ型の名前が表示されました。
intが整数、floatは浮動小数点、strは文字列、boolはブール値を表します。
それぞれの型の特徴
数値
int(整数)、float(浮動小数点)は数値を扱います。
これらは計算の途中でデータ型が変わることもあります。
以下のコードを実行してみてください。
>>> a = 8 >>> b = 3 >>> c = a + b >>> c >>> type(c) >>> c = a / b >>> c >>> type(c)
結果を見ると計算の途中でデータ型が変わっているのが分かります。
文字列
文字列は名前の通り「文字の列」を表します。
文字列を作成するときは、文字を「”(ダブルクォーテーション)」または
「’(シングルクォーテーション)」で囲みます。
>>> a = "Hello" >>> a >>> b = 'World' >>> b
また、文字列同士は「+」演算子でつなぎ合わせることができます。
>>> c = a + b >>> c
ブール値
ブール値はあまり耳にしない名前ですが、全然難しくはありません。
プログラムでは、何らかの条件をが成立したかどうかで処理を変えます。
条件:ユーザーが上キーを押された →キャラクターを前に進める 条件:アイコンがクリックされた →アプリを起動する
この「~された」という部分にブール型を使います。
上の例の場合、ユーザーが上キーを押していたらブール型の変数に「True」を入れます。
逆に押されていなかったら「False」が入れておきます。
そして条件を判定するときに、ブール型の変数の値を見て処理を変えていくわけです。
判定の方法などは後々解説していきます。
まとめ
データ型についてみていきました。
変数に入るデータにもいろんな種類があることが分かってもらえたかと思います。
難しく感じるかもですが、使っているうちに慣れてきますので大丈夫です!
変数を使ってみよう
前回はPythonでの計算方法について説明しました。
ですがその場で計算するのみで、今のままでは電卓替わりにしかなりません。
もちろんプログラミングでは電卓替わり以外の様々なことができます。
そのための新しい一歩として「変数」というものを使ってみましょう。
それではIDLEを開いてください。
変数を作ってみよう
「変数」とは一言でいうと、好きなもの(値)を入れられる(記憶しておける)箱のような存在です。
まずは変数を作って、数値を入れてみましょう。
以下をIDLEに入力してみてください。
>>> a = 2
何も起きませんが、これで変数の作成が完了しました。
今回はaという名前の変数を作成して、2という値を入れました。
変数に入れることを「代入」するといいます。
「=」は変数に代入する命令で、右側(右辺)の値を左側(左辺)へ代入します。
「=」数学で使う場合等しいという意味ですが、プログラミングでは代入を意味します。
最初のうちは気持ち悪いかもしれませんが、すぐになれると思います!
変数で計算してみる
作った変数は計算に使うことができます。
以下の順でIDLEに入力してみてください。
>>> a = 2 >>> b = 3 >>> a + b >>> a * b >>> a / b
それぞれの計算結果を見ると、しっかり数値が代入されていることが分かります。
変数の値は変更することが可能です。
先ほどの続きに以下のコードを入力してください。
>>> a = 5 >>> b = a + 2 >>> a + b
するとa+bの結果が12になりました。
aには新たに5という数字を代入しました。
bについてはaの値(5)に2を加算した値を代入しています。
変数に値を代入するときには、このように作成済みの変数を使うこともできます。
代入の簡易記法
先ほど変数aの値は5になりました。
この変数を1大きくしたい場合は以下のように書くことができます。
>>> a = a + 1
これで変数aは6になりました。
毎回このようにしてもいいのですが、こういった処理は頻繁に行います。
そこでよりシンプルに記述できるような記述方法が用意されています。
>>> a += 1
これが「a = a + 1」と同じ意味を持つ書き方です。
もちろん、加算以外にも使えます。
>>> a += 1 >>> a -= 1 >>> a *= b >>> a /= 10
上の例の乗算では、aにbの値をかけています。
この記述方法を使うとコードがすっきりします。
いろいろ試して慣れていきましょう!
変数名について
先ほどまでは「a」「b」という変数を使っていましたが、変数の名前は自由に決められます。
しかし以下のルールを守らないといけません。
・「半角英数字」と「_(アンダースコア)」のみが使える
・数字を先頭に持ってくることはできない
・Pythonで予約されているキーワードは使えない
・大文字と小文字は別もの判別される
Pythonで予約されているキーワードは以下に記載しておきます。
これらはPythonですでに用意されている命令文なので、変数に使うことができません。
多いですが、覚える必要はありません。
これらの単語を打ち込むと文字の色が変わります。
文字の色が変わったらその名前は変数としては使えないです。
以下に変数として使えるものの例を書いておきます。
以上のルールを守れば、変数名は自由につけることができます。
しかし、いくら自由に決められるからと言って適当に決めていいわけではありません。
その変数の目的に合った名前を付けましょう。
例えば何かの点数を入れておくための変数なら「point」や「score」などがいいでしょう。
英単語が分からない場合は翻訳サイトなどを使いましょう!
まとめ
長くなりましたが、以上が変数についての基本的な内容でした。
初めての概念でなかなか難しいかもしれません。
しかし変数はどのプログラミング言語でも使われる超重要な基本要素です。
どんどん使ってみて慣れていきましょう!
いろんな計算をしてみよう
プログラミングではたくさんの計算を行います。
その結果でゲームを動かしたりしています。
計算の基本といえば「足し算・引き算・掛け算・割り算」ですよね。
四則演算以外に「べき乗」などもありますね。
今回はPythonの演算を見ていきたいと思います。
まずは前回同様にIDLEを開くところまで行います。
これからも毎回行うので手順は折りたたんでおきます。
Pythonで四則演算
まずは四則演算をしていきましょう。
これから「足し算、掛け算、割り算」のことは「加算、減算、乗算、除算」と呼んでいきます。
プログラムの世界ではこう呼ばれることが多いので慣れましょう!
IDLEに次の計算を入れてみてください。
5+3
すると答えが8と表示されました。
加算以外ももちろんできます。
乗算、除算については、数学で習ったものと記号が違ってきます。
計算用の記号のことは「演算子(えんざんし)」といいます。
乗算は*(アスタリスク)
除算は/(スラッシュ)
となっています。
いろいろな計算を試してみましょう。
除算をすると値が少数になります。
また、通常の計算と同じようにカッコで計算の優先順位を決めることもできます。
以上が四則演算でした。
四則演算以外の演算
実際に計算してみると以下のようになりました。
7÷3=2余り1
3の2乗=9
なので正しい結果が出ています。
これらの計算はプログラミングを学ぶ上で基本中の基本になります。
いろいろ試してみてしっかりマスターしましょう!