嘛.......上第一节java课后写的个作业,因为之后不打算从事java学习,就干脆把这个发出来吧
游戏中华晨大法师其实我并不是很了解,但是觉得需要这个角色就百度下了嘴硬的明星,结果有华晨我就写了他的设定
目录
代码的大致结构
核心的主要类game
import java.util.Random;
import java.util.Scanner;
public class game
{
public static void main (String[] args)
{
//通过Random类中的nextInt(int n)方法,生成1-3的随机数 1代表剪刀 2代表
//石头 3代表布
System.out.println("程序已启动");
System.out.println("剪刀 石头 布");
System.out.println("请选择您的角色");
System.out.println("1.尼古丁真 HP:7:丁真十分的纯真,导致他的生命值比其他人多三点");
System.out.println("2.芙蓉王源 HP:4:由于经常抽芙蓉王,赛过活神仙,攻击力比其他人高一点");
System.out.println("3.嘴硬华晨 HP:4:十分的嘴硬,导致他能在两局已输的时候说自己没输并反咬一口");
Scanner sc = new Scanner(System.in);
//Scanner paly = new Scanner(System.in);
character C=new character();
int player=sc.nextInt();
C.name=player;
{ //character p1=new character();
if(C.name==1)
{
C.HP=7;
}
//character p2=new character();
if(C.name==2)
{
C.attack=2;
}
//character p3=new character();
if(C.name==3)
{
C.cheat=2;
}
}
System.out.println("机器人默认为尼古丁真,别问为什么,问就是懒");
System.out.println("=========猜拳小游戏=========");
character R=new character();
R.HP=7;
int a=1;
for(;a==1;)
{
Random r=new Random();
int diannao=r.nextInt(3)+1;
Scanner s=new Scanner(System.in);
System.out.println("请输入1、2、3,1代表剪刀,2代表石头,3代表布");
int fangke=s.nextInt();
if(diannao==1&&fangke==1)
{System.out.println("电脑出的是剪刀,你出的是剪刀,平局");}
if(diannao==1&&fangke==2)
{
System.out.println("电脑出的是剪刀,你出的是石头,你赢了,电脑生命-1,"+"电脑当前生命为"+(R.HP-1));
R.HP--;
if(C.name==2)
{ R.HP--;System.out.println("王源兴奋了!电脑生命再次减1");}
if(C.HP<=0)
{ System.out.println("最后~~~电脑取得最终胜利,逊!");a=0;}
if(R.HP<=0)
{ System.out.println("最后~~~你取得最终胜利,勇!"); a=0;}
}
if(diannao==1&&fangke==3)
{
System.out.println("电脑出的是剪刀,你出的是布,电脑赢了,你的生命-1"+"你当前生命为"+(C.HP-1));
C.HP--;
if(C.cheat>0)
{C.cheat--;C.HP++;R.HP--;System.out.println("华晨发动嘴硬!免疫本次伤害,并使电脑生命再次减1");}
if(C.HP<=0)
{ System.out.println("最后~~~电脑取得最终胜利,逊!");a=0;}
if(R.HP<=0)
{ System.out.println("最后~~~你取得最终胜利,勇!"); a=0;}
}
if(diannao==2&&fangke==1)
{
System.out.println("电脑出的是石头,你出的是剪刀,电脑赢了,你的生命-1"+"你当前生命为"+(C.HP-1));
C.HP--;
if(C.cheat>0)
{C.cheat--;C.HP++;R.HP--;System.out.println("华晨发动嘴硬!免疫本次伤害,并使电脑生命再次减1");}
if(C.HP<=0)
{ System.out.println("最后~~~电脑取得最终胜利,逊!");a=0;}
if(R.HP<=0)
{ System.out.println("最后~~~你取得最终胜利,勇!"); a=0;}
}
if(diannao==2&&fangke==2)
{
System.out.println("电脑出的是石头,你出的是石头,平局");
}
if(diannao==2&&fangke==3)
{
System.out.println("电脑出的是石头,你出的是布,你赢了,电脑生命-1"+"电脑当前生命为"+(R.HP-1));
R.HP--;
if(C.name==2)
{ R.HP--;System.out.println("王源兴奋了!电脑生命再次减1");}
if(C.HP<=0)
{ System.out.println("最后~~~电脑取得最终胜利,逊!");a=0;}
if(R.HP<=0)
{ System.out.println("最后~~~你取得最终胜利,勇!"); a=0;}
}
if(diannao==3&&fangke==1)
{
System.out.println("电脑出的是布,你出的是剪刀,你赢了,电脑生命-1"+"电脑当前生命为"+(R.HP-1));
R.HP--;
if(C.name==2)
{ R.HP--;System.out.println("王源兴奋了!电脑生命再次减1");}
if(C.HP<=0)
{ System.out.println("最后~~~电脑取得最终胜利,逊!");a=0;}
if(R.HP<=0)
{ System.out.println("最后~~~你取得最终胜利,勇!"); a=0;}
}
if(diannao==3&&fangke==2)
{
System.out.println("电脑出的是布,你出的是石头,电脑赢了,你的生命-1"+"你当前生命为"+(C.HP-1));
C.HP--;
if(C.cheat>0)
{C.cheat--;C.HP++;R.HP--;System.out.println("华晨发动嘴硬!免疫本次伤害,并使电脑生命再次减1");}
if(C.HP<=0)
{ System.out.println("最后~~~电脑取得最终胜利,逊!");a=0;}
if(R.HP<=0)
{ System.out.println("最后~~~你取得最终胜利,勇!"); a=0;}
}
if(diannao==3&&fangke==3)
{
System.out.println("电脑出的是布,你出的是布,平局");
}
if(fangke!=1&&fangke!=2&&fangke!=3)
{
System.out.println("只能输入1、2、3");
}
}
}
}
与角色相关的属性类character
public class character
{
public static int name;
public static int attack=1;
int HP=4;
public static int cheat=0;
}
与选择相关的类choose
public class choose
{
public static void main(String[] args)
{
character p1=new character();
if(p1.name==1)
{
p1.HP=7;
}
character p2=new character();
// if(name==2)
{
p2.attack=2;
}
character p3=new character();
// if(name==3)
{
p3.cheat=2;
}
}
}
后记:这个游戏角色之间的强度设定的只能说还行吧,考虑了点平衡度,不会出现一个角色超级强的情况
这个代码的剪刀石头布胜利与否的判断还有多种方法,各位可以在我基础上优化很多,最后祝各位前程似锦~