俄罗斯方块.py
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
# -*- coding: cp936 -*-
"""python2.7 / Windows控制台"""
import os,time,random,msvcrt
helpInfo=u"""A S D W 操控
Num 1-4 游戏速度
Space 暂停
R 重玩
Q 变换花色
G 屏幕大小
Esc 退出"""
gridWidth,gridHeight=10,20 #栅格宽高
rewardDict={1:1,2:3,3:6,4:10} #炸楼/得分表
gears={1:.64,2:.32,3:.16,4:.08} #速度/刷新时间间隔
gameSpeed=1
patterns=u"■◇●¤◆※▓卐╬囧" #填充花色
def pTurntable():
while True:
for c in patterns:
yield c
nPattern=pTurntable()
cellPattern=next(nPattern)
class Tetris():
mino_I=((0,0),(1,0),(2,0),(3,0)) , ((1,-1),(1,0),(1,1),(1,2))
mino_J=((0,0),(0,1),(1,1),(2,1)) , ((0,-1),(0,0),(0,1),(1,-1)) , ((0,0),(2,1),(1,0),(2,0)) , ((0,1),(1,-1),(1,0),(1,1))
mino_L=((0,0),(0,1),(1,0),(2,0)) , ((0,-1),(1,0),(1,1),(1,-1)) , ((0,1),(2,0),(1,1),(2,1)) , ((0,-1),(0,0),(0,1),(1,1))
mino_O=((0,0),(1,0),(0,1),(1,1)) ,
mino_S=((0,-1),(0,0),(1,1),(1,0)) , ((0,1),(1,0),(1,1),(2,0))
mino_Z=((0,0),(0,1),(1,-1),(1,0)) , ((0,0),(1,1),(1,0),(2,1))
mino_T=((0,0),(1,-1),(1,1),(1,0)) , ((0,1),(1,0),(1,1),(2,1)) , ((0,-1),(0,0),(0,1),(1,0)) , ((0,0),(1,1),(1,0),(2,0))
minos=(mino_I,mino_J,mino_L,mino_O,mino_S,mino_Z,mino_T)
def __init__(self):
self.matrix=[[0 for c in range(gridWidth)] for r in range(gridHeight)] #栅格:0表示空白,1表示降落中的方块,2表示落地的方块
self.score=0
self.iCY=self.iCY0=gridHeight #基点位置/初始位置
self.iCX=self.iCX0=gridWidth//2-1
self.focusFig,self.focusPos=self._minoRandPick()
self.nextFig,self.nextPos=self._minoRandPick()
self.cellsCoos=self._cellsCCalc(self.focusPos,self.iCX) #方块所在坐标
self.message=helpInfo
def _minoRandPick(self):
figure=random.choice(self.__class__.minos)
posture=random.choice(figure)
return figure,posture
后面还有 208 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。