精华内容
下载资源
问答
  • 【Python】 Python小游戏-贪吃蛇大冒险

    万次阅读 多人点赞 2021-04-17 17:26:59
    一、前言 距上次更新博客,又过去很长时间了,感觉再不更新一下,自己写博客的习惯...二、贪吃蛇大冒险小游戏 一、游戏简介 1.1游戏操作及游戏规则 (1)游戏开始后,通过键盘上下左右键控制贪吃蛇移动寻找食物; (2

    一、前言

    距上次更新博客,又过去很长时间了,感觉再不更新一下,自己写博客的习惯就要废了,哈哈。从去年九月份开学之后,疫情学期期末考试开学考、实验室项目软著申请和新项目设计、课程集训等事情较多,没有很多时间;然后这个学期我到大三下学期,实验室工作交接完就准备考研,之后也没有很多时间来写博客,所以赶紧来更新一下,和大家分享一些知识和心得,希望喜欢的小伙伴可以点赞、收藏和关注,哈哈。

    二、贪吃蛇大冒险小游戏

    一、游戏简介

    1.1游戏操作及游戏规则
    (1)游戏开始后,通过键盘上下左右键控制贪吃蛇移动寻找食物;
    (2)贪吃蛇每吃一个食物,身长会增加一个单位;
    (3)在正常模式中,贪吃蛇如果碰到墙面或咬到自身,则游戏失败;
    (4)在可穿墙模式中,贪吃蛇可以穿过墙面,但咬到自身后,游戏失败。

    二、游戏总体设计

    2.1 游戏总体设计框架图
    在这里插入图片描述

    三、编译语言以及用到的库文件描述

    3.1 Python语言
    Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),Python语言具有非常简洁且清晰的语法特点,随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。目前,基于Python语言的相关技术正在飞速发展,用户数量急剧增大,相关的资源越来越多。
    3.2 pygame库
    Pygame是跨平台Pyth,Pygame 作者是 Pete Shinners, 协议为 GNU Lesser General Public License。Pygame包含图像、声音。建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚。基于这样一个设想,所有需要的游戏功能和理念(主要是图像方面)都完全简化为游戏逻辑本身,所有的资源结构都可以由高级语言提供,如Python。
    3.3 random库
    Random是产生随机数的库,即随机数发生器,random产生的是伪随机数或者说是用一种复杂的方法计算得到的序列值,因此每次运算时需要一个不同的种子值。种子值不同,得到的序列值也不同。
    3.4 time库
    time库是Python中处理时间的标准库,用于计算机时间的表达,提供获取系统时间并格式化输出功能,提供系统级精确计时功能,也可用于程序性能分析。
    3.5 sys库
    sys.exit([ arg ])用于程序的退出,sys.exit(n) 退出程序,正常退出时exit(0)。这是通过引发SystemExit 异常来实现的,因此遵循finally语句的子句所指定的清理操作try ,并且可以拦截外层的退出尝试。可选参数arg可以是一个整数,给出退出状态(默认为零)或其他类型的对象。如果它是整数,则零被认为是“成功终止”,并且任何非零值等视为“异常终止”。

    四、游戏设计与实现

    4.1游戏整体设计

    • 1.定义贪吃蛇对象,包括蛇头和蛇身两个部分,蛇头单独设置,蛇身使用列表来存储;
      2.定义食物对象,包括食物对象的初始化、随机颜色和随机位置的设置;
      3.定义初始化界面,在该界面中设置文本为“正常模式”、“可穿墙模式”和“退出”的三个按钮供玩家选择;
      4.定义正常模式,包括游戏窗口显示、主循环和判断贪吃蛇死亡的设置;
      5.定义可穿墙模式,包括游戏窗口显示、主循环和判断贪吃蛇死亡的设置;
      6.定义游戏结束窗口,包括窗口显示和最后得分显示的设置。

    4.2主要函数解析

    • 4.2.1 new_food()函数
      食物对象初始化函数,传入形参为贪吃蛇蛇头坐标。当贪吃蛇吃掉食物后,通过该函数生成新的食物。通过传入形参判断新生成的食物坐标是否与蛇头坐标相同,若相同则重新生成新的坐标。
    • 4.2.2 start_game()函数
      正常模式的主循环函数,通过该函数进行正常模式下贪吃蛇和食物的初始化、玩家控制贪吃蛇运动、蛇头和蛇身的判断更新和得分统计实现。
    • 4.2.3 die_snake()函数
      正常模式下贪吃蛇死亡判断函数,传入形参为贪吃蛇蛇头和蛇身坐标数据。在该函数中设置布尔型变量die_flag,若死亡设置为Ture并返回,没有死亡为False。通过遍历蛇身存储列表,判断蛇身坐标是否与蛇头坐标相同,若相同则判定贪吃蛇咬到自身,死亡。同时,判断贪吃蛇是否撞墙,及判断蛇头的x和y坐标是否窗体的宽高,若超过则死亡。
    • 4.2.4 start_kgame()函数
      可穿墙模式的主循环函数,通过该函数进行可穿墙模式下贪吃蛇和食物的初始化、玩家控制贪吃蛇运动、蛇头和蛇身的判断更新和得分统计实现。
    • 4.2.5 through_snake()函数
      可穿墙模式下贪吃蛇死亡判断函数,传入形参为贪吃蛇蛇头和蛇身坐标数据。在该函数中设置布尔型变量die_flag,若死亡设置为Ture并返回,没有死亡为False。通过遍历蛇身存储列表,判断蛇身坐标是否与蛇头坐标相同,若相同则判定贪吃蛇咬到自身,死亡。
    • 4.2.6 show_end()函数
      游戏结束时,结束界面设置函数。在该函数中进行结束界面窗体的初始化,在窗体中显示玩家的最终得分,并在改函数中调用pygame库quit方法,使该库停止工作。
    • 4.2.7 into_game()函数
      游戏初始界面实现函数,在该函数中进行游戏初始界面窗体的初始化。在该界面窗体中设置文本为“正常模式”、“可穿墙模式”和“退出”的三个点击按钮,通过设置循环,调用button函数(详细见6.2.8)监听玩家的点击。
    • 4.2.8 button()函数
      游戏初始界面按钮监听函数,在该函数中实现对玩家鼠标点击事件和键盘输入事件的监听。并根据玩家选择,运行按钮对应的触发函数。即点击“正常模式”按钮,运行正常模式的主循环函数,以此类推。

    五、运行模块代码结构

    在运行模块,进行pygame库的初始化、设置游戏背景音乐、显示窗口各个参数的设置以及游戏初始界面的显示设置,具体结果代码如下图:
    在这里插入图片描述在这里插入图片描述
    六、游戏运行测试(截图)

    1. 游戏初始选择界面
      在这里插入图片描述

    2. 正常模式运行界面
      在这里插入图片描述

    3. 可穿墙模式运行界面在这里插入图片描述

    4. 游戏结束界面
      在这里插入图片描述
      七、游戏完整代码

    import sys
    import time
    import pygame
    from random import *
    # Position类,通过其构造函数,设置x和y
    class Position(object):
        def __init__(self, x, y):
            self.x = x
            self.y = y
    # 生成随机的食物
    def new_food(head):
        while True:
            new_food = Position(randint(0, 48) * 20, randint(0, 29) * 20)
            # 判断新生成的事物是否和贪吃蛇蛇头重合,重合则不创键
            if new_food.x != head.x and new_food.y != head.y:
                break
            else:
                continue
        return new_food
    # 绘制,在窗体中绘制贪吃蛇、食物
    # color:颜色,position: 坐标
    def rect(color, position):
        pygame.draw.circle(window, color, (position.x, position.y), 10)
    # 初始界面和游戏中点差退出游戏时
    def exit_end():
        pygame.quit()
        quit()
    # 游戏结束时,显示得分的窗体的设置
    def show_end():
        # 设计窗口
        # 定义窗口大小
        small_window = pygame.display.set_mode((960, 600))
        init_background = pygame.image.load("image/init_bgimg.jpg")
        small_window.blit(init_background, (0, 0))
        # 定义标题
        pygame.display.set_caption("贪吃蛇大冒险")
        # 定义背景图片
        font = pygame.font.SysFont("simHei", 40)
        fontsurf = font.render('游戏结束! 你的得分为: %s' % score, False, black)
        small_window.blit(fontsurf, (250, 200))
        pygame.display.update()
        time.sleep(2)
        pygame.quit()
        sys.exit()
    # 正常模式死亡设置
    # head: 蛇头, snake_body:蛇身
    def die_snake(head, snake_body):
        # 定义标志物,默认为false,true时判定贪吃蛇碰到自己,死亡
        die_flag = False
        # 遍历存放贪吃蛇位姿的列表,从第1个开始,(第0个位蛇头)
        for body in snake_body[1:]:
            # 如果蛇头的xy和蛇身xy相等,则判定相撞,设置flag为ture
            if head.x == body.x and head.y == body.y:
                die_flag = True
        # 若蛇头的xy在显示窗体外,或flag为true,则显示结束界面,并退出游戏
        if head.x < 0 or head.x > 960 or head.y < 0 or head.y > 600 or die_flag:
            pygame.mixer.music.stop()
            show_end()
    # 正常模式主体设置
    def start_game():
        # 定义存分数的全局变量
        global score
        global color
        color = (randint(10, 255), randint(10, 255), randint(10, 255))
        # 定义存放玩家键盘输入运动方向的变量,初始为向右
        run_direction = "right"
        # 定义贪吃蛇运动方向的变量,初始为玩家键入方向
        run = run_direction
        # 实例化蛇头、蛇身、食物对象
        head = Position(160, 160)
        # 初始化蛇身长度为3个单位
        snake_body = [Position(head.x, head.y + 20), Position(head.x, head.y + 40), Position(head.x, head.y + 60)]
        # 初始化食物位置
        food = Position(300, 300)
        # 死循环
        while True:
            window.blit(background, (0,0))
            # 监听玩家键盘输入的运动方向值,并根据输入转为up、down、right或left,方便程序中调用
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    show_end()
                elif event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_UP:
                        run_direction = "up"
                    elif event.key == pygame.K_RIGHT:
                        run_direction = "right"
                    elif event.key == pygame.K_LEFT:
                        run_direction = "left"
                    elif event.key == pygame.K_DOWN:
                        run_direction = "down"
            # 食物
            rect(color, food)
            # 蛇头
            rect(black, head)
            # 蛇身
            for pos in snake_body:
                rect(white, pos)
            # 判断贪吃蛇原运动方向与玩家键盘输入的运动方向是否违反正常运动情况
            if run == "up" and not run_direction == "down":
                run = run_direction
            elif run == "down" and not run_direction == "up":
                run = run_direction
            elif run == "left" and not run_direction == "right":
                run = run_direction
            elif run == "right" and not run_direction == "left":
                run = run_direction
            # 插入蛇头位置到蛇身列表中
            snake_body.insert(0, Position(head.x, head.y))
            # 根据玩家键入方向进行蛇头xy的更新
            if run == "up":
                head.y -= 20
            elif run == "down":
                head.y += 20
            elif run == "left":
                head.x -= 20
            elif run == "right":
                head.x += 20
            # 判断是否死亡
            die_snake(head, snake_body)
            # 判断蛇头和食物坐标,若相等,则加分,并生成新的食物
            if head.x == food.x and head.y == food.y:
                score += 1
                food = new_food(head)
                color = (randint(10, 255), randint(10, 255), randint(10, 255))
            else:
                snake_body.pop()
            font = pygame.font.SysFont("simHei", 25)
            mode_title = font.render('正常模式', False, grey)
            socre_title = font.render('得分: %s' % score, False, grey)
            window.blit(mode_title, (50, 30))
            window.blit(socre_title, (50, 65))
            # 绘制更新
            pygame.display.update()
            # 通过帧率设置贪吃蛇速度
            clock.tick(8)
    # 可穿墙模式死亡设置
    # head:蛇头,snake_body:蛇身
    def through_snake(head, snake_body):
        # 定义标志位
        die_flag = False
        # 遍历,蛇头碰到蛇身时,flag为true退出游戏
        for body in snake_body[1:]:
            if head.x == body.x and head.y == body.y:
                die_flag = True
        if die_flag:
            pygame.mixer.music.stop()
            show_end()
        else:  # 当蛇头的xy出窗体时
            # 四种穿墙情况,分别设置
            if head.x < 0:
                head.x = 960
            if head.x > 960:
                head.x = 0
            if head.y < 0:
                head.y = 600
            if head.y > 600:
                head.y = 0
    # 穿墙模式主体设置
    def start_kgame():
        global score
        global color
        color = (randint(10, 255), randint(10, 255), randint(10, 255))
        # 定义蛇初始方向
        run_direction = "up"
        run = run_direction
        # 实例化蛇头、蛇身、食物对象
        head = Position(160, 160)
        # 三格
        snake_body = [Position(head.x, head.y + 20), Position(head.x, head.y + 40), Position(head.x, head.y + 60)]
        # 初始化事物位置
        food = Position(300, 300)
        # 死循环,监听键盘键值
        while True:
            window.blit(background, (0, 0))
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    show_end()
                elif event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_UP:
                        run_direction = "up"
                    elif event.key == pygame.K_RIGHT:
                        run_direction = "right"
                    elif event.key == pygame.K_LEFT:
                        run_direction = "left"
                    elif event.key == pygame.K_DOWN:
                        run_direction = "down"
            # 食物
            rect(color, food)
            # 蛇头
            rect(black, head)
            # 蛇身
            for pos in snake_body:
                rect(white, pos)
            # 判断贪吃蛇原运动方向与玩家键盘输入的运动方向是否违反正常运动情况
            if run == "up" and not run_direction == "down":  # 若运动方向为向上,玩家输入运动方向向下,则违背贪吃蛇正常运动情况
                run = run_direction
            elif run == "down" and not run_direction == "up":
                run = run_direction
            elif run == "left" and not run_direction == "right":
                run = run_direction
            elif run == "right" and not run_direction == "left":
                run = run_direction
            # 插入蛇头位置到蛇身列表中
            snake_body.insert(0, Position(head.x, head.y))
            # 根据玩家键入方向进行蛇头xy的更新
            if run == "up":
                head.y -= 20
            elif run == "down":
                head.y += 20
            elif run == "left":
                head.x -= 20
            elif run == "right":
                head.x += 20
            # 穿墙实现
            through_snake(head, snake_body)
            # 判断是否加分和随机生成新的食物
            if head.x == food.x and head.y == food.y:
                score += 1
                food = new_food(head)
                color = (randint(10, 255), randint(10, 255), randint(10, 255))
            else:
                snake_body.pop()
            font = pygame.font.SysFont("simHei", 25)
            mode_title = font.render('穿墙模式', False, grey)
            socre_title = font.render('得分: %s' % score, False, grey)
            window.blit(mode_title, (50, 30))
            window.blit(socre_title, (50, 65))
            # 绘制更新
            pygame.display.update()
            # 通过帧率设置贪吃蛇速度
            clock.tick(8)
    # 监听函数,监听键盘输入
    # msg: 按钮信息,x: 按钮的x轴,y: 按钮的y轴,w: 按钮的宽,h: 按钮的高,ic: 按钮初始颜色,ac: 按钮按下颜色,action: 按钮按下的动作
    def button(msg, x, y, w, h, ic, ac, action=None):
        # 获取鼠标位置
        mouse = pygame.mouse.get_pos()
        # 获取键盘输入
        click = pygame.mouse.get_pressed()
        if x + w > mouse[0] > x and y + h > mouse[1] > y:
            pygame.draw.rect(window, ac, (x, y, w, h))
            if click[0] == 1 and action != None:
                action()
        else:
            pygame.draw.rect(window, ic, (x, y, w, h))
        # 设置按钮中的文字样式和居中对齐
        font = pygame.font.SysFont('simHei', 20)
        smallfont = font.render(msg, True, white)
        smallrect = smallfont.get_rect()
        smallrect.center = ((x + (w / 2)), (y + (h / 2)))
        window.blit(smallfont, smallrect)
    # 游戏初始界面,选择模式
    def into_game():
        into = True
        while into:
            window.blit(init_background, (0, 0))
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    exit_end()
            # 设置字体
            font = pygame.font.SysFont("simHei", 50)
            # 初始界面显示文字
            fontsurf = font.render('欢迎来到贪吃蛇大冒险!', True, black)  # 文字
            fontrect = fontsurf.get_rect()
            fontrect.center = ((width / 2), 200)
            window.blit(fontsurf, fontrect)
            button("正常模式", 370, 370, 200, 40, blue, brightred, start_game)
            button("可穿墙模式", 370, 420, 200, 40, violte, brightred, start_kgame)
            button("退出", 370, 470, 200, 40, red,brightred, exit_end)
            pygame.display.update()
            clock.tick(15)
    

    三、总结

    这是一个简单的Python小游戏,具体代码已贴在博客上。然后相关的技术文档、背景音乐、字体、代码等我也压缩上传到了csdn下载区中。
    https://download.csdn.net/download/weixin_45087775/16809231?spm=1001.2014.3001.5503

    展开全文
  • Python小游戏】用AI玩Python小游戏FlappyBird【源码】

    千次阅读 多人点赞 2021-05-02 21:38:15
    本项目是作者实现用AI玩Python小游戏中的游戏逻辑部分,暂不会牵扯到相关的AI逻辑,当然为了便于AI训练,该游戏进行了一定的简化处理,没有添加开始游戏等其他界面。 一、Flappy Bird是什么? Flappy Bird是一款...

    提示:如果本文对您有帮助,欢迎点赞支持!



    前言

    本项目是作者实现用AI玩Python小游戏中的游戏逻辑部分,暂不会牵扯到相关的AI逻辑,当然为了便于AI训练,该游戏进行了一定的简化处理,没有添加开始游戏等其他界面。


    一、Flappy Bird是什么?

    Flappy Bird是一款玩家要在游戏中尽可能长地维持小鸟生命的游戏。

    小鸟不断向前飞行,会遇到一系列高低不同的管道,管道将小鸟通过的高度限制在特定的范围内。

    小鸟由于重力会自动掉落到地面,所以玩家需要不断操作使小鸟进行Flap,躲避管道和地面,游戏分数由小鸟成功通过多少个管道障碍物来衡量。

    如果小鸟撞到地面或者管道,它就会死亡并结束游戏。

    二、本项目简介

    1.实现效果

    20210502_164334.gif20210502_184743.gif20210502_211029.gif20210502_212711.gif

    2.游戏逻辑的相关链接

    (1)游戏逻辑部分

    【FlappyBird小游戏】编写游戏逻辑(一)——基本游戏主循环【源码】

    【FlappyBird小游戏】编写游戏逻辑(二)——读取游戏资源【源码】

    【FlappyBird小游戏】编写游戏逻辑(三)——添加Bird和Pipe【源码】

    【FlappyBird小游戏】编写游戏逻辑(四)——控制Bird和碰撞检测【源码】

    如果读者不想一篇篇阅读博客,习惯直接看代码的话,可以找到在我的资源中找到该下载链接。

    下载后将会得到如下文件资源:

    (2)AI训练逻辑部分

    【FlappyBird小游戏】编写AI逻辑(一)——RL系统和数据预处理

    【FlappyBird小游戏】编写AI逻辑(二)——基于队列的经验重放池

    【FlappyBird小游戏】编写AI逻辑(三)——RL算法的训练主循环

    【FlappyBird小游戏】编写AI逻辑(四)——搭建CNN网络

    【FlappyBird小游戏】编写AI逻辑(五)——定义计算图与学习机制

    该部分代码将会在GitHub上开源,其相关地址为:https://github.com/MagicDeveloperDRL/MRL-AIFlappyBird-Python-master

    我们使用的基于CNN的DQN算法来训练AI-Bird,其计算图结构如下:

    说明

    该项目没有在Github开源的主要原因是因为近期部分用户不怀好意直接下载了我的一些源码拿去赚积分,让我处理起来很不愉快,所以该项目就将源码拆分到一篇篇博客中。

    如果读者在阅读或者使用源码的过程中遇到该项目的技术性问题,可以直接私信我或者评论,相互交流,共同进步!

     

    展开全文
  • Python小游戏、小程序

    2018-06-23 22:13:00
    python 小游戏之摇骰子猜大小 python 实现一个双色球生成程序 python-循环与判断练习题
    展开全文
  • 一个简单的python小游戏

    千次阅读 多人点赞 2019-08-06 10:41:08
    一个简单的python小游戏 大家可以在闲暇之余试一试哦 import pygame import random BLACK = (0, 0, 0) pygame.init() screen = pygame.display.set_mode([800, 600]) pygame.display.set_caption("pop a smiley") ...

    一个简单的python小游戏

    大家可以在闲暇之余试一试哦

    import pygame
    import random
    
    BLACK = (0, 0, 0)
    pygame.init()
    screen = pygame.display.set_mode([800, 600])
    pygame.display.set_caption("pop a smiley")
    mousedown = False
    keep_going = True
    clock = pygame.time.Clock()
    pic = pygame.image.load("images/smile.png")
    colorkey = pic.get_at((0, 0))
    pic.set_colorkey(colorkey)
    sprite_list = pygame.sprite.Group()
    class Smiley(pygame.sprite.Sprite):
        pos = (0, 0)
        xvel = 1
        yvel = 1
        scale = 100
    
        def __init__(self, pos, xvel, yvel):
            pygame.sprite.Sprite.__init__(self)
            self.image = pic
            self.scale = random.randrange(10, 100)
            self.image = pygame.transform.scale(self.image,(self.scale,self.scale))
            self.rect = self.image.get_rect()
            self.pos = pos
            self.rect.x = pos[0] - self.scale / 2
            self.rect.y = pos[1] - self.scale / 2
            self.xvel = xvel
            self.yvel = yvel
    
        def update(self):
            self.rect.x += self.xvel
            self.rect.y += self.yvel
            if self.rect.x <= 0 or self.rect.x > screen.get_width() - self.scale:
                self.xvel = -self.xvel
            if self.rect.y <= 0 or self.rect.y > screen.get_height() - self.scale:
                self.yvel = -self.yvel
    
    while keep_going:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                keep_going = False
            if event.type == pygame.MOUSEBUTTONDOWN:
                if pygame.mouse.get_pressed()[0]:
                    mousedown = True
                elif pygame.mouse.get_pressed()[2]:
                    pos = pygame.mouse.get_pos()
                    clicked_smileys = [s for s in sprite_list if s.rect.collidepoint(pos)]
                    sprite_list.remove(clicked_smileys)
            if event.type == pygame.MOUSEBUTTONUP:
                mousedown = False
        screen.fill(BLACK)
        sprite_list.update()
        sprite_list.draw(screen)
        clock.tick(60)
        pygame.display.update()
        if mousedown:
            speedx = random.randint(-5, 5)
            speedy = random.randint(-5, 5)
            newSmiley = Smiley(pygame.mouse.get_pos(),speedx,speedy)
            sprite_list.add(newSmiley)
    
    pygame.quit()
    
    展开全文
  • 树莓派开箱+上手python小游戏

    千次阅读 2021-01-16 21:58:45
    上手python小游戏安装所需设备烧录系统使用NOOBS方式烧录失败下载官方系统镜像文件烧录成功配置WiFi和SSH一、WiFi配置二、使用PuTTY登录到树莓派上手Python小游戏乌龟赛跑小游戏 树莓派开箱&上手python小游戏 ...
  • 用pygame做一个简单的python小游戏---七彩同心圆

    万次阅读 多人点赞 2020-12-13 10:00:58
    用pygame做一个简单的python小游戏—七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便加强一下pygame库的学习。 玩法:每次点击鼠标时,会以鼠标为圆心,不断向外扩展圆...
  • 1、Python猜拳小游戏代码:2、import random #导入随机模块3、4、num = 15、yin_num = 06、shu_num = 07、while num 2:12、 print('不能出大于2的值')13、 else:14、 data = ['石头', '剪刀', '布']15、 ...
  • python小游戏-16行代码实现3D撞球小游戏!-源码下载 所属网站分类: 资源下载 >python小游戏 作者:搞笑 链接:http://www.pythonheidong.com/blog/article/557/ 来源:python黑洞网www.pythonheidong.com ...
  • 由于pygame的首页上不去没法上它的官网下载模块,ubuntu下其实很方便,一个命令就搞定了: sudo apt-get install python-pygame 这个游戏是用的python2.7.3做的,我的系统默认安装的就是这个版本,我也就没有改了。
  • python小游戏-移动木板

    千次阅读 多人点赞 2020-10-06 16:19:52
    本游戏是通过python编写的小游戏,给初学者熟悉python编程语言抛砖引玉,希望有所帮助。 成型的效果图如下: 二、编写步骤 1.引入库 代码如下: ###### AUTHOR:破茧狂龙 ###### ###### DATE:20201002 ###### #####...
  • 用pygame做一个简单的python小游戏---贪吃蛇

    千次阅读 多人点赞 2020-11-30 12:04:08
    用pygame做一个简单的python小游戏—贪吃蛇 贪吃蛇游戏链接: c++贪吃蛇:https://blog.csdn.net/weixin_46791942/article/details/106850986 正文开始 下载pygame模块 pip install pygame 编写的是最简单的贪吃蛇...
  • python小游戏开发——简单弹球游戏

    千次阅读 多人点赞 2019-04-25 11:09:28
    本案例采用 python 实现了一个简单的弹球游戏。该游戏在一个单独的图形窗口中运行。游戏初始化后,在游戏窗口点击鼠标左键开始游戏。玩家通过控制键盘的左、右方向键来控制弹板的移动,弹球和弹板撞击一次,得一分,...
  • Python小游戏 猜3个骰子点数大小游戏

    千次阅读 2019-04-15 21:15:57
    #猜点数大小游戏,3个骰子,小于等于9为,大于等于10为大 import random def sum1(point1,point2,point3): a_list=[point1,point2,point3] sum1=sum(a_list) if sum1>=10: sum1_str='Big' else: sum1_str='...
  • python小球游戏代码

    万次阅读 多人点赞 2018-05-07 17:26:48
    #python tkinter #python version 3.3.2 from tkinter import * ''' 判断 两个小球 { 圆心:A(x1,y1) 半径:r X轴速度:Vax Y轴速度:Vay 圆心:B(x2,y2) 半径:R X轴速度:Vbx Y轴速度:Vby } 碰撞的条件是...
  • Python小游戏之王者荣耀

    千次阅读 多人点赞 2020-04-06 14:36:38
    游戏内容涉及: 1.随机数生成 2.相关模块用法 3.0 1 用法 4.条件判断 5.循环 6.列表 7.单词的记忆…mmp(你四级过了吗…) import random print('*'*40) print('\t欢迎来到王者荣耀') print('*'*40) role=input('请...
  • python小游戏开发——井字棋

    千次阅读 多人点赞 2019-04-25 11:00:51
    本案例采用 python 实现了一个简单的井字棋游戏。该游戏在控制台界面中进行,有游戏提示。游戏棋盘为 3 X 3 的九宫格样式,每个棋格与数字键盘上的 1 - 9 数字键一一对应,可通过输入数字来选择落棋位置和落子。游戏...
  • python 小游戏练手

    千次阅读 2019-09-04 09:50:22
    Python3制作类八音符的小游戏 百度网盘下载链接:https://pan.baidu.com/s/1JKS3_bTToinfyGREcdqduw 密码: ufaw Python3制作仿“经典90坦克大战”小游戏 百度网盘下载链接:...
  • python小游戏实现代码

    万次阅读 多人点赞 2013-08-23 16:45:25
    python写的一个小游戏,附上完整实现代码。
  • Python小游戏(五)吃豆人小游戏

    千次阅读 2020-02-19 11:23:11
    python讨论qq群:996113038代码及相关资源获取:后台回复“game5”获取源代码。开发工具:python3.6.4。需要安装的模块或者库:random模块。turtle模块...
  • python小游戏(华容道)

    万次阅读 多人点赞 2018-08-22 17:03:56
    python基础运用 1、定义块 定义相应的块,每个方块实际就是一个按钮,所以继承Button类。每个方块的基本数据,除了方块的类型以外还有左上角的坐标,一旦确定方块的类型和坐标后,就可以确定方块对应的角色和...
  • Python语言程序设计课程论文——Python小游戏

    千次阅读 多人点赞 2020-07-07 23:43:20
    戏软件的 Python 程序模块,此项目就是导入Pygame模块来设计开发简单拼图游戏,引入Random模块,随机打乱拼图次数、拼图块坐标、拼图图片,将图像分为m×n个矩形块,并将图像右下角的矩形块替换为空白块后,将这些...
  • 由于pygame的首页上不去没法上它的官网下载模块,ubuntu下其实很方便,一个命令就搞定了: sudo apt-get install python-pygame 这个游戏是用的python2.7.3做的,我的系统默认安装的就是这个版本,我也就没有改了。
  • python 小游戏 滚动的小球

    千次阅读 2018-01-05 14:00:52
    # -*- coding: utf-8 -*- """ __author__= 'Du' __creation_time__= '2018/1/4 17:03' """ import sys import pygame from pygame.locals import * def play_ball(): pygame.init() ... window_si
  • Java、Python小游戏合集

    千次阅读 2020-03-26 22:44:02
    包括:飞机大战、经典斗兽棋(有过河的那种)、五子棋、俄罗斯方块、国际象棋、吃豆人、推箱子(只有5关)、扫雷、贪吃蛇、坦克大战、2048等11个小游戏 主要规则在上面的源码网址中都有讲解,下面直接上图 1. 飞机...
  • Python小游戏 -- 猜单词

    千次阅读 2017-08-30 18:06:39
    Python初学者小游戏:猜单词 游戏逻辑:就像我们曾经英语学习机上的小游戏一样,电脑会从事先预置的词库中抽取单词,然后给出单词的字母数量,给定猜解次数,然后让玩家进行猜测,并给出每次猜测的正确字母与错误...
  • 第一个Python小游戏

    千次阅读 2018-02-02 21:02:43
    猜数游戏,规则: 1. 程序生成1-10的一个随机数 ..."""--- 第一个小游戏 ---"""#长字符串 import random secret = random.randint(1, 10) guess = int(input("不妨猜一下我现在心里想的是哪个数字:")) if guess =
  • Python小游戏之“读心术”

    千次阅读 2020-02-22 16:39:16
    读心术:猜数字游戏 〉 一款经典的猜数字AI:用户先随机在 0-1000之间随意写一个数字,AI开 始猜,如果猜的数大了,用户就说大 了,反之,则说了。 算法:二分查找 〉 从中间的数开始,如果猜中则结束 〉 如...
  • 现在我们开始自己动手,做我们的第二款PYTHON游戏-弹球游戏 3.1弹球游戏介绍 我们将要开发一款弹球游戏。弹球游戏是一款有趣的益智休闲游戏,你需要控制绿色的球板,让它弹到球,使她不下落,坚持的时间越长,分数越...
  • python小游戏———猜单词

    千次阅读 2017-08-13 17:43:29
    电脑根据单词列表随机生成一个单词,打印出这个单词长度个 ‘ _ ’ ,玩家随机输入一个这个单词可能包含的英文字母,如果玩家猜对了,电脑则会在正确的空格处填写这个字母,如果没有猜对,游戏次数就减一。...
  • python小游戏的项目总结(一)

    千次阅读 2019-03-14 10:33:43
    1.首先利用python搭建开发小游戏,需要用到pygame库包,这个包里封装好了开发2D平面小游戏的工具 在linux系统下应该这样安装pygame: ①首先应该检查自己的python是否安装了pip,或者安装的pip 是那个版本的:应输入...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 110,331
精华内容 44,132
关键字:

python小游戏

python 订阅