吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3592|回复: 1
收起左侧

[Python 原创] [Python] 猜数大冒险1.0 用控制台玩的简易文字冒险游戏

  [复制链接]
hejinmax 发表于 2019-7-21 22:54
以学习为目的,我自己写了一个没有界面的,用控制台操作的小游戏,初步涉及到随机ROLL点和放置元素。
如果有朋友喜欢的话,可能还会进一步开发。
我的设计理念是,最简洁的画面,和最耐玩的游戏性。
PS: 系统需要安装Python3,只使用内置模块,无需安装第三方轮子。

以下是部分代码:
[Python] 纯文本查看 复制代码
import random


def main():

    round_counter = 0     # 回合计数器
    print('第一关')
    while True:

        # 单次猜数字1-9
        max_num = 9
        a = random.randint(1, max_num)
        # print(a)    # 调试用
        counter = 0         # 单回合猜的次数

        while 1:
            c = input('范围1-%d,请输入:' % max_num)
            if c.isdigit():     # 判断数据类型是否是 数字
                b = int(c)
                if b > a:
                    print('猜大了')
                elif b < a:
                    print('猜小了')
                elif b == a:
                    print('猜对了,正确答案就是 %d' % b)
                    counter += 1
                    break
                counter += 1
            else:
                print('请输入一个整数')

        if counter > 3:
            round_counter = 0
        if counter < 4:
            round_counter +=1
            print('成功在三次以内猜中了答案,已连续猜对%s次' % round_counter)
        if round_counter >= 3:
            input('你已经连续三回合,在三次以内猜中答案,恭喜过关,按回车继续:')
            round_counter = 0
            break


if __name__ == '__main__':
    main()


[Python] 纯文本查看 复制代码
import random
import time


def jiqimao(max_num):

    for i in range(1,max_num + 1):
        print('本次猜 %d' % i)
        if i == a:
            print('终于猜到了,正确答案是%d' % i)
            break
        time.sleep(0.5)


def main():

    global a
    round_counter = 0     # 回合计数器
    print('第四关')
    input('系统奖励你一只猜谜猫,帮助你自动猜数字,按回车开始:')
    while True:
        print('第 %d 回合开始' % (round_counter + 1))
        # 单次猜数字1-20
        a = random.randint(1,20)
        # print(a)    # 调试用
        jiqimao(20)
        round_counter += 1
        
        if round_counter >= 10:
            input('你已经十回合猜中答案,恭喜过关,按回车继续:')
            round_counter = 0
            break


if __name__ == '__main__':
    main()


[Python] 纯文本查看 复制代码
import random
import time


def main():
    # 角色名 = [生命值,攻击力]
    player1 = [100,10,'你']
    player2 = [100,5,'老鼠精']
    招式=['摆拳','勾拳','侧踹腿','过肩摔','上步抱膝摔','右鞭拳','侧弹腿','横扫腿','夹颈过背摔','接腿转压摔']

    # 决定出手的先后顺序
    field = [player1,player2]
    a = random.randint(0,100)
    if a <= 50:
        field.reverse()     # list元素反向排序

    print('第六关:BOSS战开始')

    while 1:
        atk_ad = field[0][1]    # field[先手的角色][该角色攻击力]
        # 对敌人造成的伤害幅度为 攻击力 * 0.8 到 攻击力 * 1.2 之间
        # uniform函数区间,不包括右侧临界值
        dmg  = int(random.uniform(0.8,1.3) * atk_ad)
        field[1][0] -= dmg    # 防守角色的血量
        print('%s 使出了 *%s* 对 %s 造成了 %d 点伤害' % (field[0][2], random.choice(招式), field[1][2], dmg))
        if field[1][0] < 1:
            print('%s 将 %s 击倒' % (field[0][2], field[1][2]))
            break
        field.reverse()
        time.sleep(1)
    input('你已经打败老鼠精,恭喜过关,按回车继续:')


if __name__ == '__main__':
    main()


完整代码已打包,双击main.py运行完整流程:
链接:https://pan.baidu.com/s/1oCAm12C7f7WAAEJTJdXE9g
提取码:8wx5

免费评分

参与人数 1吾爱币 +3 热心值 +1 收起 理由
苏紫方璇 + 3 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

热血最强 发表于 2019-7-22 00:18
谢谢大神,让我学习学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 11:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表