人机猜拳面向对象代码问题

小伤2013 2013-03-30 08:51:34

public class Computer {
String quan1;
private int random = (int)(Math.random()*3);//电脑出拳
public void qu() {
switch(random) {
case 0:
quan1 = "剪刀";
break;
case 1:
quan1 = "石头";
break;
case 2:
quan1 = "布";
break;
default:
quan1 = "剪刀";
break;
}//电脑出拳
System.out.println("电脑出拳:"+quan1);
}
}


import java.util.*;
public class Person {
private String name;//用户名字
private int score;//用户积分
String quan;//用户出拳

Scanner input = new Scanner(System.in);

public void showFist() {

}//
public void input() {
System.out.print("请出拳:1.剪刀 2.石头 3.布(输入相应的数字)");
int num = input.nextInt();
switch(num) {
case 1:
quan = "剪刀";
break;
case 2:
quan = "石头";
break;
case 3:
quan = "布";
break;
default:
quan = "剪刀";
break;
}//用户出拳
System.out.println("你出拳:"+quan);
}
}


import java.util.*;

public class Game {
private Person person;// 玩家
private Computer computer;// 电脑
private int count;// 对战次数
private String juese;//选择角色
private String kaishi;//y开始

Scanner input = new Scanner(System.in);

public void initial() {


}

public void starGame() {
System.out.println("----------欢迎进入游戏世界------------\n\n");
System.out.println("\t\t***************");
System.out.println("\t\t** 猜拳*开始 **");
System.out.println("\t\t***************\n\n");
cq();//调用角色选择
}// 开始界面

public void cq() {
System.out.println("出拳规则:1.剪刀 2.石头 3.布");
System.out.print("请选择对方角色(1:刘备 2:孙权 3.曹操)");
int xz = input.nextInt();
switch (xz) {
case 1:
juese = "刘备";
break;
case 2:
juese = "孙权";
break;
case 3:
juese = "曹操";
break;
default:
juese = "剪刀";
break;
}
System.out.println("您选择了:" + juese);
}//角色选择
public void panduan() {
if(person.quan.equals("剪刀")&& computer.quan1.equals("剪刀")||
person.quan.equals("石头")&& computer.quan1.equals("石头")||
person.quan.equals("布")&& computer.quan1.equals("布")){
System.out.println("结果:和局,真衰\n");
//平局
}else if(person.quan.equals("剪刀")&& computer.quan1.equals("布")||
person.quan.equals("石头")&& computer.quan1.equals("剪刀")||
person.quan.equals("布")&& computer.quan1.equals("石头")){
System.out.println("结果:恭喜,你赢了!");
//玩家赢
}else{
System.out.println("结果:你输了!!!真笨\n");
//电脑赢
}

}
public void starGame1() {
starGame();//调用开始
System.out.println("要开始吗?(y/n)");
kaishi = input.next();
if(kaishi.equals("y")){
person.input();//调用用户出拳
computer.qu();//调用电脑出拳
panduan();//调用判断
}else{
System.out.println("游戏结束");
return;
}
}//游戏开始
}



public class Test {

public static void main(String[] args) {
Game g = new Game();
g.starGame1();
}

}
...全文
239 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
梅烦恼 2013-03-31
  • 打赏
  • 举报
回复
public void starGame1() { starGame();//调用开始 System.out.println("要开始吗?(y/n)"); kaishi = input.next(); if(kaishi.equals("y")){ person.input();//调用用户出拳 computer.qu();//调用电脑出拳 panduan();//调用判断 }else{ System.out.println("游戏结束"); return; } }//游戏开始 这段代码的person的值为空····
富兰克陈 2013-03-31
  • 打赏
  • 举报
回复
你的person初始化了吗?
小伤2013 2013-03-30
  • 打赏
  • 举报
回复
public void starGame1() { starGame();//调用开始 System.out.println("要开始吗?(y/n)"); kaishi = input.next(); if(kaishi.equals("y")){ person.input();//调用用户出拳 computer.qu();//调用电脑出拳 panduan();//调用判断 }else{ System.out.println("游戏结束"); return; } }//游戏开始 这段代码的person的值为空····求解

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