import random as rd
import time as ti
import copy
def map_print() :
# 3. map 출력
global m, l, t
print(" t 0 1 2 3 4 5 6 7 8")
for i in range(9):
print(i, end=' ')
print("|", end=' ')
for j in range(9):
if l[i][j]=='9' :
print(t[i][j], end=' | ')
else :
print('_', end=' | ')
print()
print()
def tnt_print() :
# 3. map 출력
global t
print(" 0 1 2 3 4 5 6 7 8")
for i in range(9):
print(i, end=' ')
print("|", end=' ')
for j in range(9):
print(t[i][j], end=' | ')
print()
print()
def l_print() :
# 3. map 출력
global l
print(" l 0 1 2 3 4 5 6 7 8")
for i in range(9):
print(i, end=' ')
print("|", end=' ')
for j in range(9):
print(l[i][j], end=' | ')
print()
print()
def make_tnt() :
global l, t
for a in range(9) :
for b in range(9) :
count=0
if l[a][b] == '_':
for i in range(a - 1, a + 2):
for j in range(b - 1, b + 2):
if 0 <= i < 9 and 0 <= j < 9:
if l[i][j] == '*':
count += 1
t[a][b] = count
def find() :
global a, b, l, t
if l[a][b] == "*":
print("실패...")
for i in range(9):
for j in range(9):
print(t[i][j], end=' | ')
print()
return False
else :
not_tnt(a, b)
return True
def not_tnt(i, j):
global l
if not(0<=i<9) or not(0<=j<9) or l[i][j] == '9' or l[i][j] == '*':
return
l[i][j] = '9'
for a in range(i-1, i+2):
for b in range(j-1, j+2):
if 0 <= a < 9 and 0 <= b < 9:
if l[a][b] == '*':
return
not_tnt(i,j+1)
not_tnt(i-1,j+1)
not_tnt(i-1,j)
not_tnt(i-1,j-1)
not_tnt(i,j-1)
not_tnt(i+1,j-1)
not_tnt(i+1,j)
not_tnt(i+1,j+1)
# 1. map 생성
l = [['_', '_', '_', '_', '_', '_', '_', '_', '_'] for i in range(9)]
t = copy.deepcopy(l)
m = copy.deepcopy(l)
# 2. 지뢰 생성
for i in range(10) :
p = rd.randint(0, 8)
q = rd.randint(0, 8)
l[p][q]='*'
# # 3. 지뢰 맵 채우기
map_print()
make_tnt()
print("GAME START!!!")
while True:
a, b = map(int, input().split())
if not find() :
break
map_print()
count = 0
for i in range(9):
for j in range(9):
if '_' not in l[i][j]:
count += 1
if count == 81:
print("성공!!")
exit(0)
top of page

기능을 테스트하려면 라이브 사이트로 이동하세요.
wlfhlckrrl
wlfhlckrrl
댓글 0개
좋아요
댓글(0)
bottom of page