コピー2023.08.09はじめに今回の記事では、クラスやオブジェクト指向を使って簡単なRPGをつくる演習を引き続き行います。ポイントを解説しながら、数回にわたって記事を掲載していきます。つまずきやすい部分(実際に筆者がつまずいた部分)を中心に、初心者にもわかりやすく順を追って説明していきます。~最後にmain関数を呼び出そう!~まとめ今回やること・・・メインプログラムを作成する前回のブログでは、RPGプログラムで動かしていくキャラクターのクラスを作成しました。今回は、作ったキャラクタークラスからインスタンスを作成し、実際にキャラクターを動かしていきます。☆大まかな流れを確認メインプログラムの大まかな流れは以下になります。※行動ごとにプレイヤーとモンスターのHPが表示されるこれをもう少し細分化して表にしてみます。繰り返しの範囲これをもとにして作成していきます。入力チェック用の関数をつくるRPGが開始すると、まず名前の入力と職業の選択が求められます。今回はコマンドラインで入力するため、正しく入力されたときのみ次に進めるようにプログラムを書いていきます。入力がチェックされているかどうかを判別するため、今回は入力チェック用の関数を作ってみます。正しくない場合falseを返すこのように関数を作成し、どちらも入力が正しくなるまでは入力を求められるプログラムしていきます。print("「これは勇者様!モンスターが現れて大変困っているのです。~インスタンスを作成する~選択された職業によって魔法使いクラスか騎士クラスどちらかのインスタンス、モンスターのインスタンスが生成されるようにします。物語上では、ここでモンスターが現れることとします。今回は魔法使いを選んだ場合のプログラムから書いていきますが、騎士を選んだ場合でもプログラムの流れは変わりません。print("「あなたは魔法使いなのですね。~whileループを使おう~いよいよプレイヤーとモンスターのバトル部分を書いていきます。モンスターの順で、どちらかのHPが0になるまでは1プレイヤーの行動2モンスターの行動が続く(ループする)ことになります。××するまでは~し続けるループの場合はwhile文を使います。今回は「どちらかのHPが0になったらループを終了してプログラムが終わる」ため、break文を使用していきます。breakつぎに、プレイヤーのターンを書いていきます。攻撃か防御のどちらを選ぶか判断するために、プレイヤーとモンスターの体力を表示させます。攻撃を選んだ場合は攻撃メソッドを呼び出し、モンスターに与えるダメージを返り値として持ちます。その後、モンスターの体力から与えるダメージを引くことで「モンスターにダメージを与える」プログラムになりました。防御を選んだ場合は防御メソッドを呼び出します。魔法使いの場合防御するとHPが回復するため、防御したあとのHPを返り値として持ち、プレイヤーの体力に代入します。攻撃でも防御でもない値を入力した場合、もう一度入力を促したいためcontinueを用います。continueつぎに、モンスターのターンを書いていきます。前回のターンでプレイヤーが防御していた場合とそうでない場合で分岐させ、防御していない場合のみ攻撃メソッドを呼び出しダメージを与えます。player_damage以上でバトル部分の記述は完了になります。~最後にmain関数を呼び出そう!~つぎに、騎士を選んだ場合のプログラムを書いていきます。するインスタンス・・・「騎士インスタンス」を作成し、メソッドを呼び出す騎士クラスを選んだ部分を書きあげたら、main関数を呼び出します。main()これでRPGプログラムの完成です!まとめ前回クラスを作成しておいたことで、実際にキャラクターができあがり、そのキャラクターが行動していく部分をインスタンス生成→メソッド呼び出しという形で記述することができました。このように、クラスを用いてプログラムを作成すると感覚的に分かりやすいコードを書くことができます。RPGゲームプログラムの場合はまず仕様を確認し、どのような流れでゲームが進んでいくのか大きな流れを捉えてから、実際の処理を細かく把握していくことで詰まることなく作業を進めることができます。次回は作成したRPGを実際に遊んでみて、クラスを用いたプログラムの振り返りをしていきます。このブログでは、未経験のSEである筆者がプログラミング学習を進めるなかで、つまずいたことや難しかったことをより分かりやすく知ってもらうための解説をしていきます。今回の記事では、前回までの「クラス」や「インスタンス」の基本をふまえて、オブジェクト指向における「継承」「ポリモーフィズム」「カプセル化」について説明していきます。今回の記事は、実際にプログラムを作成する実践編になります。これまで学習した部分を生かしながら、つまずきやすい部分(実際に筆者がつまずいた部分)を中心に複数回にわたって解説していきます。今回の記事では、前回の「プログラミングって何?【第1回】」で解説した「変数」について解説していきます。今回の記事は、実際にプログラムを作成する実践編になります。これまで学習した部分を生かしながら、つまずきやすい部分(実際に筆者がつまずいた部分)を中心に複数回にわたって解説していきます。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。最近のコメント表示できるコメントはありません。ほやほやSE日記.ホーム検索トップサイドバータイトルとURLをコピーしました。