用java类和对象写一个简单的回合制对战游戏
一、什么是对象,什么是类
类比现实生活,任何一个具体的事物都可以称为对象,比如某台电脑,某本书,某个人……而类就是根据对象相似的特征和功能进行分类,对象是具体的,类是抽象的。
二、类的基本格式
public class 类名 {
//定义属性
访问修饰符 数据类型 属性名;
//定义方法
访问修饰符 返回值数据类型 方法名(数据类型 参数名,...){
}
}
三、实例化对象和调用方法的基本格式
实例化对象:
类名 对象名 = new 构造方法名(参数值,...);
类名 对象名 = new 类名(参数值,...);
调用属性和方法的格式:
对象名.属性名
对象名.方法名(参数值,...)
四、构造方法
格式:
访问修饰符 构造方法名(数据类型 参数名,...){
}
用途:1.实例化对象;2.给属性设置初始值。(java默认提供一个无参的构造方法)
五、this关键字
当参数名和属性名一致时,Java会使用就近原则,优先使用离其最近的参数,把参数赋给参数和属性没有任何关系;
这种情况下就需要使用this来做区分,加上"this."的表示属性,没有加的则表示参数。
this(参数值,...);表示调用对应参数的构造方法
实例:共有三个角色进行对战,其中两人为挑战者,一人为boss,两位挑战者先决出胜负,胜者再与boss对战。
先写一个角色类。
public class Character {
//设置角色属性
public String name;
public int maxhp;
public int nowhp;
public int atk;
public boolean win;
//创建一个构造方法,用来实例化对象
public Character(String name,int maxhp,int atk){
this.name = name;
this.maxhp =maxhp;
this.atk = atk;
}
//角色的攻击方法
public void attack(Character one){
//当前血量>0才能攻击
if(nowhp>0){
one.nowhp -= atk;
System.out.println(name+"正在攻击"+one.name);
System.out.println(one.name+"的剩余血量为:"+one.nowhp);
}
if(one.nowhp<=0){
System.out.println(name+"击败了"+one.name);
win = true;//获得胜利
nowhp = maxhp;//恢复血量
}
}
//a倍伤害的攻击方法
public void attack(Character one,int a){
if(nowhp>0){
one.nowhp -= atk*a;
System.out.println(name+"正在攻击"+one.name);
System.out.println(one.name+"的剩余血量为:"+one.nowhp);
}
if(one.nowhp<=0){
System.out.println(name+"击败了"+one.name);
win = true;
nowhp = maxhp;
}
}
}
再写一个对战类
public class Battle {
public static void main(String args[]){
//实例化对象
Character Aoteman = new Character("kaiwen",800,15);
Character Xiaoguaishou = new Character("zhaohuan",500,20);
Character Boss = new Character("jiuxiao",404,99);
//初始化血量
Aoteman.nowhp = Aoteman.maxhp;
Xiaoguaishou.nowhp = Xiaoguaishou.maxhp;
Boss.nowhp = Boss.maxhp;
//两方互相攻击,直到一方血量<=0
while(Aoteman.nowhp>0 && Xiaoguaishou.nowhp>0){
Aoteman.attack(Xiaoguaishou);
Xiaoguaishou.attack(Aoteman);
}
//胜利者与boss对战
if(Aoteman.win){
while(Aoteman.nowhp>0 && Boss.nowhp>0){
Aoteman.attack(Boss);
Boss.attack(Aoteman,2);
}
}
if(Xiaoguaishou.win){
while(Xiaoguaishou.nowhp>0 && Boss.nowhp>0){
Xiaoguaishou.attack(Boss);
Boss.attack(Xiaoguaishou,2);
}
}
}
}
用java类和对象写一个简单的回合制对战游戏相关推荐
- 用Java写一个简单的回合制游戏
用Java写一个简单的回合制游戏 创建基本属性,血量,名字,技能,技能伤害. 如下: public class One3 {//创建三个属性private String name;private St ...
- 使用java创建一个简单的回合制的双人pk
创建一个简单的双人pk package com.hp.Demo1;import java.util.Random;/*** 玩家类* 属性:名字.类型.生命值.防御力.攻击类* 方法:自我介绍.Pk* ...
- 【Java程序员来写一个简单的HTML前端——映纷创意官网】
官网页面:INFINI | 映纷创意 (infinistudio.cn) 布局分析: 映纷创意.css *{margin: 0;padding: 0; } body{background-color: ...
- 用java写一个日历_使用JAVA写一个简单的日历
JAVA写一个简单的日历 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDa ...
- java编写日历思路_使用JAVA写一个简单的日历
JAVA写一个简单的日历import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDat ...
- 使用JAVA写一个简单的日历
JAVA写一个简单的日历 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDa ...
- Java语言写一个简单的学生信息管理系统,通过JDBC连接数据库对学生信息进行增删改查,采用三层思想和DBUtils第三方框架。
我把源代码和sql文件放GitHub上了,你们可以自行下载:https://github.com/fenglily1/student. 有问题可以留言或私信,我看到就会回. 进阶版加上页面的管理系统在 ...
- Java 百度AI 写一个简单的手势识别程序
教程地址:请关注我的https://edu.csdn.net/course/detail/23001 Java写一个简单的手势识别程序,这里采用百度是AI,视觉技术中的人体分析中的手势识别,识别图片中 ...
- 用java写一个简单的区块链(下)
用java写一个简单的区块链(下) 2018年03月29日 21:44:35 java派大星 阅读数:725 标签: 区块链java 更多 个人分类: 区块链 版权声明:本文为博主原创文章,转载请标明 ...
- 用java做一个简单记事本_用记事本写一个简单的java程序
用记事本写一个简单的java程序 第一步: 安装好jdk,并设置好环境变量. 桌面-计算机(右键)-属性-高级系统设置-环境变量-path-在变量值后加上:和jdk安装路径加上(路径即为C:\Prog ...
最新文章
- 查看tcp各个连接状态的数量
- 将mnist数据集存储到本地文件
- jquery实现加载更多效果
- Windows栈溢出原理
- IBM-JAVA面试题
- Using dbms_shared_pool.purge to remove a single task from the library cache
- java学习(39):九九乘法表
- maven 无效的源发行版11
- git常用操作,切换分支,合并分支
- haproxy开启日志功能
- SQL查询一张表插入到另一张表
- es6模板字符串里用html标签,为ES6模板字符串计算标签函数
- 用PS把人物皮肤处理的质感又通透
- IdentityServer4 (IDS4) 快速入门
- 伟景行Citymaker三维Gis加载FDB数据
- SharpDevelop的AddInTree View 插件
- jzoj9382泡泡龙
- C# 流不可读 解决办法
- matlab subs什么意思,什么是matlab subs函数?
- 发一台数字控制稳压电源试试 测试IC等小功率低波纹高精度专用