프로그램
[파이썬] 문제 : 임의의 위치에 지뢰 설치(random)
오디세이99
2023. 2. 20. 21:36
728x90
반응형
(문제)
임의의 지뢰를 생성해 주어야 하는데 randint를 사용해 0부터 8까지의 범위로 임의의 위치를 생성해준다.
x가 0부터 8까지, y가 0부터 8까지 2차원 리스트 같은 element(cell)에 겹치지 않도록 해 주어야 한다.
따라서 처음 모든 좌표를 false로 지정하고, 지뢰를 생성한다면 true로 바꿔주고, true인 경우를 피해서 다른 위치에 지뢰를 또 랜덤하게 생성해주도록 한다.
위의 말대로 지뢰찾기 게임에서 지뢰를 저장하는데 2차원 배열을 사용합니다. 처음 모든 좌표가 false에서 지뢰를 랜덤으로 생성할 때마다 true로 바꾼 후 다시 생성하려고 하는 코드를 작성
(방법)
# 지뢰
import random
lst = [[-1]*8 for i in range(8)] # 8 x 8 배열
for i in range(3): # 3개의 지뢰
while True: # 설치가능한 x, y 찾기
x = random.randint(0,7) # random 위치
y = random.randint(0,7)
print(x, y)
if lst[x][y] != 8: # 해당 위치에 설치가 되어 있지 않다면 해당 x, y 사용 가능
break
lst[x][y] = 8 # 해당 위치에 설치
728x90
반응형