他カテゴリ

Bingoゲームを作ろう ~その➁player.pyの解説~

nonstop-iida's icon'
  • nonstop-iida
  • 2020/02/09 10:03

前回に引き続き、classを活用してBingoゲームを作る方法についてです。

前回公開したゲームを構成するプログラムのうち、player.pyファイルについて解説していきます。

1.何のためのプログラムか?→プレイヤーを用意する

ゲームを始めるに当たって必要になるのは・・・まずは、プレイヤーですよね!

じゃんけんなら相手がコンピューターなら、プレイヤーは一人でもOKですが、Bingoは一人でやってもつまらないですよね。(笑)

哀愁漂う一人ビンゴ

可哀想なので、複数人でプレイできるようにしてあげましょう!

そこで、まずはプレイヤーclassを作りましょう。

プレイヤーオブジェクトを量産できるようにすれば、何人でもプレイが可能になりますね。

さっそくコードを書いていきましょう。

今回は、Playerオブジェクトに持たせるインスタンス変数は名前のみとします。もちろん、戦績として勝敗数を持たせたりすることも可能なので、自由にアレンジもできます。(引数を増やすだけだから、楽チンです!)

 

Playerクラスをまずは定義し、def __init__の引数に「name」を書くことでPlayerクラスに名前を渡せるようになります。

ちなみに、selfはオブジェクト自身が渡されるだけなので、お決まりのようなものだと思ってもらえれば一旦大丈夫です。

self.name = name とありますが、例えばノンストップ飯田さんをプレイヤーとして作りたい場合に、player1という変数にPlayerオブジェクトを格納するとします。

player1 = Player('ノンストップ飯田')と書けば、'ノンストップ飯田'というインスタンス変数(name)を持ったオブジェクトが作られます。

2.player_generate関数

player_generate関数は何のために存在しているかというと、ゲームの途中で例えばプレイヤー名を表示したい場面があるとします。

(ノンストップ飯田さんがBingoになりました!!等・・・)

この場合に、単純にprint(player1)とするとどうなりますでしょうか?

コマンドプロンプトでやってみましょう。

Content image

出力すると、<__main__.Player object at 0x037099D0>と出力されました。

あくまでも、player1にはオブジェクトが格納されているだけなんですね。

ただし、nameという属性にノンストップ飯田を持ってますので、以下のようにコードを書くと名前が出力されます。

Content image

Bingoゲームの中では、名前を戻り値として返して欲しいので、generate_playerというname属性を返す関数を書いておくとplayer1.generate_player()とオブジェクトを格納した変数に対し、関数を実行するとname属性が返ってきます。

他のファイル(bingo_game.py)で、player.pyファイルをimportしてPlayerオブジェクトを作成し、name属性を取得する際以下のような書き方をすることで、name属性を取得することができるのです。

・・・と書きましたが、実際にはbingo_game.pyの中で、プレイヤーに入力された値を、そのままplayer_nameとして使っているのでこの関数使ってないですねwwwww

これでプレイヤーはOKですね。

回答できるかは一切不明ですが、疑問点があればコメント欄に書いてください。

※「ごめんね、僕も分かんないや」という情けない回答となる可能性があることご容赦ください。(笑)

 

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

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

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

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

ブックオフで買ってきてアマゾンで売る仕事の1ヶ月の売り上げ公開

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

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

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

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

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

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

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

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

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

警察官が一人で戦ったらどのくらいの強さなの?『柔道編』 【元警察官が本音で回答】

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

梅雨の京都八瀬・瑠璃光院はしっとり濃い新緑の世界

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

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

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

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

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

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

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

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

Like token Tip token
38.31 ALIS