标题Java小白学习之制作一个猫狗大战小游戏
代码:还有一些内容需要一写改进,输出效果不太好,后期有时间改进
package com.shujua.PK.cat_vs_dog;
/*
制作猫狗大战的小游戏
方法:
1.创建一个角色类。角色包括cat与dog,类的属性有生命值,攻击力,防御力,速度,其值随机生成
生成随机数的范围:生命值(50-100),攻击力(30-50),防御力(20-30)速度(0-100)
2,开始战斗,每个回合,猫攻击狗一次,狗攻击猫一次,造成的伤害计算公式为 (自身攻击力-对面防御力),然后对面损失响应生命值
战斗不能超过最大回合,一旦超过,则生命值高的获得胜利,设置最大回合数为5
速度快的先攻击,慢的后攻击
*/
import java.util.Random;
//创建角色类,用来保存猫与狗的属性与状态
class role{
//定义生命值
int Health;
//定义攻击力
int aggressivity;
//定义防御力
int defense;
//定义速度
int speed;
//显示角色状态
public void state(){
System.out.println("生命值: "+Health);
System.out.println("攻击力: "+aggressivity);
System.out.println("防御力: "+defense);
System.out.println("速度: "+speed);
}
}
public class game {
public static void main(String[] args) {
role cat = new role();
role dog = new role();
//产生一个0-100的随机数
Random ran = new Random();
cat.Health = ran.nextInt(50)+50;//猫的生命值
cat.aggressivity = ran.nextInt(20)+30;//猫的攻击力
cat.defense = ran.nextInt(10)+20;//猫的防御力
cat.speed = ran.nextInt(100);//猫的速度
dog.Health = ran.nextInt(50)+50;
dog.aggressivity = ran.nextInt(20)+30;
dog.defense = ran.nextInt(10)+20;
dog.speed = ran.nextInt(100);
//游戏开始时展示猫与狗的状态
System.out.println("猫的状态");
cat.state();
System.out.println("狗的状态");
dog.state();
//猫狗开始对决
//设置循环,最大回合数不能超过5回合
//猫先手
if(cat.speed>dog.speed){
for(int i=1; i<6 ;i++) {
dog.Health = dog.Health - cat.aggressivity + dog.defense;
if (dog.Health <= 0) {
System.out.println("游戏结束,猫胜利");
System.out.println("猫的生命值:" + cat.Health);
System.out.println("狗的生命值:" + dog.Health);
break;
}
else {
cat.Health = cat.Health - dog.aggressivity + cat.defense;
if (cat.Health <= 0) {
System.out.println("游戏结束,狗胜利");
System.out.println("猫的生命值:" + cat.Health);
System.out.println("狗的生命值:" + dog.Health);
break;
} else {
System.out.println("第" + i + "回合结束");
System.out.println("猫的生命值:" + cat.Health);
System.out.println("狗的生命值:" + dog.Health);
}
}
//如果超过了最大回合数
if(i==5){
if(cat.Health>dog.Health){
System.out.println("游戏结束,猫胜利");
}
else{
System.out.println("游戏结束,狗胜利");
}
}
}
}
//狗先手
else{
for(int i=1; i<6 ;i++) {
cat.Health = cat.Health - dog.aggressivity + cat.defense;
if (cat.Health <= 0) {
System.out.println("游戏结束,狗胜利");
System.out.println("猫的生命值:" + cat.Health);
System.out.println("狗的生命值:" + dog.Health);
break;
}
else {
dog.Health = dog.Health - cat.aggressivity + dog.defense;
if (dog.Health <= 0) {
System.out.println("游戏结束,猫胜利");
System.out.println("猫的生命值:" + cat.Health);
System.out.println("狗的生命值:" + dog.Health);
break;
} else {
System.out.println("第" + i + "回合结束");
System.out.println("猫的生命值:" + cat.Health);
System.out.println("狗的生命值:" + dog.Health);
}
}
//如果超过了最大回合数
if(i==5){
if(cat.Health>dog.Health){
System.out.println("游戏结束,猫胜利");
}
else{
System.out.println("游戏结束,狗胜利");
}
}
}
}
}
结果显示: