Commit 6a3f4abf by BellCodeEditor

auto save

parent 1c7e7e19
Showing with 17 additions and 1 deletions
...@@ -41,6 +41,11 @@ L = [[(-1, 0), (0, 0), (1, 0), (1, 1)], ...@@ -41,6 +41,11 @@ L = [[(-1, 0), (0, 0), (1, 0), (1, 1)],
[(0, -1), (0, 0), (0, 1), (-1, 1)]] [(0, -1), (0, 0), (0, 1), (-1, 1)]]
shape_list = [I, J, L, O, S, T, Z] # 7种类型俄罗斯方块 shape_list = [I, J, L, O, S, T, Z] # 7种类型俄罗斯方块
num_list=[]
for i in range(25):
num_list.append([0]*15)
# 一些RGB颜色 # 一些RGB颜色
cube_colors = [ cube_colors = [
(204, 153, 153), (102, 102, 153),(153, 0, 102), (204, 153, 153), (102, 102, 153),(153, 0, 102),
...@@ -54,6 +59,8 @@ def check(center): ...@@ -54,6 +59,8 @@ def check(center):
if cube[0] < 1 or cube[1] < 1 or cube[0] > grid_num_height \ if cube[0] < 1 or cube[1] < 1 or cube[0] > grid_num_height \
or cube[1] >grid_num_width: or cube[1] >grid_num_width:
return False return False
if num_list[cube[0]-1][cube[1]-1]!=0:
return False
while True: while True:
for event in pygame.event.get(): for event in pygame.event.get():
...@@ -97,7 +104,9 @@ while True: ...@@ -97,7 +104,9 @@ while True:
center[0] = center[0] + 1 center[0] = center[0] + 1
if check(center) == False: if check(center) == False:
center[0] = center[0] - 1 center[0] = center[0] - 1
states = False states = False
for cube in current_pos:
num_list[cube[0]-1][cube[1]-1]=color
# 将背景图画上去 # 将背景图画上去
screen.blit(background, (0, 0)) screen.blit(background, (0, 0))
# 计算出所有小方块的行、列位置 # 计算出所有小方块的行、列位置
...@@ -111,6 +120,13 @@ while True: ...@@ -111,6 +120,13 @@ while True:
(cube[1] * 20-20, cube[0] * 20-20, 20, 20), 0) (cube[1] * 20-20, cube[0] * 20-20, 20, 20), 0)
pygame.draw.rect(screen, (255, 255, 255), pygame.draw.rect(screen, (255, 255, 255),
(cube[1] * 20-20, cube[0] * 20-20, 20, 20), 1) (cube[1] * 20-20, cube[0] * 20-20, 20, 20), 1)
for i,row in zip(range(1,26),num_list):
for j,colors in zip(range(1,16),row):
if colors != 0:
pygame.draw.rect(screen, colors,(j*20-20,i*20-20,20,20))
pygame.draw.rect(screen, (255,255,255),(j*20-20,i*20-20,20,20),1)
# 得分 # 得分
text_surface = font.render(str(score), True, (0, 0, 0)) text_surface = font.render(str(score), True, (0, 0, 0))
screen.blit(text_surface, (350,70)) screen.blit(text_surface, (350,70))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment