只是实现了最简单功能。。。
这个主要是转动数据麻烦,虽说全部手动写上去也行,实际也比代码要短,只是不太好意思,强行转动(共7个图形,最后一个转动时中心会发生偏移,耍赖了一把)
实际流程(三个状态):
- 新生成图形块,如果从下往上已经堆到这里了(图形块出现位置出现不为空白的背景)游戏结束
- 下落(途中可以键盘操作块的移动,转动)
- 到底,图形数据记录到map,检查是否消去一行
所有的检查,就用check_action(位置x,位置y,图形块号,图形转动角度):检查是否出界或遇到原先的块,
- 游戏是否结束判断:新生成图形块位置是否check_action == False
- 下落是否到底:y+1位置是否check_action == False
- 操作动作(x-1,x+1,y+1,角度+1):是否check_action == False
'''
import sys
import pygame
from pygame.locals import *
import random
class Block:
blk_color = [(255, 255, 255),(255, 255, 0),(255, 0, 255),(0, 255, 255),(255, 0, 0),(0, 255, 0),(0, 0, 255),(32,32,32)]
BLANK = 7
type_coord=[[[-1,0],[0,0],[1,0],[2,0]]\
,[[-1,0],[0,0],[1,0],[0,1]]\
,[[-1,0],[0,0],[-1,1],[0,1]]\
,[[-1,0],[0,0],[0,1],[1,1]]\
,[[0,0],[1,0],[-1,1],[0,1]]\
,[[-1,0],[0,0],[1,<