• 大小: 15KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-07-27
  • 语言: Python
  • 标签:

资源简介

Python游戏:俄罗斯方块源代码,经典俄罗斯方块,相信这款游戏大家都玩过吧,游戏基于python2.7、pygame1.9.2b8编写。   关于游戏注解中出现的术语解释:   舞台:整个游戏界面,包括堆叠区、成绩等显示区,下个出现方块预告区。   堆叠区:游戏方块和活动方块形状堆放区域,游戏中主要互动区。   方块(基础方块):这里的方块是对基础的小四方形统称,每个方块就是一个正方形。   方块形状:指一组以特定方式组合在一起的方块,也就是大家常说的下落方块形状,比如长条,方形,L形等。   固实方块:特指堆叠区中不能再进行移动,可被消除的基础方块集合。   注:请下载源码后,在网上搜索msyh.ttc字体,放在源代码目录内。

资源截图

代码片段和文件信息

# -*- coding:utf-8 -*-
‘‘‘
经典俄罗斯方块
游戏基于python2.7、pygame1.9.2b8编写。

游戏注解中出现的术语解释:
舞台:整个游戏界面,包括堆叠区、成绩等显示区,下个出现方块预告区。
堆叠区:游戏方块和活动方块形状堆放区域,游戏中主要互动区。
方块(基础方块):这里的方块是对基础的小四方形统称,每个方块就是一个正方形。
方块形状:指一组以特定方式组合在一起的方块,也就是大家常说的下落方块形状,比如长条,方形,L形等。
固实方块:特指堆叠区中不能再进行移动,可被消除的基础方块集合。

version:1.0
author:lykyl
createdate:2016.9.29
‘‘‘


import sys  

reload(sys)  
sys.setdefaultencoding(‘utf8‘)

# download by http://www.codesc.net

import randomcopy
import pygame as pg
from pygame.locals import *

‘‘‘
常量声明
‘‘‘
EMPTY_CELL=0        #空区标识,表示没有方块
FALLING_BLOCK=1     #下落中的方块标识,也就是活动方块。
STATIC_BLOCK=2      #固实方块标识

‘‘‘
全局变量声明
变量值以sysInit函数中初始化后的结果为准
‘‘‘
defaultFont=None        #默认字体
screen=None     #屏幕输出对象
backSurface=None        #图像输出缓冲画板
score=0     #玩家得分记录
clearLineScore=0        #玩家清除的方块行数
level=1     #关卡等级
clock=None      #游戏时钟
nowBlock=None       #当前下落中的方块
nextBlock=None      #下一个将出现的方块
fallSpeed=10        #当前方块下落速度
beginFallSpeed=fallSpeed        #游戏初始时方块下落速度
speedBuff=0     #下落速度缓冲变量
keyBuff=None        #上一次按键记录
maxBlockWidth=10        #舞台堆叠区X轴最大可容纳基础方块数
maxBlockHeight=18       #舞台堆叠区Y轴最大可容纳基础方块数
blockWidth=30       #以像素为单位的基础方块宽度
blockHeight=30      #以像素为单位的基础方块高度
blocks=[]       #方块形状矩阵四维列表。第一维为不同的方块形状,第二维为每个方块形状不同的方向(以0下标起始,一共四个方向),第三维为Y轴方块形状占用情况,第四维为X轴方块形状占用情况。矩阵中0表示没有方块,1表示有方块。
stage=[]        #舞台堆叠区矩阵二维列表,第一维为Y轴方块占用情况,第二维为X轴方块占用情况。矩阵中0表示没有方块,1表示有固实方块,2表示有活动方块。
gameOver=False      #游戏结束标志
pause=False     #游戏暂停标志


def printTxt(contentxyfontscreencolor=(255255255)):
    ‘‘‘显示文本
    args:
        content:待显示文本内容
        xy:显示坐标
        font:字体
        screen:输出的screen
        color:颜色
    ‘‘‘
    imgTxt=font.render(contentTruecolor)
    screen.blit(imgTxt(xy))
    
    
class point(object):
    ‘‘‘平面坐标点类
    attributes:
        xy:坐标值
    ‘‘‘
    def __init__(selfxy):
        self.__x=x
        self.__y=y
    
    def getx(self):
        return self.__x
    
    def setx(selfx):
        self.__x=x
    
    x=property(getxsetx)
    
    def gety(self):
        return self.__y
    
    def sety(selfy):
        self.__y=y
    
    y=property(getysety)    
    
    def __str__(self):
        return “{x:“+“{:.0f}“.format(self.__x)+“y:“+“{:.0f}“.format(self.__y)+“}“


class blockSprite(object):
    ‘‘‘
    方块形状精灵类
    下落方块的定义全靠它了。
    attributes:
        shape:方块形状编号
        direction:方块方向编号
        xy方块形状左上角方块坐标
        block:方块形状矩阵
    ‘‘‘
    def __init__(selfshapedirectionxy):
        self.shape=shape
        self.direction=direction
        self.xy=xy
    
    def chgDirection(selfdirection):
        ‘‘‘
        改变方块的方向
        args:
            direction:1为向右转,0为向左转。
        ‘‘‘
        dirNumb=len(blocks[self.shape])-1
        if direction==1:
            self.direction+=1
            if self.direction>dirNumb:
                self.direction=0
        else:
            self.direction-=1
            if se

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        127  2016-10-24 00:15  codesc.net\Python俄罗斯方块\elsfk.cfg

     文件      20204  2018-04-25 17:27  codesc.net\Python俄罗斯方块\俄罗斯方块.py

     文件      18262  2016-10-24 02:44  codesc.net\Python俄罗斯方块\运行1.jpg

     目录          0  2018-04-25 17:30  codesc.net\Python俄罗斯方块

     目录          0  2018-04-25 17:24  codesc.net

----------- ---------  ---------- -----  ----

                38593                    5


评论

共有 条评论