【Python游戏】编程开发贪吃蛇游戏(第一期)

本文收录于 《一起学Python趣味编程》专栏,从零基础开始,分享一些Python编程知识,欢迎关注,谢谢!

一、前言

本文介绍Python编程开发贪吃蛇游戏实战的第一期内容。

  • 什么是Python?

    Python是由荷兰人吉多·范罗苏姆于1990年代初设计的一门编程语言,应用领域非常广泛,尤其在数据分析、人工智能、游戏开发等领域,已经成为最受欢迎的程序设计语言之一,比较适合新手学习。

    Python语言标准库官方使用手册:https://docs.python.org/zh-cn/3/library/

  • 什么是Pygame?

    Pygame 是一个专门用来开发游戏的 Python 模块,是一个免费、开源的第三方软件包,主要为开发、设计 2D 电子游戏而生,比如扫雷、纸牌游戏、贪吃蛇、超级马里奥、飞机大战等等。

    Pygame官网地址:https://www.pygame.org/tags/all

二、贪吃蛇游戏开发简介

2.1 贪吃蛇游戏规则

游戏用户可以使用键盘控制贪吃蛇去吃食物,每次成功吃掉一个食物后,游戏得分增加50分,蛇身体变长一节;同时,食物消失,随机又出现新的食物,不断重复,看谁的游戏得分最高;

如果贪吃蛇撞到了墙(游戏窗口边框),则游戏结束,显示最终游戏得分;之后,可以按空格,重新开始游戏;

2.2 贪吃蛇游戏开发步骤

贪吃蛇游戏开发包括四个步骤,这里对应分四期博客文章进行介绍。

  • 步骤1、编程开发贪吃蛇游戏界面,即创建一个游戏主窗口,设置一张图片作为游戏的背景图片(这里使用蜡笔小新图片),同时在窗口左上角显示游戏得分Score;
    在这里插入图片描述

  • 步骤2、编程开发贪吃蛇,即在游戏主窗口中,画一条粉色的贪吃蛇,并且可以使用键盘控制贪吃蛇进行上下左右的移动;
    在这里插入图片描述

  • 步骤3、编程开发贪吃蛇吃食物和游戏规则,即在游戏主窗口中,画一个黑色的食物,并且当食物被贪吃蛇吃掉后,又会出现新的食物。同时,蛇身体变长一节,游戏得分增加50分;
    在这里插入图片描述

  • 步骤4、编程开发游戏结束规则,即当贪吃蛇撞到了墙(游戏窗口边框),提示“Game Over”游戏结束,显示最终游戏得分;之后,可以提示可以按空格,重新开始游戏;
    在这里插入图片描述

三、贪吃蛇游戏开发实战

这里介绍贪吃蛇游戏开发实战第一期,编程开发贪吃蛇游戏主界面,即创建一个游戏主窗口,设置一张图片作为游戏的背景图片(这里使用蜡笔小新图片),同时在窗口左上角显示游戏得分Score信息。

对应的Python代码如下:

import pygame
import sys


"""
贪吃蛇游戏
@author 姑苏老陈
@date 2024-07-17
"""
# 定义游戏窗口大小
game_width = 800
game_height = 800


# 定义界面文案显示
def show_text(screen, pos, text, color, font_bold=False, font_size=60, font_italic=False):
    # 获取系统字体,并设置文字大小
    cur_font = pygame.font.SysFont("宋体", font_size)
    # 设置是否加粗属性
    cur_font.set_bold(font_bold)
    # 设置是否斜体属性
    cur_font.set_italic(font_italic)
    # 设置文字内容,创建字体surface对象
    text_fmt = cur_font.render(text, 1, color)
    # 绘制文字,放置在screen主窗口上
    screen.blit(text_fmt, pos)


# 定义main方法
def main():
    # 初始化设置,创建游戏主窗口等等
    pygame.init()
    screen_size = (game_width, game_height)
    screen = pygame.display.set_mode(screen_size)
    pygame.display.set_caption('贪吃蛇-蜡笔小新版')
    image = pygame.image.load("../../assets/xiaoxin.jpeg")  # 加载图像,创建图像surface对象
    img = pygame.transform.scale(image, (game_width, game_width))   # 调整图像大小,并返回一个新的图像surface对

    clock = pygame.time.Clock()  # 创建一个时钟对象来帮我们确定游戏要以多大的帧数运行
    scores = 0  # 游戏得分

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()

        screen.fill((255, 255, 255))
        screen.blit(img, (0, 0))

        # 显示当前分数
        show_text(screen, (44, 44), 'Scores: ' + str(scores), "black")

        pygame.display.update()

        # 设置游戏的帧数率(FPS),即通过时钟对象,指定循环频率,每秒循环10次
        clock.tick(10)


# 入口
if __name__ == '__main__':
    main()

代码运行效果图如下:
在这里插入图片描述

四、总结

以上介绍了如何使用Python编程开发贪吃蛇游戏,并提供了对应的代码以及运行效果图。希望对大家有帮助,谢谢。

PS:代码中使用到的图片等资源下载地址:https://pan.baidu.com/s/11F7CtbdEojYTNvZkUzWhBA?pwd=7vf0
提取码:7vf0

如果您对文章中内容有疑问,欢迎在评论区进行留言,我会尽量抽时间给您回复。如果文章对您有帮助,欢迎点赞、收藏。您的点赞,是对我最大的支持和鼓励,谢谢 :-)

相关推荐

  1. python制作贪吃游戏

    2024-07-18 17:18:02       51 阅读
  2. 贪吃游戏

    2024-07-18 17:18:02       49 阅读
  3. 贪吃游戏

    2024-07-18 17:18:02       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 17:18:02       53 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 17:18:02       55 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 17:18:02       46 阅读
  4. Python语言-面向对象

    2024-07-18 17:18:02       56 阅读

热门阅读

  1. opencv—常用函数学习_“干货“_6

    2024-07-18 17:18:02       14 阅读
  2. web前端 Vue 框架面试120题(四)

    2024-07-18 17:18:02       18 阅读
  3. 富格林:可信办法阻挠虚假受骗

    2024-07-18 17:18:02       18 阅读
  4. ClickHouse中使用UNION

    2024-07-18 17:18:02       16 阅读
  5. vue3项目中pinia的用法详解(值得收藏)

    2024-07-18 17:18:02       18 阅读
  6. jd-gui反编译出现中文乱码问题

    2024-07-18 17:18:02       15 阅读
  7. CL11命令行解析使用实例

    2024-07-18 17:18:02       17 阅读
  8. PCB的层叠结构

    2024-07-18 17:18:02       16 阅读
  9. vim+cscope+ctags

    2024-07-18 17:18:02       20 阅读
  10. gitlab reset passwd

    2024-07-18 17:18:02       18 阅读
  11. 02-Redis未授权访问漏洞

    2024-07-18 17:18:02       18 阅读
  12. 开发一个商城app需要多少钱

    2024-07-18 17:18:02       20 阅读
  13. 【STM32】超声波一般常用哪两个引脚?

    2024-07-18 17:18:02       16 阅读
  14. Linux 之 ln 硬链接和软链接

    2024-07-18 17:18:02       19 阅读