Object C实现三国英雄对战

Object C实现三国英雄对战

  • 实验要求
  • 游戏介绍
    • 英雄机制
    • 对战机制
  • 英雄介绍
    • 蜀国英雄
    • 吴国英雄
    • 魏国英雄
    • 群雄
  • 代码实现
    • 数据隐秘性
    • 封装
    • 继承
    • 多态
  • 实验结果
  • 游戏源码`

实验要求

  • 输出随机选择的英雄及其关键属性,输出单挑中每回合的过程、结果,以及最终胜负结果
  • 输出程序设计和运行过程中,相关设计体现的oo特性(数据隐秘性、封装性、继承、多态)

游戏介绍

英雄机制

每个英雄有生命值、能量值、攻击力、防御力和两个技能。

  • 普通攻击的伤害为 攻击力-防御力,当被攻击方的防御力大于攻击方的攻击力时,伤害为0
  • 两个技能中一个为次要技能,一个为主要技能;次要技能在能量不够时也有机率发动,但此时不会产生效果,而是会增加能量值;主动技能必须能量值足够时才能发动;技能的伤害机制与普通攻击不同,不同的技能伤害机制不同
  • 普通攻击有几率被闪避,但技能不能被闪避
  • 能量值在使用技能时被消耗,在英雄攻击、被攻击、使用技能、被技能攻击以及闪避时都会增加能量

对战机制

对战开始时会随机选择地点(辽东、巴蜀、江陵)和天气(晴空万里、大雨磅礴),如果英雄在自己国家内战斗那么他就占据地理优势,防御力会提升,相反防御力会降低;晴空万里会增加英雄攻击力,而大雨磅礴会降低对面英雄的攻击力;如果一个英雄在本国内,那么他防御力提升,对面英雄防御力不会下降,另一个英雄不在自己国家内,那么天气将会对他有利(晴空万里:自身攻击力提升 大雨磅礴:对面攻击力降低);如果两个英雄都不在自己国家内,那么防御力都会下降,根据天气两个英雄的攻击力同时上升或者下降。(注意:当两个英雄都不在自己的国家内时,如果有群雄类别的英雄,那么群雄英雄将视为在自己的国家内)
英雄对战采用回合制,每个回合英雄只能选择一种行为(普通攻击或者技能),如果十回合内有一方英雄生命值降为零一下,那么另一方英雄获胜;如果超过十回合双方都没有死亡,那么生命值多的一方获胜,生命值一样则为平局。

英雄介绍

蜀国英雄

张飞
生命值:15
能量值:3
能量上限:10
攻击力:5
防御力:5
次要技能:怒虎狂啸,提高自身的攻击力,能量消耗 4
主要技能:蛇影狂击,伤害技能,能量消耗 8

诸葛亮
生命值:14
能量值:5
能量上限:12
攻击力:4
防御力:7
次要技能:太极八阵,化解敌方下一次普通攻击,能量消耗 4
主要技能:谋策之刻,伤害技能,能量消耗 8

关羽
生命值:16
能量值:2
能量上限:12
攻击力:5
防御力:5
次要技能:罗刹之武,降低敌方的防御力,能量消耗 5
主要技能:春秋八法,伤害技能,能量消耗 8

吴国英雄

孙权
生命值:17
能量值:5
能量上限:12
攻击力:5
防御力:4
次要技能:帝气东临,降低敌方的攻击力和防御力,能量消耗 5
主要技能:业火净祭,伤害技能,能量消耗 8

黄盖
生命值:14
能量值:4
能量上限:12
攻击力:6
防御力:4
次要技能:地神魔铠,提高自身防御力,能量消耗 8
主要技能:荆棘之形,反弹敌方下回合的普通攻击,能量消耗 5

大乔
生命值:14
能量值:4
能量上限:12
攻击力:6
防御力:5
次要技能:幻舞迷魂,敌人下回合将无法攻击,能量消耗 6
主要技能:落雷天陨,伤害技能,能量消耗 7

魏国英雄

蔡文姬
生命值:15
能量值:2
能量上限:12
攻击力:6
防御力:5
次要技能:思无邪,回复自身部分生命值,能量消耗 3
主要技能:胡笳十八拍,伤害技能,能量消耗 8

夏侯惇
生命值:16
能量值:4
能量上限:12
攻击力:3
防御力:8
次要技能:噬血魔瞳,提高自身攻击力降低自身防御力,能量消耗 3
主要技能:不羁之刃,伤害技能,能量消耗 8

司马懿
生命值:15
能量值:4
能量上限:15
攻击力:5
防御力:5
次要技能:荒芜鬼域,将敌方部分生命值转化为能量值,能量消耗 8
主要技能:魑魅幻纱,伤害技能,能量消耗 5

群雄

吕布
生命值:10
能量值:0
能量上限:15
攻击力:5
防御力:5
次要技能:魔神降临,提高自身攻击力和防御力,能量消耗 8
主要技能:无双鬼雄,伤害技能,能量消耗 2

代码实现

一个Hero父类,其余英雄为Hero的子类
在这里插入图片描述
在这里插入图片描述

数据隐秘性

每个英雄的内部成员变量对于其他英雄是隐秘的,不可见的,体现了数据隐秘性

封装

外部方法可以通过get和set方法来获取和修改每个英雄内部的成员变量,体现了封装

继承

PKOneUnit方法在Hero父类中实现,每个英雄不用重写,直接继承该方法,体现了继承

多态

init方法、skill1方法和skill2方法在父类声明,但是没有具体实现,而是在每个英雄子类中实现,不同英雄的这三个方法不同,体现了多态

实验结果

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

游戏源码`

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1380918.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

