[oeasy]python020在游戏中体验数值自由_勇闯地下城_终端文字游戏

继续运行 🥋

回忆上次内容

  • 上次使用shell环境中的命令
命令作用
cd改变文件夹
pwd显示当前文件夹
ls列出当前文件夹下的内容
  • 最终

    • 进入 目录
    • 找到 游戏
  • 如果git clone 根本无法下载呢?

    • 直接进入 下节实验
    • 勇闯 地下城!

图片描述

  • 但是 这个game.py

    • 怎么玩呢?🤔

直接复制代码

  • 如果已经 clone成功的话

    • 跳过 本页的步骤
    • 可以直接打开 game.py
  • 没成功的话

    • 复制 下面的代码
# @Version : 2.0  
# @Time    : 2022/09/25  
# @Author  : oeasy

import time

print('=========== Welcome to Underground! ============')
print('''
     ,            _..._            ,
    {'.         .'     '.         .'}
    { ~ '.      _|=    __|_      .'  ~}
  { ~  ~ '-._ (___________) _.-'~  ~  }
 {~  ~  ~   ~.'           '. ~    ~    }
{  ~   ~  ~ /   /\     /\   \   ~    ~  }
{   ~   ~  /    __     __    \ ~   ~    }
 {   ~  /\/  -<( o)   ( o)>-  \/\ ~   ~}
  { ~   ;(      \/ .-. \/      );   ~ }
   { ~ ~\_  ()  ^ (   ) ^  ()  _/ ~  }
    '-._~ \   (`-._'-'_.-')   / ~_.-'
        '--\   `'._'+'_.'`   /--'
            \     \`-'/     /
             `\    '-'    /'
               `\       /'
                 '-...-' 
''')

hp = 0
att = 0
defend = 0
monsterLevel = 0

job = input('''Select Your Job(a or b):
            A:Warrior
            B:Magic
            '''
           )
while (job != "a" and job != "A" and job != "b" and job != "B"):
    print("Input Error,Please input a or b")
    job = input('''Select Your Job:
            A:Warrior
            B:Magic
            ''')

level = int(input('Select Your Level:') )
monsterLevel = int(input('Select Enemy Level:') )             
             
if job == "a" or job == "A":
    hp = 800 + level * 59
    att = 100 + level * 10
    defend = 20 + level * 5


if job == "b" or job == "B":
    hp = 500 + level * 35
    att = 120 + level * 19
    defend = 15 + level * 3
        
print('You Level is 是{},Attack{},Hp{},Defence{}' .format(level, att, hp,defend))
print("=========== Fight began ==============")
bosshp = 10000 + monsterLevel*30
bossatt = 50 + monsterLevel * 8
bossdef = 50

while bosshp >= 0 and hp >= 0:
    hp = hp - bossatt
    print("\33[41mBoss\33[0m attack \33[42myou\33[0m!,HP - {},HP remain:{}".format(bossatt, hp))
    bosshp = bosshp - att;
    print("\33[42mYou\33[0m attack \33[41mBoss\33[0m,Hit {} ,remain HP:{}".format(att,bosshp))
    print("==================================")
    
    time.sleep(0.5)
    
    if hp <= 0:
        print("You lose ,Try again! (Maybe you should improve your level")
    if bosshp <= 0:
        print("You Win!And Got a sword!")
        print('''
           ,
          / \\
         {   }
         !   !
         ; : ;
         | : |
         | : |
         l ; l
         l ; l
         I ; I
         I ; I
         I ; I
         I ; I
         d | b 
         H | H
         H | H
         H I H
 ,;,     H I H     ,;,
;H@H;    ;_H_;,   ;H@H;
`\Y/d_,;|4H@HK|;,_b\Y/'
 '\;MMMMM$@@@$MMMMM;/'
   ~~~*; !8@8!; *~~~
         ;888;
         ;888;
         ;888;
         ;888;
         d8@8b
         O8@8O
         T808T
          `~` 
''')

粘贴程序

  • 如果 能够clone成功的话

    • 可以 跳过 本页的步骤
  • 没成功的话

    • 将复制代码
    • 粘贴到 系统右侧的 剪贴板

图片描述

  • vi game.py

    • 编辑 game.py

图片描述

具体粘贴

  • 本页也是没成功的同学做的

    • 在vim环境中
    • 依次按下"+
    • 底行状态栏 会有显示

      • 如 下图红框
    • 意味着 使用 系统剪贴板

图片描述

  • 按下p

    • 完成粘贴

图片描述

  • 我们一起来

    • 玩这个游戏
  • 具体怎么呢?

保存并运行

  • 输入

    • :w|!python3 %

图片描述

  • 保存 并 运行当前文件

玩游戏

  • 想办法 一把

图片描述

  • 会得到奖品

图片描述

  • 石中剑

源代码

  • vi game.py 可以看看 游戏源代码

    • 都写得 一清二楚

      • 可以 直接读

图片描述

  • ctrl + f

    • 向前 翻半页
  • ctrl + b

    • 向后 翻半页

图片描述

  • 两种职业 的 初始值和成长性

    • 一清二楚
  • 这个程序

    • 可以修改吗?🤔

尝试修改

  • 尝试 修改

    • 战士的 攻击力

图片描述

  • 游戏中 体验

    • 无需 氪金
    • 状态 拉满
    • 获得 数值自由后的 快乐
  • 感知

    • 数值 对于 游戏平衡性 的重要

总结

  • 这次

    • 运行了 game.py
    • 分析了 game.py
    • 也大致读懂了 game.py

图片描述

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值