当前位置:   article > 正文

Python+pygame制作小游戏--俄罗斯方块(一)

Python+pygame制作小游戏--俄罗斯方块(一)

一、引入所需的包

  1. import os
  2. import pygame
  3. import sys
  4. import random
  5. import pygame.font
  6. import time

二、初始化

都是一些基本的操作,不赘述。不清楚的看注释及查文档。

  1. pygame.init()
  2. cols = 10 #游戏网格列数,可以调整,不要太小
  3. rows = 20 #游戏网格行数,可以调整
  4. cell_size = 38 #一个网格的大小
  5. block_size = cell_size - 1 #一个方块的大小,小于等于cell_size,即要有边距
  6. block_edge = int(block_size /2) #方块的立体感,数字>=1,数字越小立体感越强
  7. fps = 38 #每秒帧数,建议范围20-60
  8. win_width = cols * cell_size #主屏宽度
  9. win_hight = rows * cell_size #主屏高度
  10. #设置pygame窗口居中,注意值的设置方式。必须在pg.display.set_mode前面调用
  11. os.environ['SDL_VIDEO_CENTERED'] = '1'
  12. #或 设置pygame窗口的位置(左上角),格式为"x, y"。必须在pg.display.set_mode前面调用
  13. # os.environ['SDL_VIDEO_WINDOW_POS'] = "%d,%d" % (380,38)
  14. screen = pygame.display.set_mode((win_width, win_hight))
  15. pygame.display.set_caption("我的俄罗斯方块") #设置标题

三、定义block

一共有7种类型:条型,田字型,T型,L型,J型,S型,Z型,所有的类型都由4个小方块组成,都是最终在一个4*4的方格中。按惯例,左上角定义为(0,0),就可以知道其中每个小网格的相对坐标,移动时就是移动这些个坐标了,旋转时也是依赖这些坐标,形成了一个标准结构:(以下以T型为例子说明)

最终定义完成一个完整的blocks字典结构

  1. blocks = {
  2. 1: [[(0,1),(1,1),(2,1),(3,1)],
  3. [(2,0),(2,1),(2,2),(2,3)]], #条型
  4. 2: [[(1,1),(2,1),(1,2),(2,2)]], #田字型
  5. 3: [[(0,1),(1,1),(2,1),(1,2)],
  6. [(1,0),(0,1),(1,1),(1,2)],
  7. [(1,1),(0,2),(1,2),(2,2)],
  8. [(1,0),(1,1),(2,1),(1,2)]], #T型
  9. 4: [[(0,1),(1,1),(2,1),(0,2)],
  10. [(0,0),(1,0),(1,1),(1,2)],
  11. [(2,1),(0,2),(1,2),(2,2)],
  12. [(1,0),(1,1),(1,2),(2,2)]], #L型
  13. 5: [[(0,1),(1,1),(2,1),(2,2)],
  14. [(1,0),(1,1),(0,2),(1,2)],
  15. [(0,1),(0,2),(1,2),(2,2)],
  16. [(1,0),(2,0),(1,1),(1,2)]], #J型
  17. 6: [[(1,1),(2,1),(0,2),(1,2)],
  18. [(0,0),(0,1),(1,1),(1,2)]], #S型
  19. 7: [[(0,1),(1,1),(1,2),(2,2)],
  20. [(2,0),(1,1),(2,1),(1,2)]],} #Z型

四、定义颜色

为简单起见,只定义了网格底色和7种方块对应的颜色。

app_colors = [(138,200,198),(200,50,50),(50,200,200),(50,50,200),(200,200,50),(200,50,200),(50,200,50),(125,50,125)]

Python+pygame制作经典小游戏--俄罗斯方块(二)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/832574
推荐阅读
相关标签
  

闽ICP备14008679号