DTF:预测抗癌药物协同作用的深度张量分解

DTF: Deep Tensor Factorization for predicting anticancer drug synergy 摘要1 介绍2 材料与方法2.1 数据采集和预处理2.2 DTF:深张量因式分解2.2.1 符号2.2.2 张量分解算法2.2.3 CP-WOPT2.2.4 深度神经网络2.2.5 特征工程2.2.6 模型构建 2.3 模型与比较评价CP-WOPT基准分类器…

元宇宙需要“基建狂魔”

当互联网行业从先进生产力的象征,逐渐成为带有原罪的资本力量时,元宇宙作为这个行业的元叙事,变成了万能药,能解一切忧愁。 荔枝说自己是“声音元宇宙”,Soul 说自己是“年轻人社交元宇宙”,Facebook 现在…

牛逼|珍藏多年的工具让我实现了带薪摸鱼自由

文 | 豆豆 来源:Python 技术「ID: pythonall」 资本是噬血的,因此打工人最有效的抵抗资本的方法就是上班划水,带薪摸鱼,但前提是你要先搞完自己手上的工作才行,今天就给大家推荐几款我常用的在线工具,每一款…

岂有此理? 珍藏多年的工具让我实现了带薪摸鱼自由

资本是噬血的,因此打工人最有效的抵抗资本的方法就是上班划水,带薪摸鱼,但前提是你要先搞完自己手上的工作才行,今天就给大家推荐几款我常用的在线工具,每一款都能让你提高不少工作效率。 drawio (https://jq.qq.com/…

基于ipad协议的gewe框架进行微信群组管理(二)

友情链接 geweapi.com 点击访问即可。 获取群组详情 小提示: 该接口可以一次查询20个群组查询出来的信息是不带公告的 请求URL: http://域名地址/api/group/detail 请求方式: POST 请求头: Content-Type:applica…

如何打开计算机控制界面,如何打开控制面板 【使用途径】

大家都知道电脑使用起来非常方便,但遇见如何打开控制面板 的时候就非常头疼了,如果你是第一次遇到如何打开控制面板 ,怎么样才能快速解决如何打开控制面板 带来的烦恼呢?小编为大家收集了很多关于如何打开控制面板 问题的解决方法,下面请看具体的解决方法步骤: 电脑的控制…

【JAVA基础】- BIO介绍及其使用

【JAVA基础】- BIO介绍及其使用 文章目录 【JAVA基础】- BIO介绍及其使用一、BIO概述二、BIO工作机制客户端服务端 三、同步阻塞步骤四、编码实现传统BIO服务端代码客户端代码总结 五、BIO编程现实多发多收服务端代码客户端代码 六、BIO模拟客户端服务端多对一实现步骤服务端实…

39、传输层的任务和协议

从本节内容开始,我们学习TCP/IP模型的传输层的知识。传输层是TCP/IP模型中的重要组成部分,如果没有传输层的处理,那么源主机发送的IP数据包到达目的主机之后,目的主机将不知道这个数据是哪个应用程序的数据,就不能很好…

央行、外管局、银行业协会牵头银行区块链联盟,三驾马车齐攻国际金融市场...

文丨互链脉搏黑珍珠号 未经授权,不得转载! 11月20日,恒生电子股份有限公司官方消息,恒生电子区块链运营总监任珊日前表示,由中国银行业协会牵头,11家头部银行以及4家科技公司共同参与的“中国贸易金融跨行交易区块链平…

CDA数据分析师高级师资研修班在重庆仙桃大数据学院顺利开班

7月22日,由CDA数据分析(成都)研究院、重庆仙桃大数据学院联合筹备及招生的“CDA数据分析师高级师资研修班”在重庆仙桃大数据学院顺利开班。 本次培训由CDA数据分析(成都)研究院副院长、中科院博士、电子科技大学博士后卢宇老师主讲。分别从大数据系统架构、数据的导…

阿里巴巴区签约重庆,这些合作亮点你不得不知!

(原文标题:刚刚,阿里巴巴区域中心落地!马云来重庆要干这些大事情!) 马云携团队来重庆了,背后隐藏着大信息!显然是要干大事情! 就在刚刚,重庆市政府与阿里巴巴…

首批49个国家绿色数据中心名单公布

导读 工业和信息化部、国家机关事务管理局、国家能源局等三部门日前联合公告第一批国家绿色数据中心名单,世纪互联M6数据中心等49个数据中心榜上有名。 工 业 和 信 息 化 部 国 家 机 关 事 务 管 理 局 国  家  能  源  局 公  告 2018年…

【案例】重庆市金融工作办公室:大数据监测预警非法集资平台

近年来,随着国家对金融市场管控政策的不断调整以及互联网金融的快速发展,非法集资的犯罪手段和形势发生了很大变化。仅在2016年,全国检察机关公诉部门受理非法集资案件9500余件 作者 | 金信网银 官网 | www.datayuan.cn 微信公众号ID | datayuancn 本篇案…

1028万!重庆统计局招标大数据平台,开建统计数据中台

2022年9月15日,重庆市统计大数据平台(CQS22C01140)发布中标(成交)结果公告,如下: 项目编号 CQS22C01140 项目名称 重庆市统计大数据平台 服务范围 大数据已成为新型生产要素和国家基础性战略资源,积极发挥政…

税局端服务器未响应是什么意思,DNS服务器未响应是什么意思

DNS服务器未响应是指DNS服务器没有和你连接上,即不能从DNS服务器上获取数据。DNS服务的是安装了DNS服务器端软件的计算机,服务器端软件既可以是基于类linux操作系统,也可以是基于Windows操作系统的。 本教程操作环境:windows7系统…

读《Flask Web开发实战》(狼书)笔记 | 第1、2章

前言 2023-8-11 以前对网站开发萌生了想法,又有些急于求成,在B站照着视频敲了一个基于flask的博客系统。但对于程序的代码难免有些囫囵吞枣,存在许多模糊或不太理解的地方,只会照葫芦画瓢。 而当自己想开发一个什么网站的时&…

Android 高手进阶教程(二)之----Android 数据库SQLiteDatabase的使用!!

直接进入主题~ Android 提供了三种数据存储方式,第一种是文件存储;第二种是SharedPreferences 存储;第三种就是数据库SQLiteDatabase 存储。 文件存储我就不用多说了,而SharedPreferences 可以存取简单的数据(int,double,float.etc),它经常…

SQL-每日一题【1484. 按日期分组销售产品】

题目 表 Activities: 编写解决方案找出每个日期、销售的不同产品的数量及其名称。 每个日期的销售产品名称应按词典序排列。 返回按 sell_date 排序的结果表。 结果表结果格式如下例所示。 示例 1: 解题思路 前置知识 group_concat函数的功能   将group by产生的…

傅盛:猎豹移动在三个领域取得进步 手游业务受政策影响不大

雷帝网 乐天 11月22日报道 猎豹移动(NYSE:CMCM)昨日发布截至2018年9月30日的第三季度财报,财报显示,猎豹移动Q3总收入13.52亿元,同比增长16%,环比增长23%,超过公司业绩指引上线。 猎豹移动手游业…

傅盛:猎豹持有猎户星空约34%股权 未来或获控股权

雷帝网 乐天 8月21日报道 猎豹移动董事长、CEO傅盛昨日在电话会议上表示,猎豹移动更加重视国内市场。过去,猎豹的海外工具及国内工具由不同团队运营。现在,由统一的团队运营管理。 “我们还将猎豹在海外验证的模式复制到国内。”傅盛说&#…