Skip to content

Latest commit

 

History

History
553 lines (392 loc) · 12.9 KB

007-568115-勇闯地下城_git_clone_下载代码.sy.md

File metadata and controls

553 lines (392 loc) · 12.9 KB
show version enable_checker
step
1.0
true

继续运行 🥊

回忆上次内容

  • 上次从 1行代码 进化到了 2行代码

    • yy 复制光标行代码 到剪贴板
    • p 粘贴剪贴板中的内容
    • 9999p 将剪贴板中的代码粘贴9999次
  • 保存运行一条龙

    • :w|!python3 %
  • 真的实现了万行代码梦

    • 是真·圆梦
    • 没撒谎的 那种
  • 甚至可以看到 截图证据

    • 发个状态证明 这一切都不是梦...😴
  • 圆梦之后

    • 人多少有点空虚
  • 可以看看

    • 别人的程序
    • 是怎么写的么?🤔

github

  • 就要去 传说中的github

    • 可以新开一个网页
      • 打开火狐浏览器
        • 访问 https://github.com
    • 如果不能打开的话 就多试几次
  • 不成功的话

    • 试试将https 换成 http
      • 访问 http://github.com
  • 需要 多试几次

  • 如果还不行的话

先找ip再访问

图片描述

  • 浏览器 里面
    • 选择 接受风险并继续

github

图片描述

  • github 说自己是
    • 世界 制作软件的地方

开源软件

  • 这里确实 有很多代码仓库
    • linux
    • python
    • vim
    • blender

图片描述

  • 各种开源仓库 都在这里
    • 用社交的方式 开发和迭代
  • 值得 注册(signup)和深度使用
    • 注意 蓝桥云中 不能访问邮箱
    • 需要 在本地 得到邮箱验证码
  • 那 oeasy的python教程 的代码 在哪呢?

搜索

  • 搜索oeasy python

图片描述

仓库细节

  • 仓库上方
    • 有三个基本按钮

图片描述

  • star 点赞
    • 为项目点赞
      • 支持这个项目
    • 期待着您 点个⭐️
  • 这样也便于
    • 再次找到

图片描述

  • 另外 两个按钮
    • 干什么 用呢?🤔

fork 复刻项目

  • 把 当前这个项目
    • 复制到 自己的项目库 中
    • 这样 更容易找到

图片描述

  • fork本意 是 叉子
    • 这里指的是分岔、分支

新分支

  • 在 当前项目基础上
    • 可以修改出 自己的分支项目

图片描述

  • 这是 github生命力 的 源泉
    • 各种项目 不断遗传变异

pull-request

  • 新分支 还可以 反哺(pull-request)
    • 源项目

图片描述

  • 在原来的基础上 做出 各种新特性
    • 共同 让软件 不断进化

图片描述

  • watch按钮 表示什么 呢?

watch

  • watch 观察
    • 就是 你对这个项目 有疯狂的兴趣
    • 这个项目的一举一动 你要接到通知

图片描述

  • 可以选择 通知级别

    • Participating and @mentions
      • 相关的 或者 被@到了 才通知
    • All Activity
      • 所有都 通知
    • Ignore
      • 拒绝 一切通知
    • Custom
      • 定制 通知类型
  • 这个项目 具体怎么 下载呢?

下载项目

  • 点击那个 复制按钮

图片描述

  • 链接 就被复制到了剪贴板
git clone https://github.com/overmind1980/oeasy-python-tutorial.git
  • 也可以直接复制上面这句
    • 进入蓝桥网页系统的剪贴板

粘贴

  • 打开 终端
    • 点击鼠标右键 调出菜单

图片描述

  • 再点击
    • 菜单的Paste命令

图片描述

  • 回车运行命令
    • 进行 下载

回车运行

  • 如果 不能下载
    • 可以ctrl+c取消

图片描述

  • 尝试 把https变成http
    • 反复 多试几次

进入目录

  • 首先看看
    • 我们clone了什么?

