Python实现消消乐小游戏

本文主要介绍了Python实现消消乐小游戏,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,编程学习资料点击免费领取

提到开心消消乐这款小游戏,相信大家都不陌生,其曾在 2015 年获得过玩家最喜爱的移动单机游戏奖,受欢迎程度可见一斑,本文我们使用 Python 来做个简单的消消乐小游戏。

实现

消消乐的构成主要包括三部分:游戏主体、计分器、计时器,下面来看一下具体实现。

先来看一下游戏所需 Python 库。

1

2

3

4

5

import os

import sys

import time

import pygame

import random

定义一些常量,比如:窗口宽高、网格行列数等,代码如下:

1

2

3

4

5

6

7

8

WIDTH = 400

HEIGHT = 400

NUMGRID = 8

GRIDSIZE = 36

XMARGIN = (WIDTH - GRIDSIZE * NUMGRID) // 2

YMARGIN = (HEIGHT - GRIDSIZE * NUMGRID) // 2

ROOTDIR = os.getcwd()

FPS = 30

接着创建一个主窗口,代码如下:

1

2

3

pygame.init()

screen = pygame.display.set_mode((WIDTH, HEIGHT))

pygame.display.set_caption('消消乐')

看一下效果:

Python实现消消乐小游戏_第1张图片

再接着在窗口中画一个 8 x 8 的网格,代码如下:

1

2

3

4

5

6

7

8

9

10

screen.fill((255, 255, 220))

# 游戏界面的网格绘制

def drawGrids(self):

    for x in range(NUMGRID):

        for y in range(NUMGRID):

            rect = pygame.Rect((XMARGIN+x*GRIDSIZE, YMARGIN+y*GRIDSIZE, GRIDSIZE, GRIDSIZE))

            self.drawBlock(rect, color=(255, 165, 0), size=1

# 画矩形 block 框

def drawBlock(self, block, color=(255, 0, 0), size=2):

    pygame.draw.rect(self.screen, color, block, size)

看一下效果:

Python实现消消乐小游戏_第2张图片

再接着在网格中随机放入各种拼图块,代码如下:

1

2

3

4

5

6

7

8

9

10

11

while True:

    self.all_gems = []

    self.gems_group = pygame.sprite.Group()

    for x in range(NUMGRID):

        self.all_gems.append([])

        for y in range(NUMGRID):

            gem = Puzzle(img_path=random.choice(self.gem_imgs), size=(GRIDSIZE, GRIDSIZE), position=[XMARGIN+x*GRIDSIZE, YMARGIN+y

你可能感兴趣的:(程序人人生,python,pygame,开发语言)