From cbad6dfc408ef575b3a633fe971d97ee8f806052 Mon Sep 17 00:00:00 2001
From: BellCodeEditor <bellcode_dev@bell.ai>
Date: Sun, 24 Jul 2022 11:54:30 +0800
Subject: [PATCH] save project

---
 my_Tetris.py | 31 ++++++++++++++++++++++++-------
 1 file changed, 24 insertions(+), 7 deletions(-)

diff --git a/my_Tetris.py b/my_Tetris.py
index 9310f18..f6dd876 100644
--- a/my_Tetris.py
+++ b/my_Tetris.py
@@ -1,5 +1,6 @@
 import pygame
 from pygame import locals
+import random
 
 pygame.init()   # 初始化
 score = 0
@@ -46,21 +47,36 @@ cube_colors = [
 
 center = [2, 8]     # 第2行第8列
 current_shape = [(0, -1), (0, 0), (0, 1), (-1, 0)]
+shape =  random.choice(shape_list)
+index = random.randint(0,len(shape)-1)
+current_shape = shape[index]
+color = random.choice(cube_colors)
 
+def check(center):
+    for cube in current_shape:
+        cube = (cube[0]+center[0],cube[1]+center[1])
+    if cube[0] < 1 or cube[1] < 1 or cube[0] > 25 or cube[1] > 15 :
+        return False
+    
 while True:
     for event in pygame.event.get():
         if event.type == locals.QUIT:
             exit()
         if event.type == locals.KEYDOWN:
             if event.key == locals.K_RIGHT:     # 向右
-                if center[1] < 15:
-                    center[1] += 1
+                center[1] = center[1] + 1
+                if check(center) == False:
+                    center[1] = center[1] - 1
+                    
             elif event.key == locals.K_LEFT:    # 向左
-                if center[1] > 1:
-                    center[1] -= 1
+                center[1] = center[1] - 1
+                if check(center) == False:
+                    center[1] = center[1] + 1
+                    
             elif event.key == locals.K_DOWN:    # 向下
-                if center[0] < 25:
-                    center[0] += 1
+                center[0] = center[0] + 1
+                if check(center) == False:
+                    center[0] = center[0] - 1
 
     # 将背景图画上去
     screen.blit(background, (0, 0))
@@ -71,7 +87,8 @@ while True:
         current_pos.append(pos)
     # 取出所有小方块的行、列位置,计算坐标,绘制俄罗斯方块
     for cube in current_pos:
-                    
+        pygame.draw.rect(screen,color,(cube[1]*20-20,cube[0]*20-20,20,20),0) # 画方块
+        pygame.draw.rect(screen,(255,255,255),(cube[1]*20-20,cube[0]*20-20,20,20),1) # 画白边框                       
     # 得分
     text_surface = font.render(str(score), True, (0, 0, 0))
     screen.blit(text_surface, (350,70))
--
libgit2 0.25.0