图片描述

  • ls命令

    • 可以列出(list)当前文件夹下的内容
  • 红框中的 就是我们下载的仓库

    • oeasy-python-tutorial
      • 游戏 就在仓库里
  • 游戏 具体在仓库什么位置呢?

进入游戏目录

  • 游戏文件game.py
    • 在如下这个位置

图片描述

  • 如何在终端环境进入

    • 上图这个目录呢?
  • ls命令

    • 可以列出(list)当前文件夹下的内容
  • cd 命令

    • 可以改变(change)当前目录(directory)

图片描述

  • 键入cd o之后
    • 键入tab

图片描述

  • 会自动补全目录的名称
  • 回车之后进入目录

继续进入目录

  • pwd命令可以得到
    • present working directory
    • 当前工作目录

图片描述

  • 再进入samples目录下的
    • 000005目录下
      • 找到game.py

图片描述

  • game.py就是我们要找的游戏
  • 如果git clone 根本无法下载呢?

直接复制代码

# @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

图片描述

具体粘贴

  • 依次按下"*
    • 左下角状态栏 会有显示
      • 如下图红框
    • 意味着 使用系统剪贴板

图片描述

  • 按下p
    • 完成粘贴

图片描述

  • 我们一起来
    • 玩这个游戏
  • 怎么这个游戏呢?

保存并运行

图片描述

  • 输入
    • :w|!python3 %

玩游戏

图片描述

  • 想办法 一把
    • 会得到奖品
      • 屠龙刀

图片描述

源代码

  • vi game.py 可以看看 游戏源代码
    • 都写得 一清二楚
      • 可以 直接读

图片描述

  • 两种职业 的 初始值和成长性
    • 一清二楚
  • 这个程序
    • 可以修改么?🤔

修改屠龙刀

  • 找到 奖品屠龙刀的位置

图片描述

  • 加点什么好呢?

添加爱心

  • 可以 把这个 选中并复制
    • 再粘贴到 虚拟机的剪贴板

图片描述

  • 然后回到游戏程序

修改代码

  • 按方向键
    • 找到 刀柄的位置
  • i进入 插入状态
    • 注意 左下角显示的当前状态
  • 先退格删掉一个8
    • 再右键 粘贴 爱心

图片描述

  • 如果 不能正确粘贴
    • 尝试 下载安装 最新版的火狐浏览器

图片描述

  • 真的 会有爱心吗❤️?🤔️

实验结果

  • esc

    • 从 插入状态
      • 退回 到正常状态
  • :w|!python3 %

    • 保存 并运行当前程序
    • 看看 最终奖励品是否变了
  • 尝试 一下

    • 真的 可以 得到有爱心的屠龙刀 了

图片描述

  • 这就是 爱心屠龙刀
  • 可以把所有的8都变成❤么?

批量替换

  • 输入:99,107s/8/❤/g
    • : 进入底行命令模式
    • 99,107 行的范围内
    • s 替换 substitute
    • 8 被替换模式
    • ❤ 替换为的模式
    • g 全局替换(行内不止一次替换)

图片描述

  • 回车后

图片描述

  • 替换 结果

图片描述

  • 尝试运行

爱之屠龙刀

  • 真的得到了爱之屠龙刀

图片描述

  • 可以 把心变个颜色么?

红色爱之宝石

  • 把这颗心 变成红色

图片描述

  • 照着这个代码抄 就可以
  • 以后会 都说明白
  • 这里先看看 效果

图片描述

  • 得到了 红色爱心屠龙刀
  • 这是真的啊~~~
  • 拍照 留念!!!
  • 可以试试
    • 把love铭刻到屠龙刀上
  • 先总结一下 吧

总结

  • 上次 写了万行代码
    • 万行代码
      • 都是写在明面上的
  • 这次下载了一个游戏程序
    • game.py文件
    • 能看个 明明白白
    • 修改或者运行程序 都很方便
      • 就像 我们修改屠龙刀一样
  • 这程序源代码 全都这么公开出来
    • 大家 随意修改
    • 好么?
    • 编写程序的人 怎么挣钱 呢?🤔

图片描述

  • 我们下次再说!👋