java控制台对战小游戏,Java控制台实现猜拳游戏小游戏

本文实例为大家分享了Java猜拳游戏的具体代码,供大家参考,具体内容如下

先来看一下效果图:

ea1c8d0098e087389d48285f88e7a213.png

首先我们创建一个Person类,这个类有name和score两个属性,有play这个方法,源代码如下:

package com.samoy;

public class Person {

public String name;

public int score;

public Person(String name, int score) {

this.name = name;

this.score = score;

}

public String play(int i) {

return i == 1?"剪刀":(i == 2?"石头":"布");

}

}

接下来是主程序入口:

package com.samoy;

import java.util.Random;

import java.util.Scanner;

public class JavaTest {

public static void main(String[] args) {

int num = 0;

System.out.println("*****************\n****猜拳, 开始****\n*****************");

System.out.println("出拳规则:1.剪刀 2.石头 3.布");

System.out.println("请选择对方角色<1:刘备 2:孙权 3:曹操>");

Scanner scanner = new Scanner(System.in);

//new一个对手

Person opponent = new Person("",0);

int nameIndex = scanner.nextInt();

while (true){

if (nameIndex == 1){

opponent.name = "刘备";

break;

}else if (nameIndex == 2){

opponent.name = "孙权";

break;

}else if (nameIndex == 3){

opponent.name = "曹操";

break;

}else {

System.out.println("输入错误!输入对方角色<1:刘备 2:孙权 3:曹操>");

nameIndex = scanner.nextInt();

}

}

System.out.println("请输入您的姓名:");

Scanner scanner1 = new Scanner(System.in);

Person self = new Person(scanner1.next(),0);

System.out.println(self.name + " VS " +opponent.name);

System.out.println("要开始游戏吗?");

Scanner scanner2 = new Scanner(System.in);

String option = scanner2.next();

while (option.equals("y")){

System.out.println("请出拳:1、剪刀 2、石头 3、布");

Scanner scanner3 = new Scanner(System.in);

int select = scanner3.nextInt();

String result1;

if (select!=1&&select!=2&&select!=3){

System.out.println("输入错误!请输入出拳规则:1、剪刀 2、石头 3、布");

select = scanner3.nextInt();

}

result1 = self.play(select);

System.out.println(self.name+"出:"+result1);

String result2 = opponent.play(new Random().nextInt(3)+1);

System.out.println(opponent.name+"出:"+result2);

if (result1.equals(result2)){

System.out.println("和局");

}else if (result1.equals("剪刀")&&result2.equals("布")||result1.equals("石头")&&result2.equals("剪刀")||result1.equals("布")&&result2.equals("石头")){

System.out.println("你赢了! "+self.name+"赢!");

self.score += 1;

}else {

System.out.println("你输了! "+opponent.name+"赢!");

opponent.score += 1;

}

num++;

System.out.println("需要进行下一局吗?");

option = scanner2.next();

if (option.equals("n")){

System.out.println("=================");

System.out.println("共进行"+num+"局\n"+self.name+"得分为"+self.score+","+opponent.name+"得分为"+opponent.score +"\n");

if (self.score>opponent.score){

System.out.println(self.name+"赢!"+self.name+"好棒!");

}else if (self.score == opponent.score){

System.out.println("平局!");

}else {

System.out.println(opponent.name+"赢!"+self.name+"笨蛋!");

}

System.out.println("感谢你的使用!");

}else if (!option.equals("y")){

System.out.println("输入错误,请重新输入!");

System.out.println("需要进行下一局吗?");

option = scanner2.next();

}

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值