⽤java写猜拳⼩游戏
题⽬:⽤⾯向对象编程的思想,设计⼀个猜拳游戏,完成⼈机猜拳互动游戏的开发。
题⽬要求:
1)选取对战⾓⾊
2)猜拳
3)记录分数
基本思想:
1)创建⼀个Npc1类,类中有设定⼈物的编号属性,⼈物属性,分数属性。
2)创建⼀个Player1类,类中有玩家⼈名属性,玩家分数属性,
3)创建⼀个content⽅法,输⼊相应的拳的序号,返回相应的拳;
4)创建⼀个checked⽅法,将电脑随机产⽣的序号和我们从键盘呢输⼊的序号作⽐较,判断输赢,返回结果;
5)调⽤checked⽅法,将返回值在switch⾥⾯分别作⽐较,输出相应的结果;
各部分主要代码:
Npc1类代码:
class Npc1{
int number;//Npc1的编号
String name;//Npc1的名字
int score;//记录Npc1的分数
public Npc1(){
}
public int getNumber(){
return number;//调⽤此⽅法获取Npc编号
}
public void setNumber(int number){
this.number = number;//给Npc设置编号
}
public String getName(){
return name;//调⽤此⽅法获取选⼿选择电脑的随机⼈物名
}
public void setName(String name){
this.name = name;//给Npc名字赋值
}
public int getScore(){
return score;//调⽤此⽅法获取⽬前得分
}
public void addScore(){
this.score++;//调⽤此⽅法,电脑分数加1
}
public int ran(){//调⽤此⽅法可以获取电脑随机出的什么拳
Random random=new Random();
int number=(Int(3)+1);//随机产⽣(1、2、3)三个数字
return number;//返回随机产⽣的数字
}
}
Player1类:
class Player1{
String name;//选⼿的名字
int score;//选⼿的分数
public Player1(){//⽆参构造⽅法
}
public Player1(String name,int score){//这是有参构造⽅法
this.name=name;
this.score=score;
}
public String getName(){
return name;//调⽤此⽅法获取选⼿的名字
}
public void setName(String name){
this.name = name;//调⽤此⽅法给选⼿名字赋值
}
public int getScore(){
return score;//调⽤此⽅法获取选⼿⽬前得分
}
public void addScore(){
this.score++;//调⽤此⽅法,选⼿分数就加1
}
public int guess(){//调⽤此⽅法可以获取选⼿要出什么拳
Scanner scanner=new Scanner(System.in);
int Int();//选⼿从键盘获取要出的拳的对应的数字return number;//返回从键盘输⼊的数字
}
}
content⽅法:
public static String content(int num){
switch(num){
case1:return"剪⼑";
case2:return"⽯头";
case3:return"布";
}
return null;
}
checked⽅法:
//规定0表⽰平局 1表⽰npc赢了  2表⽰玩家赢了
public static int checked(int random,int guess){
switch(random){
case1:
switch(guess){
case1:return0;
case2:return2;
case3:return1;
}
case2:
switch(guess){
case1:return1;
case2:return0;
case3:return2;
}
case3:
switch(guess){
case1:return2;
case2:return1;
case3:return0;
}
}
return-1;
}
全部代码:
package;
import Random;
import Scanner;
//猜拳⼩游戏
public class Demo01{
public static void main(String[] args){
System.out.println("*************************************");
System.out.println("**************猜拳,开始***************");
System.out.println("*************************************");
System.out.println("出拳规则:1、剪⼑ 2、⽯头 3、布");
System.out.println("请选择对⽅⾓⾊:(1、孙膑 2、孙权 3、孙尚⾹)");
Npc1 npc1=new Npc1();//实例化对象
Player1 player1=new Player1();
Scanner scanner =new Scanner(System.in);
int Int();//从键盘输⼊⼀个数字,对应⼀个电脑⼈物switch(number){
case1:
npc1.setNumber(1);
npc1.setName("孙膑");
break;
case2:
npc1.setNumber(2);
npc1.setName("孙权");
break;
case3:
npc1.setNumber(3);
npc1.setName("孙尚⾹");
break;
}
System.out.println("请输⼊你的名字:");
String ();//从键盘输⼊⼀个名字
player1.setName(name);//把名字值传递给setName⽅法,⽅便后期调⽤System.out.Name()+" VS "+Name()+" 对战 ");
System.out.println("要开始吗?(y/n)");//对局提⽰
int count=0;//统计对战局数
while(true){
String ();//从键盘输⼊⼀个字符
if(str.equals("y")){//判断字符是否等于y
if(str.equals("y")){//判断字符是否等于y
count++;//对局次数加1
System.out.println("请出拳:1、剪⼑ 2、⽯头 3、布(输⼊相应的数字)");
int guess= player1.guess();
System.out.println("你出拳为:"+content(guess));
int ran=npc1.ran();
System.out.Name()+"出拳为:"+content(ran));
int result=checked(ran,guess);
switch(result){
case0:
break;
case1:
npc1.addScore();
System.out.println("你输了,真是太笨了");
break;
case2:
player1.addScore();
System.out.println("你赢了,真棒!");
break;
}
System.out.println("是否要开始下⼀轮?(y/n)");
}else{
System.out.println("--------------------------------------");
System.out.Name()+" VS "+Name());
System.out.println("对战次数:"+count);
System.out.println();
System.out.println("姓名"+"\t\t\t"+"得分");
System.out.Name()+"\t\t\t"+Score());
System.out.Name()+"\t\t\t"+Score());
Score()&Score()){
System.out.println("结果:呵呵,笨笨,下次加油啊!");
}else Score()==Score()){
System.out.println("结果:你和"+Name()+"平局");
}
else{
System.out.println("结果:恭喜你真棒!");
}
break;
}
}
}
//规定0表⽰平局 1表⽰npc赢了  2表⽰玩家赢了
public static int checked(int random,int guess){
switch(random){
case1:
switch(guess){
case1:return0;
case2:return2;
case3:return1;
}
case2:
switch(guess){
case1:return1;
case2:return0;
case3:return2;
}
case3:
switch(guess){
case1:return2;
case2:return1;
case3:return0;
}
}
return-1;
}
public static String content(int num){
switch(num){
case1:return"剪⼑";
case2:return"⽯头";
case3:return"布";
}
return null;
}
}
class Npc1{
int number;//Npc1的编号
String name;//Npc1的名字
int score;//记录Npc1的分数
public Npc1(){
}
简单的java游戏代码
public int getNumber(){
return number;//调⽤此⽅法获取Npc1编号
}
public void setNumber(int number){
this.number = number;//给Npc1设置编号
}
public String getName(){
return name;//调⽤此⽅法获取玩家选择电脑⼈物的随机⼈物名}
public void setName(String name){
this.name = name;//给Npc1名字赋值
}
public int getScore(){
return score;//调⽤此⽅法获取电脑⼈物⽬前得分
}
public void addScore(){
this.score++;//调⽤此⽅法,电脑⼈物分数加1
}
public int ran(){//调⽤此⽅法可以获取电脑⼈物随机出的什么拳
Random random=new Random();
int number=(Int(3)+1);//随机产⽣(1、2、3)三个数字return number;//返回随机产⽣的数字
}
}
class Player1{
String name;//玩家的名字
int score;//玩家的分数
public Player1(){//⽆参构造⽅法
}
public Player1(String name,int score){//这是有参构造⽅法
this.name=name;
this.score=score;
}
public String getName(){
return name;//调⽤此⽅法获取玩家的名字
}
public void setName(String name){
this.name = name;//调⽤此⽅法给玩家名字赋值
}
public int getScore(){
return score;//调⽤此⽅法获取玩家⽬前得分
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。