java实现简单石头剪刀布小游戏

简介

石头剪刀布游戏,进入游戏后,玩家需要输入玩家姓名。系统界面之后弹出欢迎界面,玩家可以选择出拳或者退出游戏。玩家选择出拳后同电脑出拳比较,输出猜拳结果。最后退出游戏后显示排行榜,输出总局数,胜率。

分析

通过while循环死循环模拟不断进行游戏,当用户输入0时break跳出while循环。

通过Random产生随机数模拟AI出拳

定义了一个choose方法,将用户输入和AI随机生成的数,转换成剪刀、石头和布。

判断输赢逻辑:

1:石头 2:剪刀 3:布

变量userChoose中存储的是用户的出拳
变量ai中存储的是电脑的出拳

当userChoose - ai 等于-1或2时,用户赢
当userChoose - ai 等于0时,平局
当userChoose - ai 等于1或-2时,电脑赢

源代码

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Random r = new Random();
        int count = 0;    // 总局数
        int win = 0;    // 获胜局数
        int result = 0;    // 结果
        int ai = 0;    // 电脑出拳
        System.out.print("请输入姓名:");
        String name = sc.nextLine();
        while(flag) {
            System.out.println("************************************************");
            System.out.println("欢迎"+ name + "进入猜拳游戏");
            System.out.println("1.石头     2.剪刀     3.布     0.退出");
            System.out.println("************************************************");
            System.out.print("请输入数字:");
            int userChoose = sc.nextInt();    // 玩家选择
            if (userChoose == 0) {    // 游戏结束
                break;
            }
            // AI出拳
            ai = r.nextInt(3)+1;
            // 输出玩家和电脑的出拳
            System.out.println("你的出拳是:" + choose(userChoose));
            System.out.println("电脑出拳是:" + choose(ai));
            // 判断输赢
            switch(userChoose - ai) {
                case -1:    // 赢
                case 2:
                    System.out.println("你赢了! ╭(╯^╰)╮");
                    win++;    // 用户赢,赢场计数器自增1
                    count++;    // 局数计数器自增1
                    break;
                case 0:    // 平局
                    System.out.println("平局,再来一局~~~~~o(* ̄︶ ̄*)o");
                    count++;
                    break;
                case 1:    // 输
                case -2:
                    System.out.println("你输了! O(∩_∩)O哈哈~");
                    count++;
                    break;
            }
            System.out.println("\n");
        }
        System.out.println();
        System.out.println("\t\t\t\t排行榜");
        System.out.println("************************************************");
        System.out.println("姓名\t\t总局数\t\t赢场\t\t胜率");
        System.out.println(name + "\t\t" + count + "\t\t\t" + win + "\t\t\t" + String.format("%.2f", (win*1.0/count)*100) + "%");
    }

    // 返回出拳
    public static String choose(int choose) {
        switch(choose) {
            case 1:
                return "石头";
            case 2:
                return "剪刀";
            case 3:
                return "布";
        }
        return "";
}

游戏截图

进入游戏输入姓名,显示菜单:

用户出石头:

用户出剪刀:

用户出布:

输入0游戏结束:

总结

本程序是学习中的一个小案例,目前程序比较基础,只能记录一个玩家的信息,且数据不能存在本地。作者是在校的一名学生,目前技术有限,如有考虑不周,请各路大神批评指正,共同学习。

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

(0)

