職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

ヒット&ブロー判定ゲーム

2017年11月22日 | Python
ヒット&ブロー判定ゲーム


【ゲームのコード】
ルールはPCがランダムに出した四つ数字を当てるだけ
ブロー判定;入力した数字がpcと一致すれば表示
ヒット判定;入力した数字が位置も数もpcと一致すれば表示
example05-05-01.py
# coding:utf-8
import random
#四桁の乱数
a = [random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9)]

#四桁の乱数
while True :
# Lesson 5-4のプログラム
# 4桁の数字かどうかを判定する
isok = False
while isok == False:
b = input("数を入れてね>")
if len(b) != 4:
print("4桁の数字を入力してください")
else:
kazuok = True
for i in range(4):
if (b[i] <"0") or (b[i] > "9") :
print("数字ではありません")
kazuok = False
break
if kazuok :
isok = True ←四桁の数字ならループから抜ける

# 4桁の数字であったとき
# ヒットを判定
hit = 0
for i in range(4):
if a[i] == int(b[i]):
hit = hit + 1

# ブローを判定
blow = 0
for j in range(4):
for i in range(4):
     #and以降はブローからヒットの数を除外
if (int(b[j]) == a[i]) and (a[i] != int(b[i])) and (a[j] != int(b[j])):
blow = blow + 1
break

# ヒット数とブロー数を表示
print("ヒット " + str(hit))
print("ブロー " + str(blow))

# ヒットが4なら当たりで終了
if hit == 4:
print("当たり!")
break
【ゲーム起動】
数を入れてね>5861
ヒット 1
ブロー 1
数を入れてね>5681
ヒット 2
ブロー 0
数を入れてね>5281
ヒット 2
ブロー 1
数を入れてね>5182
ヒット 3
ブロー 0
数を入れてね>5782
ヒット 4
ブロー 0
当たり!
>>>

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 正規表現(Python) | トップ | ウインドウ表示を使いう »
最新の画像もっと見る

コメントを投稿

Python」カテゴリの最新記事