
项目效果图
一,创建玩家类User
1.创建四个方法:名字name,对局次数count,出拳类型quan,得分points
public class User {
public String name;// 名字
public int count;// 次数
public String quan;// 出的拳
public int points;// 得分
2.创建获取玩家昵称的方法
// 获取用户名字
public void giveName() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的姓名;");
String mingzi = scanner.next();
name = mingzi;
}
3.创建玩家出拳阶段的方法
// 用户出的拳传入quan属性
public void chuquan() {
Scanner scanner = new Scanner(System.in);
boolean flag = true;
int num;
do {
System.out.println("请出拳:1.剪刀 2.石头 3.布(请输入相应数字)");
num = scanner.nextInt();
if ( num == 1 ) {
quan = "剪刀";
flag = false;
}else if ( num == 2 ) {
quan = "石头";
flag = false;
}else if ( num == 3 ) {
quan = "布";
flag = false;
}else {
System.out.println("输入的值不合法,请重新输入");
flag = true;
}
}while ( flag );
}
二,创建对战的人机类
1.创建三个方法:电脑名字name,电脑得分points,电脑出的拳quan
public class Computer {
public String name;// 电脑名字
public int points;// 胜利次数
public String quan;// 出的拳
2.创建 选择电脑角色 的方法
public void giveName() {
Scanner scanner = new Scanner(System.in);
int num;
boolean flag = true;// 循环判断条件
do {
System.out.println("请选择对方角色(1.葫芦娃 2.哆啦A梦 3.瑞克·桑切斯)");
num = scanner.nextInt();
if ( num == 1 ) {
name = "葫芦娃";
flag = false;
}else if ( num == 2 ) {
name = "哆啦A梦";
flag = false;
}else if ( num == 3 ) {
name = "瑞克·桑切斯";
flag = false;
}else {
System.out.println("输入的值不合法,请重新输入");
flag = true;
}
}while ( flag );
}
3.创建 电脑随机出拳 的方法
//电脑的随机出拳
public void chuquan() {
int num = (int)(Math.random()*3)+1;//在1-3之间随机选择
if ( num == 1 ) {
quan = "剪刀";
}else if ( num == 2 ) {
quan = "石头";
}else if ( num == 3 ) {
quan = "布";
}
}
三,创建游戏对局类Game
1.引入玩家的类和电脑的类
public class Game {
Computer c = new Computer();//引用电脑的类
User u = new User(); //引用玩家的类
2.创建 开始游戏 的方法
//游戏开始
public void start() {
c.giveName();
u.giveName();
System.out.println(u.name + " VS " + c.name);
}
3.创建 判断输赢 的方法
// 判断输赢
public void panduan() {
c.chuquan();//电脑出拳的初始值
u.chuquan();//玩家出拳的初始值
System.out.println("你出拳:" + u.quan);//打印玩家出拳
System.out.println(c.name + "出拳:" + c.quan);//打印电脑出拳
//玩家获胜的几种方式
if ( u.quan.equals("剪刀") && c.quan.equals("布") ||
u.quan.equals("石头") && c.quan.equals("剪刀")||
u.quan.equals("布") && c.quan.equals("石头")) {
System.out.println("恭喜你获胜了");
u.count = u.count+1;// 场次加1
u.points = u.points +1;// 得分加1
}else if
//玩家败北的几种方式
( u.quan.equals("剪刀") && c.quan.equals("石头") ||
u.quan.equals("石头") && c.quan.equals("布")||
u.quan.equals("布") && c.quan.equals("剪刀") ) {
System.out.println("行不行啊你?卧槽 你的");
u.count = u.count + 1;// 场次加1
c.points = c.points + 1;// 电脑得分加1
}else if
//平局的方式
( u.quan.equals(c.quan) ) {
System.out.println("平局");
u.count = u.count + 1;// 场次加1
}
}
4.创建 游戏结束 的方法
// 游戏结束,打印输出结果
public void gameOver() {
System.out.println(u.name + " VS " + c.name);
System.out.println("对战场次:" + u.count);
System.out.println();
System.out.println("姓名 \t 得分");
System.out.println(u.name + " \t " + u.points);
System.out.println(c.name + " \t " + c.points);
System.out.println("GAME OVER!");
}
四,创建启动类
1.先打印游戏规则
public class Main {
public static void main(String[] args) {
System.out.println("*********************");
System.out.println("*****猜拳 开始*****");
System.out.println("*********************");
System.out.println("出拳规则(1.剪刀 2.石头 3.布)");
System.out.println();
2.将游戏类Game引入
Game game = new Game();//引入Game类
game.start();//游戏开始
Scanner scanner = new Scanner(System.in);
System.out.println("要开始吗?(y/n)");
String start = scanner.next();
while ("y".equalsIgnoreCase(start)) {
game.panduan();
System.out.println("是否开始下一轮?(y/n)");
start = scanner.next();
}
game.gameOver();//游戏结束
运行!

完美!