太好玩了!我用 Python 制作一款小游戏!

这篇具有很好参考价值的文章主要介绍了太好玩了!我用 Python 制作一款小游戏!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

超级玛丽、魂斗罗、坦克大战、冒险岛……提到这些游戏,“80后”、"90后"滔滔不绝,掀起一波回忆杀。

最近不少媒体发文称:“小霸王被申请破产”。其实,不管有没有破产,小霸王终究只能成为童年回忆了,它的落寞是不争的事实,曾风靡全国的光辉再也回不去了。

太好玩了!我用 Python 制作一款小游戏!,python,游戏,pygame

今天我来用 Python 制作一个曾经标志性的游戏:「贪吃蛇」。学习和趣味两不耽误的coding。让我们开始构建游戏吧。

导入库

首先,我们需要将库导入到代码中,这些代码将用于构建游戏。我们需要下面的库来构建和运行我们的游戏。

import pygame   import time   import random   

说明如下:

  • pygame:此库将帮助我们获取所有图形组件来构建游戏。

  • random:这个库将帮助我们在游戏中随机位置生成食物。

  • time:这有助于我们在游戏中与时间相关的功能,如蛇的速度。

启动游戏并设置图形

现在,让我们开始构建游戏部分。我们将首先初始化游戏。

pygame.init()   

我们在游戏中定义了6种颜色。

white = (255, 255, 255)   yellow = (255, 255, 102)   black = (0, 0, 0)   red = (213, 50, 80)   green = (0, 255, 0)   blue = (50, 153, 213)   

接下来,我们应该定义游戏运行的显示的大小。将高度定义为 600px,宽度定义为 800px。

width = 800   height = 600   

接下来,我们将使用定义游戏标题的游戏名称。

dis = pygame.display.set_mode((width, height))   pygame.display.set_caption("Snake Game")   

定义游戏中使用的变量

现在我们将初始化时钟变量,该变量将使用我们之前导入的时间包。

clock = pygame.time.Clock()   

定义我们的蛇的速度,以及蛇块的大小。

snake_block = 10   snake_speed = 12   

接下来,我们定义字体大小和字体样式,用于显示分数。

font_style = pygame.font.SysFont(“bahnschrift”, 25)   score_font = pygame.font.SysFont(“comicsansms”, 35)   

定义帮助器函数

在这里,我们需要定义三个帮助器函数,用于以下目的:用于显示分数、处理蛇和处理游戏中其他相关信息的显示。

