′ Chapter ' 、 ′リリーにしつもん リリーにしつもん ウインドウを作って画像を表示する方法を学びます。 ロ X 知りたいのは何分かな ? レツツ GUI! GIJI, ( hap 「 ′勇者求む ! 画像の表示、 イベントドリプン 勇者求む 条件によって結果を変える「条件分岐」を学びます。 ロ X 王様「魔王を倒したら褒美をやるぞ ! 」 褒美はいくらあげますか ? 100000 ゴールド 条件分岐、 if 文、諭理演算子 決定
、ニゲームを作りながら Python プログラミングを " 楽しく " マスタ ーしよう ! サンプルファイルのダウンロード はじめに 3 Python をはじめよう プログラミングと Python 〔至 [ 亟亟 ) プログラミング言語の違い プログラムを作るための環境を整えよう Python 2. x 系と 3. x 系 ファイルの拡張子を表示するには ? ますは簡単なことから やってみよう 最初のプログラムを書いてみよう pylint とく問題〉バネル・ 0 2 3 ・ 6 0 1 2 C ( ) L u M u N COLUMtJN Chapter 22 30 COLUMIJN
棒クラフをソート 繰り返し処理を学んで棒グラフを並べ替えます。この章はリストに関数 Chapter ともりだくさんです。 ′第グラフをソートして表示する ロ X 学へるの 繰り返し、 for 文、 while 文、 リスト、関数 タンジョン & バイソン ここからはいよいよ本格的なゲームです。ロールプレイング風の迷路 ゲームを作りましよう。 0 ー 00 ・ 00000 03 3 0 を 0 00 000 0 0 3 0 000000 0 0 0 0000000000 ′タンジョン & バイソン ロ X 学へる台の フラグ 多次元リスト、 ニ重ループ、
( hap を 0 「 Chapter モンスターと戦闘しよう オプジェクト指向とクラスについて勉強しよう インスタンス 戦闘画面を作ってみよう ( 亟のミュータブル型についてもう少し詳しく 主人公とモンスターのオプジェクトを作ろう 本番の戦闘画面を作成しよう アドベンチャーグームを作ろう シナリオファイルを読み込もう C 亟 ) ファイル操作でエラーが起きたときは シナリオの命令を解読する ( 亟のキャラクターを消す「 #delCha 「」を追加してみよう C 0 し u M u N キーボード表 あとがき 選択肢から選んでジャンプする もくじ 244 249 250 263 264 1 9 イ 201 202 216 21 / 22 / 2 / 3 2 / 5 0
' Chapter タンジョン & バイソン ( 戦闘画面 ) 6 章の迷路ゲームに戦闘画面を追加して、ロールプレイングゲームに進 化させます。 ′タンジョン & バイソン 攻撃 勇者は攻撃した 4 のダメージを与えた モンスターの残り体力は 26 モンスターの攻撃 1 のダメージを受けた 勇者の残り体力は 49 力をためる ロ X オプシェクト指向、 クラス ′よろしくアンチャ - よ 3 しくアドベンチャー シナリオファイルを読み込んで展開するアドベンチャーゲームを作ります。 ロ 学へる台の ファイル処理、 lamda 式 5 ( だめだ、全然思い出せん・・・・・・ ) よろしくな。
もくじ ソースコードは何からできているの ? 〔亟 ) 文の途中で折り返したいときは ? 数値を記憶して計算させよう Python は変数の型を持たない キーボードから数値を入力できるようにしよう Python に「定数」はない・ ウインドウを作ってみよう まずはウインドウを表示しよう ウインドウに画像を表示しよう 絶対パスと相対パス ウインドウにテキストやボタンを配置する ボタンを押すと結果が表示されるようにしよう 条件分岐で プログラムに判断させよう 条件によって何をさせるかを変えよう もっと複雑な条件分岐に挑戦しよう n 〇 t 演算子とド・モルガンの法則・・ 演算子の優先順位に注意 ! っ 4 ・ 6 ・ 4 0 3 3 っ 4 4 5 CO し UM し製 COLUMUN ( ト ap 「 2 9 ・・ 6 7 / co CO い」 MUN Chapter 8 イ 99 ・ 105 COIIJMUN 0 0 ーし M N
′よろしくアンチ ロ クリックしてスタート ′よろしくアドベンチ ロ X 、、クリックしてスタ - ト 0 メッセージェリアをクリックすると背景が表示される できましたね。画像をローカル変数に読み込んでしまうのは、意外とひっかかりやす いところなので、エラーも出ないのに表示されないときはその点をチェックしてみてく ださい。 キャラクター画像を表示す 3 次にキャラクターの画像を表示してみます。背景の表示とやることはそんなに変わり ませんが、今回キャラクターは左、中央、右の 3 カ所のどこかに表示します。その工夫が 必要ですね。 まず globa [ 文でキャラクター用の 3 つの変数を使用宣言します。 chap8. py @ 1 3 # 解読関数 @ 14 def decode line(event) : global current line, lcharimg, ccharimg, 「 charimg bgimg, @ 1 5 260 Chapter
だけが変わればいいわけです。 このようなシンプルな例であれば、 1 つの Cha 「 acte 「クラスを作り、コンストラクタ で初期データを渡す設計でも〇 K なのですが、今回は「継承」というしくみを使うことに します。 クラスの継承って何 ? インヘリタンス クラスの継承 (lnheritance) とは、他のクラスをもとにして機能を付け加えた新しい クラスを作るしくみです。もとになるクラスを「親クラス」、新しいクラスを「子クラス」 といいます。今回のゲームでは、親となる Cha 「 acte 「クラスに 3 つの関数と属性を定義 しておき、子となる B 「 ave クラス、 Monster1 クラス、 M 〇 nste 「 2 クラスのコンストラ けいしよっ クタで属性に値を設定するようにします。 Character クラス Monster クラス 継承 0 、いや 0 0 つし 4 クラス ( 設計図 ) から モンスターを量産するぞ ヤうそー 0 つじ 0 0 0 218 Chapter
′達路グ - ム 実行するのは モジュールき利用する chap7. py のほっだよ マップの上にグレーのフレームが被さって表示されました。 0 フレームが表示された プレイスフォーゲット 非表示にするテストもしておきましよう。バーツを非表示にするには可 a ( e ー fo 「 get 関数を呼び出します。再表示するときはまた p [ ace 関数を呼び出します。 chap7fight . py import tkinter class FightManager: # コンストラクタ d e f ( s e 1 f ) : self . dialog t k i n t e r . F r a me ( w i d t h = 82@ , self . dialog . place(x=l@, y=l@) # 非表示 self . dialog. place_forget() height=434) 206 . Chapter
COLUMN Python に「定数」はない 変数と似たしくみで「定数」というものがあります。定数も変数同様、名前を付けてデー タを格納することができます。変数と違うのは、定数はそのソースコード内で絶対変わら ない値であるということです。たとえば、円の面積、体積、円周を求めるプログラムを作る とき、円周率の「 ( バイ ) 」はソースコード内では値を変更する必要はありません。定数と して「 p = 3.14 」と定義しておけば、それは面積でも体積でも円周でも使用することができ ます。そのあと仮に円周率は「 3 」で計篁しましようと変更になったとしても、「 P = 3.14 」 を「 p = 3 」に変更すれば、そのソースコード全体の円周率は「 3 」であることが保証されます。 実はこの定数という仕様は python ではサポートされておらす、使うことができません。 ただし、「英字の大文字だけで名付けられた変数は定数のように扱う」という慣習はあり ます。とはいっても、あくまでも慣習なので、コンピューターはすべて大文字の変数も普通 の変数として扱ってしまいます。使うときは十分注意してください。 50 Chapter