python/미니 프로젝트
테트리스
june__Park
2021. 3. 1. 01:24
# 테트리스(심화)
# 0은 빈칸 1은 테트리스 블록이고 2는 벽이다
data = [[0,0,0,0,0,0],
[0,0,1,0,0,0],
[0,1,1,1,2,0],
[0,0,0,2,2,0],
[0,0,0,2,0,0],
[0,0,0,2,0,0]]
# 1) 왼쪽 2) 아래 3) 오른쪽
# 넘버를 입력받고 "이동가능" , "이동불가" 출력
block = 1
wall = 2
size = len(data)
while True:
for i in range(size):
for j in range(size):
if data[i][j] == 0:
print("ㅇ",end = "")
elif data[i][j] == 1:
print("▣",end = "")
elif data[i][j] == 2:
print("▦",end = "")
print()
print("[menu]")
print("1) 왼쪽 2) 아래 3) 오른쪽 4) 종료")
sel = int(input("입력: "))
if sel == 1:
cnt = 0
for i in range(size):
for j in range(size):
if data[i][j] == block:
if j == 0 or data[i][j-1] == 2:
print("이동불가")
cnt = 1
break
if cnt == 0:
for i in range(size):
for j in range(size):
if data[i][j] == block:
if data[i][j-1] != 1:
data[i][j-1] = 3
elif data[i][j+1] == 1:
data[i][j+1] = 3
data[i][j] = 0
for i in range(size):
for j in range(size):
if data[i][j] == 3:
data[i][j] = block
print("이동가능")
elif sel == 2:
cnt = 0
for i in range(size):
for j in range(size):
if data[i][j] == block:
if i == size-1 or data[i+1][j] == 2:
print("이동불가")
cnt = 1
break
if cnt == 0:
for i in range(size):
for j in range(size):
if data[i][j] == block:
if data[i+1][j] != 1 and data[i-1][j] != 1:
data[i+1][j] = 3
data[i][j] = 0
elif data[i+1][j] != 1 and data[i-1][j] == 1:
data[i+1][j] = 3
data[i][j] = 3
data[i-1][j] = 0
for i in range(size):
for j in range(size):
if data[i][j] == 3:
data[i][j] = block
print("이동가능")
elif sel == 3:
cnt = 0
for i in range(size):
for j in range(size):
if data[i][j] == block:
if j == size-1 or data[i][j+1] == 2:
print("이동불가")
cnt = 1
break
if cnt == 0:
for i in range(size):
for j in range(size):
if data[i][j] == block:
if data[i][j+1] != 1:
data[i][j+1] = 3
if data[i][j-1] == 1:
data[i][j] = 3
else:
data[i][j] = 0
else:
if data[i][j+2] == 1 and j+2 != size-1:
continue
elif data[i][j+2] != 1 and j+2 != size-1:
data[i][j-1] = 0
for i in range(size):
for j in range(size):
if data[i][j] == 3:
data[i][j] = block
print("이동가능")
elif sel == 4:
print("종료합니다.")
break