def Your_score(score):       value = score_font.render("Your Score: " + str(score), True, yellow)       dis.blit(value, [0, 0]          def our_snake(snake_block, snake_list):      for x in snake_list:      pygame.draw.rect(dis, black, [x[0], x[1], snake_block, snake_block])       def message(msg, colour):      mesg = font_style.render(msg, True, colour)      dis.blit(mesg, [width / 6, height / 3])   

构建游戏循环

现在,我们开始构建游戏的组件,使其运行并通过键盘响应用户输入。

我们首先定义两个布尔变量:game_over和game_close。他们将描述游戏状态。

第一个会告诉游戏是否结束。下一个变量定义游戏是否关闭,我们需要再次玩游戏。我们把两者定义为假。

game_over = False   game_close = False   

下一步,我们的目标是定义游戏中需要的其他变量。

x1 = width / 2   y1 = height / 2   x1_change = 0   y1_change = 0   snake_List = []   snake_length = 1   foodx = round(random.randrange(0, width — snake_block) / 10.0) * 10.0   foody = round(random.randrange(0, height — snake_block) / 10.0) * 10.0   

接下来,我们将启动一个循环,该循环将game_over变为True。

在该循环中,我们将首先定义要执行的指令,以防game_close为 True。

下面是代码,这将有助于我们解决这种情况时,game_close等于真。

while game_close == True:    dis.fill(blue)    message(“Oops! Your snake died! Press P to play again or Q to quit”, red)    Your_score(snake_length — 1)    pygame.display.update()        for event in pygame.event.get():      if event.type == pygame.KEYDOWN:        if event.key == pygame.K_q:          game_over = True          game_close = False        if event.key == pygame.K_p:          gameLoop()   

现在,在处理game_close条件后,我们接下来将定义所有必需的步骤,这些步骤将允许我们的蛇通过用户的输入移动。我们将接受 W, A, S, D 和向上, 向下, 左右键组合玩游戏。您可以自由选择您选择的键来玩游戏。

for event in pygame.event.get():    if event.type == pygame.QUIT:      game_over = True    if event.type == pygame.KEYDOWN:      if event.key == pygame.K_LEFT or event.key == pygame.K_a:        x1_change = -snake_block        y1_change = 0      elif event.key == pygame.K_RIGHT or event.key == pygame.K_d:        x1_change = snake_block        y1_change = 0      elif event.key == pygame.K_UP or event.key == pygame.K_w:        y1_change = -snake_block        x1_change = 0      elif event.key == pygame.K_DOWN or event.key == pygame.K_s:        y1_change = snake_block        x1_change = 0   

接下来,我们将定义输掉比赛的条件。

 `if x1 >= width or x1 < 0 or y1 >= height or y1 < 0:       game_close = True    x1 += x1_change    y1 += y1_change    dis.fill(blue)    pygame.draw.rect(dis, green, [foodx, foody, snake_block, snake_block])`

然后,我们调用our_snake Your_score(定义在之前),并传递给这些函数所需的参数,以显示更新的蛇和玩家的分数。

 `snake_Head = []    snake_Head.append(x1)    snake_Head.append(y1)    snake_List.append(snake_Head)    if len(snake_List) > snake_length:      del snake_List[0]        for x in snake_List[:-1]:      if x == snake_Head:        game_close = True        our_snake(snake_block, snake_List)    Your_score(snake_length — 1)        pygame.display.update()`

接下来,我们将蛇速作为时钟的参数。

if x1 == foodx and y1 == foody:     foodx = round(random.randrange(0, width — snake_block) / 10.0) * 10.0     foody = round(random.randrange(0, height — snake_block) / 10.0) * 10.0     snake_length += 1       clock.tick(snake_speed)   

我们的游戏快结束了。最后一步,我们需要退出游戏,并再次调用游戏循环。

  `pygame.quit()     quit()   gameLoop()`

我们已经完成了贪吃蛇游戏。

点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

👉Python实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

太好玩了!我用 Python 制作一款小游戏!,python,游戏,pygame

太好玩了!我用 Python 制作一款小游戏!,python,游戏,pygame

👉Python书籍和视频合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

太好玩了!我用 Python 制作一款小游戏!,python,游戏,pygame

👉Python副业创收路线👈

太好玩了!我用 Python 制作一款小游戏!,python,游戏,pygame

这些资料都是非常不错的,朋友们如果有需要《Python学习路线&学习资料》,点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

本文转自网络,如有侵权,请联系删除。文章来源地址https://www.toymoban.com/news/detail-841587.html

到了这里,关于太好玩了!我用 Python 制作一款小游戏!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用python制作简单的小游戏,用python设计一个小游戏

    这篇文章主要介绍了python编写小游戏详细教程,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。 Source code download: 本文相关源码 今天给大家带来十五个Python小游戏,找回童年的同时学习编程还可以摸鱼,

    2024年03月16日
    浏览(95)
  • 用核桃编程编出来一款游戏,核桃编程小游戏制作

    大家好,本文将围绕核桃编程python简单小游戏代码大全展开说明,核桃编程python简单小游戏代码是一个很多人都想弄明白的事情,想搞清楚用核桃编程编出来一款游戏需要先了解以下几个事情。 for是一个扮腊循环,语法:厅乱滑陪凯 for i in iterable: 语句 注意:冒号后有

    2024年02月11日
    浏览(41)
  • python制作小程序制作流程,python编写小程序小游戏

    大家好,小编来为大家解答以下问题,python编写小程序需要注意的地方,python编写小程序怎么看代码的,现在让我们一起来看看吧! Source code download: 本文相关源码 本篇文章给大家谈谈python可以做小程序研发嘛,以及如何用python做小程序,希望对各位有所帮助,不要忘了收藏

    2024年02月01日
    浏览(46)
  • 使用Python制作的小游戏---飞机大战

    1.pygame模块 1. 熟悉Python面向对象编程的方法和套路 1.敌机模块 2. 地图模块 3. 得分模块 4 .英雄飞机模块 5. 子弹模块 6. 主模块

    2024年02月03日
    浏览(48)
  • 带你用Python制作一个经典小游戏:扫雷

    名字:阿玥的小东东 学习:Python、C/C++ 主页链接:阿玥的小东东的博客_CSDN博客-pythonc++高级知识,过年必备,C/C++知识讲解领域博主 目录 游戏界面尺寸 方块尺寸 雷的数量

    2024年02月11日
    浏览(48)
  • 【超详细教学】Python制作迷宫小游戏教程

    我将为你提供一个简单的迷宫小游戏的Python代码,并解释每个部分的作用,可以为你在工作之余可以堂堂正正的摸会小鱼。 运用工具: Python、Pygame、PyCharm 点击领取Python工具助学资料 在这个迷宫游戏中,我们需要先确定迷宫的大小。我们可以通过定义一个常量来表示迷宫的

    2024年02月11日
    浏览(39)
  • chatgpt赋能python:Python简单小游戏制作教程——让你学会编写游戏代码

    Python是一种高级编程语言,越来越受欢迎,因为它易于学习和使用,而且灵活性非常高。在这篇文章中,我们将教你如何用Python编写一个简单的小游戏。让我们开始吧! 在编写代码之前,你需要安装以下工具: Python编程语言 Pygame游戏框架 步骤一:设置游戏场景 首先,你需

    2024年02月11日
    浏览(56)
  • 用Python制作小游戏之‘植物大战僵尸’(一)

    1.引入需要的模块 2.配置图片地址及页面宽高等 3.创建地图类 4.植物类 5.增加射击方法 7.豌豆子弹 8.僵尸类 9.以及主程序部分 10.启动程序 完整代码在下一篇文章中

    2024年02月12日
    浏览(49)
  • 【python】 pygame学习示例 --飞机大战小游戏制作

    python版本:3.8.5 所需模块:pygame random os pygame版本:20.1 开发环境:pycharm专业版 硬件环境:win11 8G内存以上 使用python的第三方库–pygame 制作飞机大战小游戏 小游戏的内容包括: 玩家player的移动 子弹的发射 陨石的随机掉落(包括旋转 大小 下落角度) 玩家 子弹 陨石的碰撞交互

    2024年02月04日
    浏览(55)
  • Python制作的赛车小游戏源代码,逆行飙车

    python制作的赛车小游戏,逆行飙车,通过键盘方向键控制 程序运行截图: 源代码 完整赛车小游戏下载:赛车小游戏源代码 Python代码大全,海量代码任你下载

    2024年02月12日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包