文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

pygame实现一个类似满天星游戏流程详解

2024-04-02 19:55

关注

编写类满天星游戏,目前自己设定需要用到的算法内容,包括第一点点击某一个图标后,自动检查图标上下左右是有与之相同的图形,如果包括自身在内有三个以上的图形,则可以消除。第二,当界面中有图形消除后,那么需要根据列来下移图标,同时产生新的图标。第三,自动检查界面中是否还有能够匹配的图案,如果没有,那么重新生成游戏。第四,游戏机制设定为倒计时,在倒计时完成前,尽可能多消除,多得分。并且考虑每次消除4个以上,按比例增加时间。

首先完成最简单的部分,配置pygame的基本参数,并且绘制游戏界面,也就是画横纵线。

考虑把游戏界面画成一个10*10的方格,并且在上方留出空位显示等分等信息,具体还需不需要别的,待定…

直接使用之前贪食蛇的画格子和初始化的代码,先略作修改。

import random
import time
import pygame
# 30帧
fps = 30
fps_clock = pygame.time.Clock()
screen_width = 1024
screen_height = 768
# 分辨率,标题
display = pygame.display.set_mode((screen_width, screen_height), 0, 32)
pygame.display.set_caption('好似满天星')
tile_size = 60
tile_width = 60
tile_height = 60
x_margin = 400
y_margin = 100
# 列
columns = 10
# 行
rows = 11
# 配色RGB
white = (255, 255, 255)
black = 'black'
bg_color = 'sky blue'
border_color = white
body_color = 'purple'
inter_body_color = 'green'
line_color = white
directions = ['up', 'down', 'left', 'right']
text_color = (144, 59, 28)
my_score = 0
snake = []
# 画格子
def draw_chest():
    for i in range(rows + 1):
        pygame.draw.line(display, border_color, (x_margin/2, y_margin/2 + i * tile_size),
                         (x_margin/2 + (columns * tile_size), y_margin/2 + i * tile_size), 2)
    for j in range(columns + 1):
        pygame.draw.line(display, border_color, (x_margin/2 + j * tile_size, y_margin/2),
                         (x_margin/2 + j * tile_size, y_margin/2 + (rows * tile_size)), 2)
if __name__ == '__main__':
    pygame.init()
    bad_touch = pygame.mixer.Sound('badswap.wav')
    match_three = pygame.mixer.Sound('match3.wav')
    match_more_than_three = pygame.mixer.Sound('match4.wav')
    display.fill(bg_color)
    while True:
        draw_chest()
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
        pygame.display.update()
        fps_clock.tick(fps)

目前不知道后续还有些什么需求,所以简单修改一下,后期有需要再来修改代码。

运行结果如下:

有一个大体的框架了,接下来就是把星星放到游戏界面当中来了。嗯,因为我们有星星,所以我找了免费的饼干来代替星星。这些饼干也是五子连珠的棋子

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