他カテゴリ

classを使ってビンゴを作ってみよう!~その➀全体感・構成の説明、全ファイルコード公開~

nonstop-iida's icon'
  • nonstop-iida
  • 2020/02/05 14:30

こんばんわ、すっかりALISのデザインが気に入ってしまった飯田です。

今日は前回のclassの解説を踏まえて、ビンゴゲームを一緒に作ってみましょう!

Content image

 

じゃんけんゲームだと多分一回で終わりますが、色んなところで掲載されているので、あまり見かけないビンゴゲームにしましょう!

1.流れについて

以下の流れで説明していきたいと思います。

➀ まずはどんなゲームが出来上がるか

➁ コードの全体感

➂ 1個1個の機能はどう書かれているか

2. 出来上がるBingoゲームはこんな感じ

➀ プログラムを起動すると、参加人数の入力を求められます。

Content image

➁ 次に人数分の名前入力を求められます。

Content image

➂ 名前を入力すると、人数分のビンゴカードが生成されます。

Content image
憶ラビットくんさん・・・

➃ 次に(想像上の)ビンゴマシーンからボールが出てきます。

「カードを確認します」のメッセージとともに、今の全カードの状態を表示します。

Content image

 カードに数字がった場合、「〔プレイヤー名〕さんのカードに数字がありまし  た」と表示し、カードの該当数字に穴を空けます(’X'にする)

Content image
憶ラビットくんさん・・・

 ビンゴが出た場合、「〔プレイヤー名〕さんがBingoとなりました!」と表示し、ビ ンゴとなった状態のカードを表示します。そして、以降はビンゴとなっていないカードを対象に判定を継続します。

Content image
実ははるか先生と同時1位、すごく珍しいですね

⑤ 全員のカードがビンゴとなるとゲーム終了です。

Content image
憶ラビットくんさn・・・

こんな感じの流れです。

どうです?一応ビンゴゲームになっていますよね!

2.プログラムの構成について

このプログラムは、以下の5つのファイルで作られています。

Content image

・player.py・・・プレイヤーを生成するためのPlayerクラスとplayer_generate関数を定義

・bingo_card.py・・・ビンゴカードを生成するBingoCardクラスとgenerate_card関数を定義

・choose_ball.py・・・いわゆるビンゴカードマシーン。BingoMachineクラスとchoose_ball関数を定義

・check_card.py・・・ビンゴマシーンからぽろっと出たボールが、各カードにないか確認するCheckクラス・check_card関数を定義。引いた数がカードにあれば、穴を空ける。また、ビンゴになったかどうかを判定する。

・bingo_game.py・・・上の4つのファイルで定義したclass・関数をimportで読み込んで、ビンゴゲームの流れを実現するプログラム。

こんな感じで、パーツパーツで少しずつプログラムを書いてくのって、頭も整理できるし、エラーの修正(デバッグ)も少しずつできるし、とてもオススメです。

一気に全部書いて、エラーが出ると、「何が間違っているのか?」探すだけでメチャクチャ時間がかかったりするので・・・。

3.それぞれのプログラムのコード

以下の通りです。

次回以降、一つずつプログラムの中身を丁寧に説明していきます。

➀ player.py

 

➁ bingo_card.py

➂ choose_ball.py

➃ check_card.py

⑤ bingo_card.py

コードを見ただけで分かる方もいると思いますが、「ここってどういう意味?」みたいな方もいると思いますので、次回以降丁寧に解説していきます!

 

Supporter profile icon
Article tip 1人がサポートしています
獲得ALIS: Article like 15.42 ALIS Article tip 10.00 ALIS
nonstop-iida's icon'
  • nonstop-iida
  • @nonstop-iida
ノンストップ飯田と申します。会社員ですが、趣味でやってるPythonと歌うのが好きです。曲も書きます。twitter:@nonstop_iida

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
69.82 ALIS
Eye catch
トラベル

無料案内所という職業

Like token Tip token
84.20 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
他カテゴリ

京都のきーひん、神戸のこーへん

Like token Tip token
12.10 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
他カテゴリ

テレビ番組で登録商標が「言えない」のか考察してみる

Like token Tip token
26.20 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
ビジネス

海外企業と契約するフリーランス広報になった経緯をセルフインタビューで明かす!

Like token Tip token
16.10 ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
グルメ

バターをつくってみた

Like token Tip token
124.75 ALIS