Commit 8da18864 by BellCodeEditor

save project

parent c7b12139
Showing with 50 additions and 19 deletions
import pygame import pygame
from pygame import locals from pygame import locals
import random import random
pygame.init() pygame.init()
score = 0 score = 0
grid_size = 20 grid_size = 20
grid_num_width = 15 grid_num_width = 15
grid_num_height = 25 grid_num_height = 25
FPS = 30 FPS = 30
count = 0
states = False
screen = pygame.display.set_mode((460, 500)) screen = pygame.display.set_mode((460, 500))
pygame.display.set_caption("俄罗斯方块") pygame.display.set_caption("俄罗斯方块")
clock = pygame.time.Clock() clock = pygame.time.Clock()
background = pygame.image.load('bg.png') background = pygame.image.load('bg.png')
font = pygame.font.Font('STKAITI.TTF', 60) font = pygame.font.Font('STKAITI.TTF', 60)
O = [[(0, 0), (0, 1), (1, 0), (1, 1)]] O = [[(0, 0), (0, 1), (1, 0), (1, 1)]]
I = [[(0, -1), (0, 0), (0, 1), (0, 2)], I = [[(0, -1), (0, 0), (0, 1), (0, 2)],
[(-1, 0), (0, 0), (1, 0), (2, 0)]] [(-1, 0), (0, 0), (1, 0), (2, 0)]]
...@@ -31,30 +33,59 @@ L = [[(-1, 0), (0, 0), (1, 0), (1, 1)], ...@@ -31,30 +33,59 @@ 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)],
[(-1, 0), (0, 0), (1, 0), (-1, -1)], [(-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] shape_list = [I, J, L, O, S, T, Z]
cube_colors = [ cube_colors = [
(204, 153, 153), (102, 102, 153),(153, 0, 102), (204, 153, 153), (102, 102, 153),(153, 0, 102),
(255, 204, 0), (204, 0, 51),(255, 0, 51), (0, 102, 153), (255, 204, 0), (204, 0, 51),(255, 0, 51), (0, 102, 153),
(153, 0, 51), (204, 255, 102), (255, 153, 0)] (153, 0, 51), (204, 255, 102), (255, 153, 0)]
center = [2, 8] num_list = []
shape = random.choice(shape_list) for i in range(25):
index = random.randint(0,len(shape)-1) num_list
current_shape = shape[index] def check(center):
color = random.choice(cube_colors) 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] > grid_num_height \
or cube[1] >grid_num_width:
return False
while True: while True:
for event in pygame.event.get(): for event in pygame.event.get():
if event.type == locals.QUIT: if event.type == locals.QUIT:
exit() exit()
if event.type == locals.KEYDOWN: if event.type == locals.KEYDOWN:
if event.key == locals.K_d: if event.key == locals.K_LEFT:
center[1] += 1 center[1] = center[1] - 1
elif event.key == locals.K_a: if check(center) == False:
center[1] -= 1 center[1] = center[1] + 1
elif event.key == locals.K_s: elif event.key == locals.K_RIGHT:
center[0] += 1 center[1] = center[1] + 1
elif event.key == locals.K_w: if check(center) == False:
center[1] = center[1] - 1
elif event.key == locals.K_DOWN:
center[0] = center[0] + 1
if check(center) == False:
center[0] = center[0] - 1
elif event.key == locals.K_UP:
old_index = index
index += 1 index += 1
if index >= len(shape):
index = 0
current_shape =shape[index]
if check(center) == False:
index = old_index
shape = shape[index]
if states == False:
states = True
center = [2, 8]
shape = random.choice(shape_list)
index = random.randint(0, len(shape)-1)
current_shape = shape[index]
color = random.choice(cube_colors)
count += 1
if count % FPS == 0:
center[0] = center[0] + 1
if check(center) == False:
center[0] = center[0] - 1
states = False
screen.blit(background, (0, 0)) screen.blit(background, (0, 0))
current_pos = [] current_pos = []
for cube in current_shape: for cube in current_shape:
......
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