精华内容
下载资源
问答
  • 用python设计一个小游戏
    千次阅读
    2021-11-03 22:41:28

    print("========")

    temp=input("=======")

    guess=int(temp)

    if guess=520:

    print("************")

    print("*************")

    else:

    print("&&&&&&&&&&&")

    print("&&&&&&&&&&&")

    例如:

     

    更多相关内容
  • 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏、后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下其中的有趣之处。本次开发的游戏...
  • 利用计算机产生一个0~10的整数。用户猜测对提示“成功”的提示,错误给出“太大了”或“太了”的提示,继续猜。 from random import randint a= randint(0,10) #print(a) print(庄家出了一个0到10之间的数····...
  • 用python一个贪吃蛇小游戏,只需要短短十几行代码,就可以写出一个贪吃蛇小游戏
  • python代码写的一个超级玛丽小游戏
  • python实现猜拳小游戏

    2020-09-18 19:04:57
    主要为大家详细介绍了python实现猜拳小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 用Python做一个超简单的小游戏(一听就懂)

    万次阅读 多人点赞 2020-12-20 14:59:59
    今天就教大家做一个简单的小游戏 文章目录前言写它会用到源码先抛出来知识讲解random介绍语法方法参数表举例while语法举例拆分代码讲解 写它会用到 while 循环 random 模块 if 语句 输入输出函数 源码先抛出来 ...

    前言

    有的人可能学过一点Python基础,但不知道干什么好。今天就教大家做一个简单的小游戏


    未经允许,禁止转载



    写它会用到

    while 循环
    random 模块
    if 语句
    输入输出函数
    在这里插入图片描述


    源码先抛出来

    import random #导入random模块,用来产生随机数
    times = 10 #设置我们的答题次数
    secret = random.randint(1,100) #随机给random一个1~9的数字,再给secret赋值
    print('---------------Python要和你玩猜数字游戏---------------')
    print('猜一个1-100之间的数')
    guess = 0 #设定guess的值
    while (guess != secret) and (times > 0): #结束条件,要么次数用完,要么答对。
        guess = int(input("猜猜我想的是几:")) #用户输入,并转换为整数
        times = times - 1 #用户每输入一次,猜数次数就-1
        if guess == secret: #如果用户输入对了
            print("恭喜你猜对了!") 
            print("哼,猜中了也没有奖励!")
            break #跳出循环
        else:
            if guess > secret:
                print("大了大了~~~")# 之所以不在这里设置重输,是因为在if times > 0: 中已经弄过了,这样避免输两次,也避免次数已用完还让重输
            else:
                print("小了小了-_-")
        if times > 0: #判断次数是否用完
            print("再试一次吧:", end=" ")
        else:
            print("机会用光咯T_T")
            print("我想的是"+str(secret)+"!") #揭晓答案
    print("游戏结束,不玩啦^_^")
    

    知识讲解

    random

    介绍

    Python中的随机数操作较简单,不像其他高级语言那样必须用特定的公式才能产生

    语法

    import random #导入模块
    random.方法() #调用方法
    

    方法参数表

    方法作用
    randint(一个整数,另一整数)产生从一个整数-另一整数的随机整数
    uniform(a,b)产生 a 到 b之间的随机浮点数

    目前我们用到的是randint()方法。

    举例

    >>> import random
    >>> random.randint(0,10)
    5
    >>> random.randint(0,10)
    2
    >>> 
    

    while

    在这里插入图片描述

    语法

    while 循环条件:
    	语句
    

    举例

    num = 0
    while num<3:#如果num小于3,就进入循环
    	num+=1 #等同num=num+1
    	print(num)
    

    图:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    拆分代码讲解

    产生随机数

    import random
    random.randint(0,100)
    

    运行结果:

    >>> random.randint(0,100)
    50
    >>> random.randint(0,100)
    28
    >>> random.randint(0,100)
    35
    >>> random.randint(0,100)
    15
    >>> random.randint(0,100)
    10
    >>> random.randint(0,100)
    27
    >>> random.randint(0,100)
    89
    >>> random.randint(0,100)
    43
    >>> random.randint(0,100)
    90
    >>> random.randint(0,100)
    16
    >>> random.randint(0,100)
    80
    >>> 
    

    现在我们可以产生随机数了,但是只有调用一次方法才能产生一次随机数,怎么办呢?对了,可以用循环来反复做相同的事。


    循环产生随机数

    import random
    while True:
    	random.randint(0,100)
    

    运行结果:

    68
    25
    51
    44
    75
    21
    70
    2
    4
    25
    95
    34
    19
    59
    63
    98
    93
    15
    0
    60
    69
    33
    2
    84
    38
    54
    30
    64
    69
    94
    94
    8
    24
    95
    80
    69
    83
    20
    48
    92
    24
    48
    51
    77
    25
    23
    68
    70
    84
    34
    56
    86
    30
    39
    12
    90
    0
    36
    31
    23
    34
    51
    60
    26
    81
    63
    88
    74
    40
    55
    69
    47
    44
    8
    38
    6
    63
    3
    72
    76
    8
    100
    88
    20
    99
    49
    47
    35
    80
    7
    49
    6
    78
    42
    20
    44
    49
    49
    71
    53
    55
    67
    51
    55
    39
    87
    98
    19
    61
    70
    76
    58
    94
    47
    73
    10
    22
    29
    89
    95
    33
    98
    44
    15
    29
    4
    78
    16
    13
    71
    78
    43
    18
    43
    29
    64
    87
    8
    66
    91
    55
    12
    81
    8
    48
    20
    23
    5
    6
    Traceback (most recent call last):
      File "<pyshell#3>", line 2, in <module>
        random.randint(0,100)
    KeyboardInterrupt
    
    >>> 
    

    可以看到,它一直输出随机数,这并不是我们想要的,我们想要的是用户输入一个数,和这个随机数比对

    增加循环条件和简单的判断

    对上述采取的方法是:把产生的随机数存入变量,进行判断、比对

    import random
    secret = random.randint(0,100) #产生随机整数
    guess = input('猜猜我想的是几:')#获取用户输入
    while guess!=secret:#当用户输入不等于产生的数时,进入循环
    	if guess>secret:#当用户输入的数大于随机数时	
    		print("大了大了@_@")#打印提示文字
    	else:#当用户输入的数小于随机数时
    		print("小了小了>_<")#打印提示文字
    print("恭喜你答对了!")
    print("哼,对了也没有奖励!")
    print('游戏结束,不玩了~')
    

    看似没有问题,我们来运行一下
    运行后发现报错了:

    猜猜我想的是几:12
    Traceback (most recent call last):
      File "C:/Users/Administrator/Desktop/aa.py", line 5, in <module>
        if guess>secret:#当用户输入的数大于随机数时
    TypeError: '>' not supported between instances of 'str' and 'int'
    

    哦,原来是没有转换类型,input返回的是字符串,字符串不能和整数比较

    改后:

    import random
    secret = random.randint(0,100) #产生随机整数
    guess = int(input('猜猜我想的是几:'))#获取用户输入,并转化为整数
    while guess!=secret:#当用户输入不等于产生的数时,进入循环
    	if guess>secret:#当用户输入的数大于随机数时	
    		print("大了大了@_@")#打印提示文字
    	else:#当用户输入的数小于随机数时
    		print("小了小了>_<")#打印提示文字
    print("恭喜你答对了!")
    print("哼,对了也没有奖励!")
    print('游戏结束,不玩了~')
    

    运行:

    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    小了小了>_<
    Traceback (most recent call last):
      File "C:/Users/Administrator/Desktop/aa.py", line 8, in <module>
        print("小了小了>_<")#打印提示文字
    KeyboardInterrupt
    >>> 
    
    

    还是有问题!

    解决报错&增加输错重输功能、限制用户输入次数功能

    同学们想想,当打印提示语后,用户没有重输,会一直满足那个条件,就会循环打印。
    那么我们可以增加重输功能,当输的不对时,就重输,就不会循环打印了;
    添加限制用户输入功能,这样就避免用户一直猜

    1.当然,因为又加了一个功能,答对了的提示就不能放在循环外面了,
    2.之所以不在打印大了小了设置重输,是因为在if times > 0: 中已经弄过了,这样避免输两次,也避免次数已用完还让重输

    import random #导入random模块,用来产生随机数
    times = 10 #设置我们的答题次数
    secret = random.randint(1,100) #随机给random一个1~9的数字,再给secret赋值
    print('---------------Python要和你玩猜数字游戏---------------')
    print('猜一个1-100之间的数')
    guess = 0 #设定guess的值
    while (guess != secret) and (times > 0): #结束条件,要么次数用完,要么答对。
        guess = int(input("猜猜我想的是几:")) #用户输入,并转换为整数
        times = times - 1 #用户每输入一次,猜数次数就-1
        if guess == secret: #如果用户输入对了
            print("恭喜你猜对了!") 
            print("哼,猜中了也没有奖励!")
            break #跳出循环
        else:
            if guess > secret:
                print("大了大了~~~")# 之所以不在这里设置重输,是因为在if times > 0: 中已经弄过了,这样避免输两次,也避免次数已用完还让重输
            else:
                print("小了小了-_-")
        if times > 0: #判断次数是否用完
            print("再试一次吧:", end=" ")
        else:
            print("机会用光咯T_T")
            print("我想的是"+str(secret)+"!") #揭晓答案
    print("游戏结束,不玩啦^_^")
    

    效果

    在这里插入图片描述

    缺陷

    没有设置输入限制,如果用户输入的是字母,那int转换就会报错;这个我就不写了,有兴趣的同学可以在评论区写一下。有什么不懂的地方,也欢迎在评论区提问

    展开全文
  • Python做一个推箱子小游戏
  • python小游戏大全——30,快来下载吧!
  • python一个小游戏

    千次阅读 2020-05-07 14:12:39
    今天玩点有趣的吧都说 Python 除了生孩子什么...想要 Python一个小游戏就不得不知道 pygame 这个库了 这个库是在 sdl 之上构建的 可以使用到很多 GUI、渲染画布等 废话不多说 我们开始 首先我们得有个窗口通过...

    今天玩点有趣的吧都说 Python 除了生孩子什么都能干
    在这里插入图片描述

    咱们今天就用 Python 写个小游戏贪吃蛇
    在这里插入图片描述
    想必大家都玩过这玩意
    有没有想过你自己来实现一个这样的游戏呢
    那么接下来就是学习 python 的正确姿势

    想要用 Python 写一个小游戏就不得不知道 pygame 这个库了
    这个库是在 sdl 之上构建的
    可以使用到很多 GUI、渲染画布等
    废话不多说
    我们开始
    首先我们得有个窗口通过 pygame 的初始化就可以使用它提供给我们的工具了
    在这里插入图片描述
    既然有东西可用了来设置一下游戏名称吧
    想了想就叫做《帅气的python》
    在这里插入图片描述
    通过 set_model 方法可以设置窗口的大小

    比如:
    在这里插入图片描述
    那么这时候得到的窗口就是这样
    在这里插入图片描述
    把这张图点开,居然发现了一张帅脸
    窗口有了
    咱们把蛇搞上去
    背景我们就默认黑色吧所以蛇的颜色应该是白色
    这样才显得比较凸突出
    通过 pygame 的 rect 方法
    可以在画布上画矩形
    那么一开始我们的蛇应该是处于中间的
    蛇的长度就给 4 个格子吧
    这里我们一个格子的宽高设置为 10
    在这里插入图片描述
    现在应该是这个样子
    在这里插入图片描述
    蛇有了
    就差食物了
    一样的道理
    在这里插入图片描述
    现在就成这样了
    在这里插入图片描述
    还整的有模有样的
    在这里插入图片描述
    不过这食物吧是随机的才对
    而且我们刚写的代码有点糙捣腾捣腾
    在这里插入图片描述
    这里把食物的位置随机了一下这样每次一运行就会随机显示了
    在这里插入图片描述
    在这里插入图片描述
    好了
    现在蛇也有了食物也有了
    接下来就让蛇的身体扭!起!来!
    在这里插入图片描述
    需要监听一下
    方向键的事件
    通过 pygame 的这个方法

    pygame.event.get()
    

    可以监听事件
    比如监听关闭
    又比如这样来监听我们的方向键
    在这里插入图片描述
    运行起来
    只要你按了方向键
    就会被监听到
    在这里插入图片描述
    接着定义一个蛇头的位置
    在这里插入图片描述
    蛇头居中指引方向
    每次触发一个方向键就让蛇头的位置发生相应的变化然后更新蛇身的位置
    在这里插入图片描述
    所谓更新蛇身位置
    主要将是将列表中的元素更新一下
    添加蛇头的位置pop掉蛇尾的位置

    每次更新
    需要渲染一下画布
    在这里插入图片描述
    运行一下就是这样的
    在这里插入图片描述

    我把它扭起来了
    哎我这该死的手速差点暴露了什么
    在这里插入图片描述
    刚刚的代码是不是很多重复抽成一个方法吧
    在这里插入图片描述
    在这里插入图片描述
    蛇也有了也会扭了
    食物也有了
    接下来就让它去吃啊怎么吃呢
    吃一堑长一智
    判断下呗只要头碰到了食物就算吃到了给蛇的身体加一格
    在这里插入图片描述
    这里只要发现头的位置

    和食物的位置相同就说明吃到了
    此时列表的数据就不 pop 了并且食物的位置重新随机生成
    那么现在每次重新渲染的时候食物的位置就是随机的了
    运行起来
    就是要这样
    不过现在这条蛇好像有外挂似得
    撞到南墙都不死的
    撞到自己也不死的
    闹呢?你以为你充钱了么?
    在这里插入图片描述
    怎么判断撞到自己了呢其实就是把列表的数据拿出来比对
    第一个元素是蛇头拿它跟其它元素比对
    相同就代表撞到了
    在这里插入图片描述
    如何判断撞到了墙了呢
    通过蛇头的位置只要不超过 [500, 500] 就没事吧

    也就是说
    只要蛇头都在画布之内就行
    在这里插入图片描述
    这里就直接退出了
    在这里插入图片描述
    在这里插入图片描述
    效果就是这样撞到就直接拜拜
    当然
    画布一直频繁的更新所以可以使用 pygame 的 clock
    在这里插入图片描述
    在这里插入图片描述
    这样子每秒不会超过 10 帧这样就不会那么浪费资源了
    ok今天就分享到这里代码不难
    当然更多是提供下思路你还可以进一步优化下代码

    也可以添加一些功能

    比如添加背景音乐
    添加分数统计
    把食物换成cxk…
    自己发挥吧

    最后分享一些私藏的资料
    在这里插入图片描述
    在这里插入图片描述
    链接:https://pan.baidu.com/s/1kh6OpSCDtcIfA0DOzcITHA

    提取码:vrjp

    链接容易过期,如果失效了,来这里领取吧,建这个群的初衷也是为了和志同道合的朋友一起学习,有小白也有大神,欢迎你的加入
    在这里插入图片描述

    展开全文
  • 以前游戏2048火的时候,正好其他的语言编写了一个,现在学习python,正好想起来,便决定用python一个2048,由于没学过python里面的界面编程,所以写了一个极其简单的无界面2048。游戏2048的原理和实现都不难,...
  • python大作业实验报告+源代码--爬虫【完美搞定大作业】 python大作业分享--30多项目任你选(由于上传大小限制分多...爬虫(爬抖音视频、下载B站视频、怕天气预报等)小游戏(五子棋、坦克大战、贪吃蛇、拼图等)。
  • 用一晚上时间,用python做的RPG小游戏(面向对象思想)
  • 编写小游戏 开发中的类的继承 灵活使用函数和函数的继承以及类class的实例 import time import random class WeGame(object): def __init__(self, username, sex, boold_num=2000, money=800, agg=0, pre=0): self...
  • 暑假学了十几天python,然后pygame模块写了一个五子棋的小游戏,代码跟有缘人分享一下。 import numpy as np import pygame import sys import traceback import copy from pygame.locals import * pygame.init()...
  • Python小游戏代码

    2015-12-07 14:43:03
    一个Python小游戏代码
  • python讨论qq群:996113038 代码及相关资源获取: ... 开发工具: python3.6.4。 需要安装的模块或者库: random模块。...一:游戏设定: 1:在游戏界面内,蓝色部分是可以移动的通道。...我们可以用一个
  • 开发工具 Python版本:3.6.4 相关模块: pygame模块; 以及一些Python自带的模块 关注公众号:Python学习指南,回复“拼图”即可获取源码 环境搭建 安装Python并添加到环境变量,pip...OK,我们先写一个游戏初始界面:
  • Python我的世界小游戏源代码,我的世界小游戏使用方法: 移动 前进:W,后退:S,向左:A,向右:D,环顾四周:鼠标,跳起:空格键,切换飞行模式:Tab; 选择建筑材料 砖:1,草:2,沙子:3,删除建筑:鼠标左键单击...
  • Python写简单的拼图小游戏Pycharm项目,包括游戏图片和代码等,可直接Pycharm打开。有问题请私信。
  • Python小游戏源码-炸弹人小游戏游戏源码
  • 基于Python的30个小游戏源码(完整源码可运行).rar
  • python实现拼图小游戏--附源码
  • 主要为大家详细介绍了python实现人机猜拳小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 本文主要介绍如何用Python设计一个经典小游戏:猜大小。在这个游戏中,将用到前面我介绍过的所有内容:变量的使用、参数传递、函数设计、条件控制和循环等,个整体的总结和复习。游戏规则:初始本金是1000元,默认...

    本文主要介绍如何用Python设计一个经典小游戏:猜大小。

    在这个游戏中,将用到前面我介绍过的所有内容:变量的使用、参数传递、函数设计、条件控制和循环等,做个整体的总结和复习。

    游戏规则:

    初始本金是1000元,默认赔率是1倍,赢了,获得一倍金额,输了,扣除1倍金额。

    玩家选择下注,押大或押小;

    输入下注金额;

    摇3个骰子,11≤骰子总数≤18为大,3≤骰子总数≤10为小;

    如果赢了,获得1倍金额,输了,扣除1倍金额,本金为0时,游戏结束。

    程序运行结果是这样的:

    2017051511075530.png

    现在,我们来梳理下思路。

    我们先让程序知道如何摇骰子;

    让程序知道什么是大,什么是小;

    用户开始玩游戏,如果猜对,赢钱;猜错,输钱;输完后,游戏结束。

    梳理清楚思路后,接下来开始敲代码。

    摇骰子:

    定义roll_dice函数,3个骰子,循环次数numbers为3,骰子点数points初始值为空,这里的参数传递用到的是之前讲到的关键词参数传递。

    随机数生成用import random来实现。Python中最方便的就是有很多强大的库支持,现在我们可以直接导入一个random的内置库,用它来生成随机数。如:

    1 import random

    2 point = random.randrange(1,7)

    3 # random.randrange(1,7)生成1-6的随机数

    4 print(point)

    print(point)后可以看到打印出的随机数,每次运行结果都是随机的。

    接下来我们看下摇骰子这部分的完整代码:

    import random

    def roll_dice(numbers = 3,points = None):

    print('----- 摇骰子 -----')

    if points is None:

    points = []

    # points为空列表,后续可以插入新值到该列表

    while numbers > 0:

    point = random.randrange(1,7)

    points.append(point)

    # 用append()方法将point数值插入points列表中

    numbers = numbers - 1

    # 完成一次,numbers减1,当小于等于0时不再执行该循环

    return points

    定大小:

    11≤骰子总数≤18为大,3≤骰子总数≤10为小,代码如下:

    def roll_result(total):

    isBig = 11 <= total <=18

    isSmall = 3 <= total <= 10

    if isBig:

    return '大'

    elif isSmall:

    return '小'

    玩游戏:

    初始本金1000元,默认赔率1倍;赢了,获得一倍金额,输了,扣除1倍金额;本金为0时,游戏结束。

    def start_game():

    your_money = 1000

    while your_money > 0:

    print('----- 游戏开始 -----')

    choices = ['大','小']

    # choices赋值为大和小,用户需输入二者之一为正确

    your_choice = input('请下注,大 or 小:')

    your_bet = input('下注金额:')

    if your_choice in choices:

    points = roll_dice()

    # 调用roll_dice函数

    total = sum(points)

    # sum为相加,将3个骰子的结果相加

    youWin = your_choice == roll_result(total)

    if youWin:

    print('骰子点数:',points)

    print('恭喜,你赢了 {} 元,你现在有 {} 元本金'.format(your_bet,your_money + int(your_bet)))

    # your_bet是字符串格式,这里需要转化为int类型进行计算

    your_money = your_money + int(your_bet)

    # 最新本金

    else:

    print('骰子点数:',points)

    print('很遗憾,你输了 {} 元,你现在有 {} 元本金'.format(your_bet, your_money - int(your_bet)))

    your_money = your_money - int(your_bet)

    else:

    print('格式有误,请重新输入')

    # 如果输入的不是choices列表中的大或小,则为格式有误

    else:

    print('游戏结束')

    start_game()

    到这里,我们就完成了该游戏三大部分的设计,大家一定要仔细思考,梳理设计思路,动手敲出代码才好。

    最后,附【猜大小】游戏的完整代码:

    import random

    def roll_dice(numbers = 3,points = None):

    print('----- 摇骰子 -----')

    if points is None:

    points = []

    while numbers > 0:

    point = random.randrange(1,7)

    points.append(point)

    numbers = numbers - 1

    return points

    def roll_result(total):

    isBig = 11 <= total <=18

    isSmall = 3 <= total <= 10

    if isBig:

    return '大'

    elif isSmall:

    return '小'

    def start_game():

    your_money = 1000

    while your_money > 0:

    print('----- 游戏开始 -----')

    choices = ['大','小']

    your_choice = input('请下注,大 or 小:')

    your_bet = input('下注金额:')

    if your_choice in choices:

    points = roll_dice()

    total = sum(points)

    youWin = your_choice == roll_result(total)

    if youWin:

    print('骰子点数:',points)

    print('恭喜,你赢了 {} 元,你现在有 {} 元本金'.format(your_bet,your_money + int(your_bet)))

    your_money = your_money + int(your_bet)

    else:

    print('骰子点数:',points)

    print('很遗憾,你输了 {} 元,你现在有 {} 元本金'.format(your_bet, your_money - int(your_bet)))

    your_money = your_money - int(your_bet)

    else:

    print('格式有误,请重新输入')

    else:

    print('游戏结束')

    start_game()

    以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

    本文标题: 用Python设计一个经典小游戏

    本文地址: http://www.cppcns.com/jiaoben/python/190833.html

    展开全文
  • 主要为大家详细介绍了python递归法实现简易连连看小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了python编写猜数字小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了500行代码使用python微信小游戏飞机大战游戏,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • python实现扫雷小游戏

    2020-09-17 12:06:55
    主要为大家详细介绍了python实现扫雷小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 136,501
精华内容 54,600
关键字:

用python做一个小游戏