Java控制台实现猜拳游戏小游戏

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

先来看一下效果图:

首先我们创建一个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("要开始游戏吗?<y/n>");

    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("需要进行下一局吗?<y/n>");
      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("需要进行下一局吗?<y/n>");
        option = scanner2.next();
      }
    }
  }
}

源代码下载:Java猜拳游戏

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java实现数字猜拳小游戏

    本文编写一个java数字猜拳的小游戏,具体实现很简单 package guenum; import java.util.ArrayList; import java.util.Scanner; public class Demo { // private static Object list; public static void main(String ad[]) { System.out.println("-------------------------------------小游戏---

  • Java入门案列之猜拳小游戏

    最近正在学习Java基础知识,终于完成了第一个小demo,记录下来,算是一个小总结与整理,也希望可以帮助到别人. 先看看我写了哪些类: Player:玩家类: ComputerPlayer:机器人玩家类,主要用来实现机器人随机出拳: Game:游戏类,主要实现游戏规则的逻辑,以及正式游戏的逻辑: TestGuessBox:代码测试类: Player类: //玩家类 public class Player { private String name; //玩家昵称 private int scor

  • java实现猜拳游戏

    本文实例为大家分享了java实现猜拳游戏的具体代码,供大家参考,具体内容如下 package com.farsight.session7; import java.util.Scanner; /** * 根据输入的数字,判断数组strs的值 然后进行逻辑判断 */ public class 猜拳 { public static void main(String[] args) { String[] strs = { "石头", "剪刀", "布"

  • Java实现人机猜拳小游戏

    本文实例完成人机猜拳互动游戏的开发,供大家参考,具体内容如下 阶段一:实验--分析业务,创建用户类 1.分析业务,抽象出类.类的特征和行为 2.创建出用户类 阶段二:实验--创建出计算机类 1.创建计算机类Computer.实现计算机出拳 2.产生一个1-3的随机数,模拟计算机的出拳结果 阶段三:实验--创建游戏类,选择对战对手 1.创建游戏类Game 2.编写游戏类的初始化方法initial() 3.编写游戏类的开始游戏方法startGame() 阶段四:实验--实现一局对战 分别调用用户类和

  • Java控制台实现猜拳游戏

    本文实例为大家分享了Java控制台实现猜拳游戏的具体代码,供大家参考,具体内容如下 1.目标 通过控制台实现一个人机对战的猜拳游戏,用户通过输入(1.剪刀 2.石头 3.布),机器随机生成(1.剪刀 2.石头 3.布),胜者积分,n 局以后通过积分的多少判定胜负. 2.源码 根据目标的要求,可以大概知道,我们需要的类有: ①一个用户类User,用于获得和存储用户的出拳: ②一个机器人的类Robot,用于随机生成机器人的出拳: ③一个Game类,是存放核心代码的类,用户和机器人的出拳在这里进行对比

  • Java实现可视化走迷宫小游戏的示例代码

    目录 效果图 数据层 视图层 控制层 效果图 数据层 本实例需要从 .txt 文件中读取迷宫并绘制,所以先来实现文件读取IO类 MazeData.java,该程序在构造函数运行时将外部文件读入,并完成迷宫各种参数的初始化,注意规定了外部 .txt 文件的第一行两个数字分别代表迷宫的行数和列数.此外还提供了各类接口来读取或操作私有数据. import java.io.BufferedInputStream; import java.io.File; import java.io.FileInput

  • java实战之飞机大战小游戏(源码加注释)

    一.工程文件 二.Main.java 主函数,实现类 package ui; //主函数实现 public class Main { public static void main(String[] args) { //创建窗体 GameFrame frame = new GameFrame(); //创建面板 GamePanel panel = new GamePanel(frame); //调用开始游戏的方法启动游戏 panel.action(); //将面板加入到窗体中 frame.add

  • Java实战之贪吃蛇小游戏(源码+注释)

    一.工程文件 二.Main.java package com.company; import javax.swing.*; public class Main { public static void main(String[] args) { //创建窗体对象 JFrame frame = new JFrame(); //创建窗体参数() frame.setBounds(10,10,900,720); //设置不允许更改大小 //frame.setResizable(false); //设置关

  • java实战之猜字小游戏

    一.题目描述 二.思路 语法基础:StringBuilder 类似列表,可以更改元素. package Practice; public class tt { public static void main(String[] args) { String str = "banana"; System.out.println(str.indexOf('z')); // -1 System.out.println(str.indexOf('a', 2)); // 3 StringBuild

  • C#控制台实现飞行棋小游戏

    本文实例为大家分享了C#控制台实现飞行棋小游戏的具体代码,供大家参考,具体内容如下 游戏标题 static void ShowTitle() { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("****************************************"); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(

  • java学习之猜数字小游戏

    今天主要学习了一些初级的设计,完成了这个猜数字的小游戏,其是也算不上是什么游戏,因为我答案都给出来了.当然也是想对代码更加熟练的操作,让自己能够得心应手. 这个小程序中让我花了点时间的主要是那个如何去重的问题,当时也是思考良久,后来才考虑到使用死循环让随机数产生直到不重复为止,其他感觉也还好. import java.util.Scanner; public class GuessingGames { public static void main(String[] args) { Scanne

  • Java Socket实现猜数字小游戏

    本文实例为大家分享了Java Socket实现猜数字游戏的具体代码,供大家参考,具体内容如下 运行截图 Server Client 完整代码 Server import java.io.IOException; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Random; import java.util.Scanner; public clas

  • C语言控制台实现打飞机小游戏

    本文实例为大家分享了C语言实现打飞机小游戏的具体代码,供大家参考,具体内容如下 初学C语言总觉得不能做些什么好玩的,这个小游戏只需 "一点点" (千真万确)C语言知识就能完成! 总计不到200行的非空白代码(没有强行压缩行数) 操作说明: 1.W.S.A.D 控制 上 .下.左.右 方向,空格 攻击 2.每击中一架敌机增加1分,界面下方显示实时分数 3.撞到敌机后显示 game over! 2.5秒(时间可更改) 子弹连发 移动的同时发射子弹 飞机撞上敌机结束游戏 可通过更改相关变量的

  • Java多线程实现方块赛跑小游戏

    本文实例为大家分享了Java实现方块赛跑小游戏的具体代码,供大家参考,具体内容如下 在一个图形界面上构造两个位于同一起跑线方块,起跑线位于界面靠左位置, A 方块先开始运动,向右移动 50 像素后停止,B 方块开始运动,向右移动 100 像素后停 止,A 方块继续向右运动 100 像素后停止,B 方块开始运动,如此循环接替执行,直至 某一个方块到达终点,界面显示该方块胜利信息. 1)  自定义一个threadA,ThreadB, ThreadFrame类(均继承自Thread). 2)  定义全

随机推荐