MOSAD hw1

代码概况

  • 父类

    父类属性/方法 类型/返回类型 描述
    country String 国家
    blood_value NS整形 血量
    energy_value NS整形 法力值
    attack NS整形 攻击力
    name String 名字
    armed NS整形 是否装备武器
    flex NS整形 是否在闪避状态
    poison NS整形 是否中毒
    sheld NS整形 是否施加钝化
    grand NS整形 是否进入超然状态
    init(); instancetype 初始化英雄
    PKOneUnit(); void 己方回合
    get___(); - 返回对应值
    managrow(); void 自然恢复法力值
    poisioned(); void 中毒伤害清算
    change__(,); void buff、他伤清算
    weapon(); void 装备武器
    skill(); void 小技能
    ultimate(Hero*); void 终极技能

    每个英雄都固有这些属性.

  • 子类
    由于具体实现的代码较繁杂,这里只给出子类的多态体现。

英雄 weapon skill ultimate
吕布 attack+= 200; armed = 1 - 500 damge ; energy_value -= 80
张飞 - blood_value += 200; energy_value -= 20 blood_value -= 200; attack== 200;
诸葛亮 - flex = 1; energy_value -= 20; //only for one turn 400damage; blood_value += 200;
曹操 attack+= 200; armed = 1 - attack += 10;target.attack -= 10 ; energy_value -= 80
孙权 - attack += 5; blood_value += 200; energy_damge -= 20; target.poisoned = 1
赵云 attack+= 150; armed = 1 blood_value += 200 - grand = 1; poison = 0; energy_value -= 100;
司马懿 - sheld = 1; energy_value -= 20 600 damge ; energy_value -= 50
孙策 attack+= 100; armed = 1; blood_value += 300 - 400 damge ; energy_value -= 80; blood_value += 200;
陈宫 - energy_value - = 30; blood_value += 300; 600 damge ; energy_value -= 80; blood_value -= 300;
张辽 armed = 1; blood_value += 100; attack += 100 - attack *= 2; energy_value -= 90;

基于父类,每一个子类都有不同的weapon、skill、ultimate,这里体现了多态与继承。

战斗机制

  • 父类中包含一个PKOneUnit();
  • 所有子类继承父类Hero的PKOneUnit();
  • 在PKOneUnit()中,会对己方和敌方的当前状态进行结算,然后概率装备weapon以及发动skill和ultimate,其中skill、ultimate需要满足energy_value要求才可以发动。在PKOneUnit()执行完毕后,会得到一个双方的当前状态。在main函数中进行判断,若有一方先出现血量 <= 0 的情况, 则判定败北;另一种情况是回合数超过10,双方被判平手。
  • 关于数据隐秘性、封装性,则体现在各个属性保存在父类当中,若需调用则必须使用对应的get_();函数,外界无法直接取得。

结果截图

iOS 三国杀 Ver.LOG相关推荐

  1. ios程序 调试log宏的添加

    #ifdef DEBUG #  define LOG(...) NSLog(__VA_ARGS__) #  define LOG_CURRENT_METHOD NSLog(@"%@-%@&q ...

  2. iOS App查看Log:通过iTunes获取真机沙盒中文件

    1.Win电脑下载iTunes应用 2.打开iTunes应用,如下是默认页面 3.用数据线将ios手机与win电脑连接,转为如下页面 4.点击如下按钮 5.点击文件共享,选择测试的App,文档储存在右 ...

  3. iOS中 加强日志输出 开发技术总结

    对于那些做后端开发的工程师来说,看LOG解Bug应该是理所当然的事,但我接触到的移动应用开发的工程师里面,很多人并没有这个意识,查Bug时总是一遍一遍的试图重现,试图调试,特别是对一些不太容易重现的B ...

  4. Swift 优雅的打印Log

    iOS开发中Log打印是最为常见的调试方式,没有之一. Swift提供了两种打印方式 public func print(_ items: Any..., separator: String = de ...

  5. vue判断是Android还是ios手机

    appSource() {const u = navigator.userAgent, app = navigator.appVersion;//const isAndroid = u.indexOf ...

  6. JS 判断客户端是iOS还是Android

    通过浏览器的 navigator.userAgent 判断是Android还是IOS: 一.判断是Android还是iOS let u = navigator.userAgent; let isAnd ...

  7. 记一次移动端H5开发所遇到的问题与细节,以及ios兼容

    第一次弄移动端H5项目开发,虽然是简单的页面展示,但也遇到了很多细节问题与兼容问题,尤其是h5视频标签video, 一.移动端禁止缩放 兼容 <meta name="viewport& ...

  8. iOS攻防 - (十三)基本工具的使用OpenSSH, iFile, MTerminal和syslogd

    iOS攻防 - (十三)基本工具的使用OpenSSH, usbmuxd, iFile, MTerminal和syslogd 1. OpenSSH OpenSSH是一个远程安全登录的工具 在Cydia里 ...

  9. H5与原生安卓和ios交互

    单独的一个完整的交互方法 // **支付方法** function goToPay(query) {console.log(query);var data = {'type': pay_type_co ...

  10. 移动端踩坑记---------ios下输入法遮挡input

    移动端踩坑记---ios下输入法遮挡input   最近项目中遇到了一个比较严重移动端IOS下的Fixed兼容问题,网上也有很多人躺在这个问题上了,现在开始详细讨论一下这个问题.   现在我们先来看一 ...

最新文章

  1. Java创建多线程的三种方法
  2. 不是HR,Leader你会面试应聘者吗
  3. PyCharm-缩进 格式化代码
  4. 适当的Java堆大小的5个技巧
  5. 机器学习:样本集、验证集(开发集)、测试集
  6. 2.1、StopWatch 启动与停止(ok)
  7. 怎么隐藏php版本,Linux服务器中怎样隐藏PHP版本
  8. 墨卡托投影和高斯-克吕格 (Gauss-Krüger) 投影
  9. 莫斯密码加密与解密--python加密篇
  10. 《jdk8u源码分析》jvm.dll接口列表
  11. 前端html项目总结,前端实习项目总结一
  12. 浪曦大型企业门户综合项目的设计、实施与管理实地培训班隆重开班招生中……
  13. ad09只在一定范围内查找相似对象_AD09 常用快捷键
  14. HDU4730 We Love MOE Girls
  15. Xaml技术:浅析为什么说一个标签就是new一个对象?
  16. 华为数通笔记-PPP
  17. RAID 磁盘阵列与阵列卡
  18. matlab电机算法仿真,MATLAB电机仿真精华50例源代码
  19. 我们的秘密是绿色的!他喵的
  20. 三国演义java_三国演义之「策略模式」

热门文章

  1. ASCII码表字母大小写相差32的原因分析
  2. 亲自动手搭建微服务框架和测试环境-3-Redis
  3. 图计算论文笔记--SPARC: Self-Paced Network Representation for Few-Shot Rare Category Characterization
  4. AAAI-19录用论文
  5. 企业微信付款到零钱,全代码讲解,包含怎么加入商户证书
  6. 网站漏洞测试 关于webshell木马后门检测
  7. top n with ties
  8. 关于长江的题目_高中优秀议论文题目【高中关于长江的作文题目加优秀范文】...
  9. 试用蓝牙模块的一点经验整理(Part 3, 关于iBeacon功能 )
  10. 山东省第五届蓝桥杯 ///标题:史丰收速算//c/c++组