返回顶部
首页 > 资讯 > 后端开发 > Python >pygame实现一个类似满天星游戏流程详解
  • 876
分享到

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

2024-04-02 19:04:59 876人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

编写类满天星游戏,目前自己设定需要用到的算法内容,包括第一点点击某一个图标后,自动检查图标上下左右是有与之相同的图形,如果包括自身在内有三个以上的图形,则可以消除。第二,当界面中有图

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

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

运行结果如下:

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

--结束END--

本文标题: pygame实现一个类似满天星游戏流程详解

本文链接: https://lsjlt.com/news/120506.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • pygame实现一个类似满天星游戏流程详解
    编写类满天星游戏,目前自己设定需要用到的算法内容,包括第一点点击某一个图标后,自动检查图标上下左右是有与之相同的图形,如果包括自身在内有三个以上的图形,则可以消除。第二,当界面中有图...
    99+
    2024-04-02
  • C语言实现的一个三子棋游戏详解流程
    目录前言一、三子棋完成程序运行结果二、三子棋代码实现1、创建源文件与头文件2、整体页面的制作3、制作并打印棋盘1、在test.c文件中,定义函数game();2、在game.h 头文...
    99+
    2024-04-02
  • Java实现猜数字小游戏详解流程
    猜数字游戏 系统自动生成一个随机整数(1-100), 然后由用户输入一个猜测的数字. 如果输入的数字比该随机数小, 提示 "低 了", 如果输入的数字比该随机数大, 提示 "高了"...
    99+
    2024-04-02
  • C++ 风靡一时的连连看游戏的实现流程详解
    随着Flash应用的流行,网上出现了多种在线Flash版本“连连看”。如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。 2008年,随着社...
    99+
    2024-04-02
  • java gui详解贪吃蛇小游戏实现流程
    根据狂神的视频做的,然后自己优化了一些bug,比如新生成食物的时候不会生成在蛇的身体上,再新增长身体的时候不会在左上角出现一个绿色的方块以及增加了难度控制功能,以及可以使用WASD进...
    99+
    2024-04-02
  • C++ 情怀游戏扫雷的实现流程详解
    扫雷最原始的版本可以追溯到1973年一款名为“方块”的游戏。 不久,“方块”被改写成了游戏“Rlogic”。在“Rlogic”里,玩家的任务是作为美国海军陆战队队员,为指挥中心探出一...
    99+
    2024-04-02
  • 详解用C语言实现三子棋游戏流程
    目录三子棋游戏简介一、分析及实现1.棋盘2.落子3.判断输赢二、程序演示三、完整代码1.main.c2.game.c3.game.h总结三子棋游戏简介 这是一个简单的三子棋小游戏,...
    99+
    2024-04-02
  • C语言 小游戏打砖块实现流程详解
    始祖是美国英宝格公司(en:Atari Games,ja:アタリ (ゲーム))于1976年推出的街机游戏“Breakout”(en:Breakout),由该公司在1972年发行的“...
    99+
    2024-04-02
  • C++ 情怀游戏贪吃蛇的实现流程详解
    还记我们童年时的贪吃蛇吗,用“砖头”诺基亚玩的更是经典中的经典,贪食蛇操作简单,可玩性比较高。这个游戏难度最大的不是蛇长得很长的时候,而是开始。那个时候蛇身很短,看上去难度不大,却最...
    99+
    2024-04-02
  • C语言 风靡一时的黄金矿工游戏实现流程详解
    游戏的玩法主要是通过不断采集地下的黄金和钻石,来得到更高的积分。只有完成任务目标,才可以通过相应的关卡。游戏画面中沙滩上的人物便是玩家的角色,下方深褐色的部分是地下,而黄金和钻石就...
    99+
    2024-04-02
  • 一文详解Canvas实现打飞字游戏过程示例
    目录正文一、游戏介绍二、效果预览三、实现思路1. 搭建页面结构2. 美化界面3. 编写JavaScript代码四、写在最后正文 打开游戏界面,看到一个画面简洁、却又富有挑战性的游戏...
    99+
    2023-05-14
    Canvas实现打飞字游戏 Canvas 游戏
  • C语言实现一个文件版动态通讯录流程详解
    目录通讯录思维导图一、Contact.h二、Contact.c1.初始化通讯录2.检查容量是否满3.添加联系人4.显示联系人5.查找联系人6.修改联系人7.通过名字来排序联系人8.保...
    99+
    2023-01-29
    C语言动态通讯录 C语言通讯录
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作