游戏规则:
1.由玩家选择技能与电脑进行对决,通过随机变量判断是由玩家先出手还是电脑
2.双方初始都有20点蓝量来释放技能,还有100点血量,当某一方血量为0时结束游戏
3.玩家或电脑释放技能时需要消耗相应的蓝量,如果蓝量不足会默认释放普通攻击
4.当电脑或玩家释放普通攻击时,每次回复2点蓝量
心得:
使用到了静态变量,在类头定义了血量和蓝量为静态变量,这样子每一次释放技能的时候就不会再重新计算血量和蓝量。这一次只是做了一个非常简单的一个小游戏,可以在现在的基础上加上人人对战,只需要开头再判断一下是选择人人对战还是人机对战就可以了,再加上一个新的user方法就可以实现人人对战。还可以加入一些新的元素,比如:护盾、装备、技能眩晕、暴击等等。还可以加入一个商城系统,使玩家探险时可以更好的装备自己,变得更强。希望我也可以变得更强去实现我的每一个想法!!
package test.test1;
import java.util.Random;
import java.util.Scanner;
public class test9{
private static int count=20;
private static int number=20;
private static int user=100;
private static int computer=100;
public static void main(String []args) {
System.out.println("开始游戏,您的角色是春丽");
Random r=new Random();
int start=r.nextInt(2);
if (start==1){
System.out.println("本次游戏由您先发起攻击");
while (user>0 &&computer>0) {
int userattack = chunli();
computer = computer - userattack;
System.out.println("电脑的血量剩余为:" + computer);
if (computer <=0) {
System.out.println("恭喜您击败了流言蜚语,您一定会成功的做到你想做的事情!!!");
break;
}
int computerattack = computer();
user = user - computerattack;
if (user <= 0) {
System.out.println("一小次的失败只是偶然的,请再接再厉吧,您一定会闪闪发光的!!!!");
break;
}
System.out.println("您的血量剩余为:" + user);
}}else if (start==0){
System.out.println("本次游戏由电脑先发起攻击");
while (user>0 &&computer>0) {
int computerattack = computer();
user = user - computerattack;
if (user <= 0) {
System.out.println("一小次的失败只是偶然的,请再接再厉吧,您一定会闪闪发光的!!!!");
break;
}
System.out.println("您的血量剩余为:" + user);
int userattack = chunli();
computer = computer - userattack;
System.out.println("电脑的血量剩余为:" + computer);
if (computer <= 0) {
System.out.println("恭喜您击败了流言蜚语,您一定会成功的做到你想做的事情!!!");
break;
}
}
}
}
public static int chunli() {
int attack = 0;
System.out.println("您的蓝量剩余为"+count+",请选择您的技能");
System.out.println("1.普通攻击(0) 2.莫欺少年穷(2) 3.天生我材必有用(2) 4.我命由我不由天(4)");
Scanner sc =new Scanner(System.in);
Random r=new Random();
int usernumber =sc.nextInt();
if(usernumber==1) {
attack=1;
System.out.println("您使出了普通攻击,对敌方造成了"+attack*3+"点伤害!");
count=count+2;
} else if (usernumber==2&&count>=2) {
count=count-2;
attack=r.nextInt(3)+2;
System.out.println("您使出了莫欺少年穷,对敌方造成了"+attack*3+"点伤害!");
} else if(usernumber==3&&count>=2) {
count=count-2;
attack=r.nextInt(3)+2;
System.out.println("您使出了天生我材必有用,对敌方造成了"+attack*3+"点伤害!");
}
else if (usernumber==4&&count>=4) {
count=count-4;
attack=r.nextInt(4)+3;
System.out.println("您使出了终极大招--我命由我不由天!对敌方造成了"+attack*3+"点伤害!");
}
else if (count<2&&usernumber>1||count<4&&usernumber==4){
System.out.println("您的蓝量不足,系统默认使出普通攻击");
attack=1;
count=count+2;
}
return attack*3;
}
public static int computer(){
int attack=0;
Random r=new Random();
int num=r.nextInt(4)+1;
if (num==1){
attack=1;
System.out.println("电脑使出了普通攻击,对您造成了"+attack*3+"点伤害");
number=number+2;
}
else if (num==2&&number>2){
attack=r.nextInt(3)+2;
System.out.println("电脑使出了你真丑,对您造成了"+attack*3+"点伤害");
number=number-2;
}
else if (num==3&&number>3){
attack=r.nextInt(3)+2;
System.out.println("电脑使出了你什么都做不好,对您造成了"+attack*3+"点伤害");
number=number-3;
}
else if (num==4&&number>4){
attack=r.nextInt(4)+3;
System.out.println("电脑使出了终极大招--再努力也成功不了!对您造成了"+attack*3+"点伤害");
number=number-4;
}
else if (num>1&&number<2||num==4&&number<4){
attack=1;
System.out.println("电脑使出了普通攻击,对您造成了"+attack*3+"点伤害");
number=number+2;
}
System.out.println("电脑剩余蓝量为:"+number);
return attack*3;
}
}