相关推荐

  • Java实现石头剪刀布游戏

    本文实例为大家分享了Java实现石头剪刀布游戏的具体代码,供大家参考,具体内容如下 题目: 用 JAVA 语言设计如下界面的石头剪刀布游戏.游戏的一方点击界面上石头.剪刀.布按钮,游戏的另一方计算机随机选择,然后给出游戏结果. Java: import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; @SuppressWarning

  • java实现简单石头剪刀布游戏

    本文实例为大家分享了java实现简单石头剪刀布游戏的具体代码,供大家参考,具体内容如下 问题描述 Alice, Bob和Cindy一起玩猜拳的游戏.和两个人的猜拳类似,每一轮,他们会从石头.剪刀.布中各自选一个出拳,基本的胜负规则是石头赢剪刀.剪刀赢布.布赢石头.如果一轮中正好可以分成胜负两边,则负边的每个人要支付给胜边的每个人一块钱.如果无法分成胜负两边,则都不出钱.比如,如果Alice出石头,而Bob和Cindy都出布,则Alice要分支付Bob和Cindy一块钱.再如,如果Alice出石头

  • JavaFX实现石头剪刀布小游戏

    用JavaFX写一个石头剪刀布的小游戏,供大家参考,具体内容如下 课程上布置的作业,其实java很少用来写这种程序的 - GUI界面部分 - 石头剪刀布的逻辑部分 书上教的是JavaFX,其实还有很多方法,书上说AWT和Swing基本上淘汰了,但事实上- 代码 MyJavaFX.java package cn.homework; import javafx.application.Application; import javafx.event.ActionEvent; import javaf

  • Java实现石头剪刀布小游戏

    本文实例为大家分享了Java实现石头剪刀布的具体代码,供大家参考,具体内容如下 代码: package com.neusoft.test; import java.awt.BorderLayout; import java.awt.Choice; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; im

  • java实现简单石头剪刀布小游戏

    简介 石头剪刀布游戏,进入游戏后,玩家需要输入玩家姓名.系统界面之后弹出欢迎界面,玩家可以选择出拳或者退出游戏.玩家选择出拳后同电脑出拳比较,输出猜拳结果.最后退出游戏后显示排行榜,输出总局数,胜率. 分析 通过while循环死循环模拟不断进行游戏,当用户输入0时break跳出while循环. 通过Random产生随机数模拟AI出拳 定义了一个choose方法,将用户输入和AI随机生成的数,转换成剪刀.石头和布. 判断输赢逻辑: 1:石头 2:剪刀 3:布 变量userChoose中存储的是用户

  • java实现简单五子棋小游戏(2)

    本文实例为大家分享了java实现简单五子棋小游戏游戏的具体代码,供大家参考,具体内容如下 讲解 在第一步实现的基础上,添加游戏结束条件.五子棋游戏中的相同棋子如果同时有五个连接成一条线就说明游戏结束. 代码实现如下: if(count!=0){                 //判断每一行                 for(int j=0;j<11;j++){                     for(int i=0;i<7;i++){                      

  • java实现简单五子棋小游戏(1)

    本文实例为大家分享了java实现简单五子棋小游戏的具体代码,供大家参考,具体内容如下 讲解 五子棋,实际上就是用一个数组来实现的.没有其他很复杂的结构.首先我们制作五子棋,先要有一个棋盘. public void setGraphics(Graphics g){         this.g=g;         for(int i=0;i<11;i++){             g.drawLine(100+Size*i, 100, 100+Size*i, 500);           

  • java实现简单扫雷小游戏

    本文实例为大家分享了java实现扫雷游戏的具体代码,供大家参考,具体内容如下 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.GridLayout; import java.awt.Insets; import java.awt.Label; import java.awt.event.ActionEvent; import java.awt.event

  • java实现简单猜拳小游戏

    本文实例为大家分享了java实现猜拳小游戏的具体代码,供大家参考,具体内容如下 User.java import java.util.Scanner; public class User { String name; int score; public int showFist(){ System.out.println ("请出拳:1.剪刀\t2.石头\t3.布"); Scanner input=new Scanner ( System.in ); int choice=input.

  • java实现简单美女拼图游戏

    拼图小游戏,学习阶段.很多不足,改进了一下 演示图片: J_Puzzle.java import java.awt.BorderLayout; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.GridBagConstraints; import java.a

  • Java实现打飞机小游戏(附完整源码)

    写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过这个游戏让大家理解oop面向对象编程的过程,纯属娱乐.代码写的很简单,也很容易理解,并且注释写的很清楚了,还有问题,自己私下去补课学习. 效果如下 完整代码 敌飞机 import java.util.Random; 敌飞机: 是飞行物,也是敌人 public class Airplane extends FlyingObject implements Enemy

  • 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实现的打地鼠小游戏.分享给大家供大家参考,具体如下: 这里涉及到java线程和GUI的相关知识,一个简单的java小游戏打地鼠,有兴趣的朋友可以优化一下.先来看看运行效果: 具体代码: Mouse.java: import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt

随机推荐