2025年度 電子情報通信課程 計算機実習II講義に関して,ちょびっとコメント口頭で説明します. クラスを利用する今日のポイント前回,クラスについて学習しました. いよいよ「ちゃんとしたゲーム」らしくなってきましたね. クラスを活用すると,より複雑な表現・細かい調整をやりやすくなります. つまり「こんなことやりたい」というおおまかな発想から, それをよりリアルに緻密に実現する武器になるというわけです. 今日はその「クラス」を活用して,「主人公」や「モンスター」 といったキャラクターを作ります. ・キャラクターのオブジェクトには,どんなプロパティ( =変数 )が必要でしょうか. ・またどんなメソッド( =関数 )が必要でしょうか. 今回の課題は少ないですが中身は十分濃いので,しっかり味わって, 楽しみつつ理解して進めてほしいと思います. 課題 13-1教科書§7-3,pp.217-220「キャラクターのクラスに必要なデータと機能を考える」 ~「親のCharacterクラスを作る」までを読み,chap7fight.py を更新しましょう. クラスの設計( オブジェクトの枠組み作り )は理解できましたか? また,クラスの「継承(inheritance)」は理解できましたか? 継承を平たく言えば,別のクラスをコピーして機能を追加する,というイメージです.
子クラス実際に親クラスを継承した子クラスを作ってみましょう. 子クラスには親クラスで設定した内容がそのまま引き継がれます. ただし,子クラスで親クラスと同じ名前の関数を用意すると,親クラス側は無視され, 子クラス側の関数が利用されます. そのため,クラス作成時に呼び出される「__init__( self ):」を子クラスに作成すると, 親クラス側の「__init__( self ):」は呼び出されません. したがって親側で考慮した初期設定が無視されてしまいます. 子クラスから同じ名前の親クラスの関数を呼びだすには, 「__init__( self ):」ブロック中で,「super( )」オブジェクトを使って 親クラスの「__init__():」を呼び出します( 教科書p.224 ). 例: super().__init__() ただしこの書き方だと,全ての子クラスにこの一文が必要になります. これを書き忘れたらその子クラスは初期設定が反映されなくなるという, 見つけにくいバグにつながります. これを回避する方法が「__new__()」関数です ( 教科書p.225「コンストラクタの特殊メソッドは2種類ある」 ). この関数を使ってオブジェクトを作成すると,親クラスのオブジェクト作成時の関数( __init__ ) が自動的に呼び出されます.必然的に子クラスには__init__が必要なくなり, 上述の問題が生じなくなります( 教科書p.225 ). 課題 13-2教科書pp.221-226「3つの子クラスを作る」~「コンストラクタの特殊メソッドは2種類ある」を読み, chap7fight.py を更新しましょう.「子クラス」が理解できましたか? ゲームを仕上げるここまで作ってきたゲームの仕上げ段階です. ☆冬休み課題 13-3☆【各自で実施】提出はありませんが,冬休み中に必ずやって下さい. 教科書§7-4,pp.227-242を読んで,RPGを仕上げて下さい. イベントドリブンやデバッグ作業など,実用的な概念が出てきます. また,ゲームとして完成度を上げるために色々と細かな部分を触っていきます. これらは手間のかかる作業ですが,プログラムを完成させるというのはこういう作業が必須なのです. 頑張って進めましょう. ※このセクションでは,プログラミング知識としてはすでに学んだ項目を使っています. なので新たに解説することはしません. ただし「イベントドリブン」の概念は重要なのでぜひ理解しておきましょう. 次回の第8章は,このパートができていなくても取り組むことができます. 今日の課題提出課題は13-1( 13-1-1~13-1-4 ) です. 課題13-2は実行のみです.が,必ずやってください. 課題13-3は冬休みの宿題とします.提出はありませんが必ずやって下さい
※注意※◎しっかり課題文を読み,「何をどう答えるべきか」を把握して下さい. ◎manaba入力画面には時間制限があります.いったんPCのエディタでテキストファイルを作成してから,それをコピーするようにしてください.その際のファイル名は自由ですがわかりやすいものを.特にプログラムのソースファイルと混同しないように注意しましょう. ◎実行画面,ソースコード,エラーメッセージ等は"----"や"====="等の境界線を入れて「ここから」「ここまで」を明確にして下さい. ◎ひとまとまりの回答の前後には空行を入れて読みやすくして下さい. びっしり書かれていると読みにくく,チェック/評価の際の間違いの原因になります. ◎提出前にもう一度,冷静に読み直して下さい.第三者が読みやすいか?回答が伝わるか? などをもう一度確認してください.訂正点を見つけたら「少しくらいならいいや」ではなく 「あと一手間」を惜しまずに,手をかけて下さい. |