[お題にTRY] じゃんけんゲーム #Python

こんにちわ。
Youtubeのゲーム実況って見たことが無いんですが、プログラミング実況を見て面白いと思った、下駄です。
しかも、プログラミング実況で検索してみると、「パズドラ」や「テトリス」といった、まあまあ遊べるゲームを小一時間で作っているものが出てきたので、まあまあ見応えもあって、すごいですね。
確かに他のエンジニアがどのようにプログラミングをしているのかを覗き見れるのは、勉強にもなりますからね。
見ていて、「自分ならこーするのにな〜」というのは、あるあるかもしれません。
本日のIT謎掛け
「プログラミング実況」と、かけまして、
「ホラー映画の緊迫したシーン」と、ときます。
そのココロは・・・
「そこちがうよ〜」と大きな声で叫びたくなります。
Pythonで、じゃんけんゲームソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# coding: UTF-8 import random spr = ["グー" , "チョキ" , "パー"] my_spr = input("じゃんけん : [0:グー 1:チョキ 2:パー] :") print "あなたの出した手は、%sです。" % (spr[my_spr]) com_spr = int(random.randint(0,2)) print "コンピュータの出した手は、%sです。" % (spr[com_spr]) def spr_mutch(my_spr , com_spr): if my_spr == com_spr: return "draw" elif my_spr == 0 and com_spr == 1: return "win" elif my_spr == 1 and com_spr == 2: return "win" elif my_spr == 2 and com_spr == 0: return "win" else: return "lose" result = spr_mutch(my_spr , com_spr) def result_str(result): if result == "win": return "あなたの勝ちです。" elif result == "lose": return "あなたの負けです。" else: return "引き分けです。" print result_str(result) |
実行と解説
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$ python janken.py じゃんけん : [0:グー 1:チョキ 2:パー] :1 あなたの出した手は、チョキです。 コンピュータの出した手は、パーです。 あなたの勝ちです。 $ python janken.py じゃんけん : [0:グー 1:チョキ 2:パー] :1 あなたの出した手は、チョキです。 コンピュータの出した手は、チョキです。 引き分けです。 $ python janken.py じゃんけん : [0:グー 1:チョキ 2:パー] :1 あなたの出した手は、チョキです。 コンピュータの出した手は、グーです。 あなたの負けです。 |
今回のpythonで覚えたポイントは、「乱数」と「関数」ですね。
さほど難しくないんですが、”import random”とライブラリを読み込むことを忘れないようにしましょう。
ちなみに、関数は、実行よりも前に記述しておかなければ、エラーになるので、関数は外部ファイルにまとめたほうが管理しやすいかも・・・と思いましたね。
class化して構造体にしたほうがより良さそうですが、今回のような小さいなプログラムでは、無駄な構造になりそうですね・・・
まとめ
今回のプログラミングは、実作業で15分ほどだったのですが、pythonのリファレンスサイトや解説サイトがたくさんあったので、書籍などを持っていなくても十分に対応できる言語であることがよく分かりました。
AI系のプログラミングでは、いまやpythonが他の言語よりも使用率が高いので、今後使っていくことは間違いないでしょうね。
好き嫌いを言うよりは、使い慣れるためにどんなコーディングルールを持つかを考えたほうが良さそうです。
少しクセが強い言語ですが、個性として受け止めて、付き合っていきましょう。