思いついたゲームを速攻で作ってみたらどのくらいかかるのかやってみました~
皆さん、ヌメロンって知ってますか?
前、テレビでやってた遊びなのですが、
1~9までの数字を組み合わせて、
その数字を当てていくっていうゲームです~
それがふッと頭をよぎったので、
プログラミングしてみました。
ただ、お互い言い当てるんじゃなくて、
機械が3つの数字をランダムで決めてもらって、
それを当てる感じになります~
でもせっかくだからタイムアタックしてみたくなっちゃいました(笑)
どのぐらいで完成しますかね~
それでは、よーいスタート♪
…
という訳で、出来ました~
実際に計ってみたところ大体50分ぐらいでできました♪
中々のタイムじゃないですかね?
出来た数字当てゲームはこちらになります~
number_hitter.py
# 23:12:40 # 00:01:05 import random from subprocess import call num_list = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] num = random.sample(num_list, 3) loopflg = True while loopflg: print('1~9でできた3桁の数値を言ってください。 例:123') print('その後、私は次の事を教えましょう。') print('桁と数が同じだった分〇が何個か伝えます。') print('桁が違う数があれば、その分△が何個か伝えましょう。') print('あなたは、私が考えている秘密の数字をこたえることができるでしょうか…') print('それともう一つヒントを伝えます。同じ数字は使われていません。223も777もあり得ない。\n') ans = list(input('それでは聞かせてください。私は何の数を思い浮かべているでしょうか?>>>')) call('clear') # エラー判定 if ''.join(ans).isdecimal() is False: print('数字以外があるようです。3桁の数でお願いしますね。\n') continue if len(ans) != 3: print('3桁の数なので三つですよ?もう一回お願いします\n') continue if (ans.count(ans[0]) != 1 or ans.count(ans[1]) != 1): print('同じ数字は使ってないって言ってるのに… もう一回お願いします。\n') continue # 判定チェック circle = 0 delta = 0 for i in range(3): if ans[i] == num[i]: circle += 1 continue if num.count(ans[i]) >= 1: delta += 1 print('{} は 〇:{} △:{}\n'.format(''.join(ans), circle, delta)) if circle == 3: print('正解です!お疲れさまでした。') retry = input('もう一度しますか? するなら y と押してEnterしてください') if retry != 'y': loopflg = False break call('clear') num = random.sample(num_list, 3) print('ありがとうございました、また遊んでください♪')
今日はwindowsで作ったので、
windows環境だったら、python3が入っていれば、
コピペして、貼り付けて実行すれば遊べるんじゃないかと思います~
良かったらやってみてくれるとうれしいです♪