用Java做一个简单的猜拳小游戏Console输入版

2023-04-17 0 1,038

用Java做一个简单的猜拳小游戏Console输入版

题目

编写一个猜拳游戏,进入新游戏需要输入用户的昵称,选择对手(对手随机出拳),然后进行游戏,游戏可以多局的形式,游戏中胜利分数加1,平局和输了不加分不减分,游戏结束告知游戏中的成绩返回游戏主界面,用户可以通过排行榜查看前10的分数(需要排序),通过退出可以结束游戏。游戏中的数据不需要永久保存,只有在本次运行中作短期的保存即可,也可以自主的写入一些伪数据。该游戏要注意界面的友好,代码的合理,必须符合代码的规范和代码的优化,尽自己所学避免程序发生异常现象。

游戏规则:石头剪刀布,石头赢剪刀,剪刀赢布,布赢石头

提示:
随机数使用
Random random = new Random();
int index = random.nextInt(2);//随机0~2之间的数

思路

很简单,考察Java多重if条件和循环,基础学的好都能写出来,使用random的目的是让程序生成随机数字,用随机数字代表拳头,然后判断用户输入和随机数生成的大小即可,再利用变量去存储局数,代码是上一年写的,当时不太会,可能会有代码沉余,敬请谅解

控制台输入图片

用Java做一个简单的猜拳小游戏Console输入版

代码

package com.byydcxyax.game;

import java.util.Random;
import java.util.Scanner;

public class Game {
    private static int a;
    private static int b;

    private static int sheng; //您胜利次数
    private static int bai; //您失败次数
    private static int ping;//平局次数
    private static int ju;//局次数

    public static void caidan() {
        System.out.println(\"欢迎进入生死对决\");
        System.out.println(\"游戏规则:输入一个数字表示您的出拳,0是石头,1是剪刀,2是布,3是直接胜利!\");
        System.out.println(\"游戏即将开始!!!!\");
    }
    public static void wanjia() {
        Scanner sc = new Scanner(System.in);
        //0-石头   1- 剪刀   2-布
        System.err.print(\"请您出拳:\");
        a = sc.nextInt();
        boolean panduan = false;
        do {
            switch (a) {
            case 0:
                System.out.println(\"您出的是石头\");
                panduan = false;
                break;
            case 1:
                System.out.println(\"您出的是剪刀\");
                panduan = false;
                break;
            case 2:
                System.out.println(\"您出的是布\");
                panduan = false;
            case 3:
                System.out.println(\"附加Buff开启,您直接取得胜利!\");
                panduan = false;
            default:
                System.out.println(\"您输入错误,请重新输入\");
                break;
            }
        }while(panduan);

    }
    public static void diannao() {
        Random dian = new Random();
        boolean panduan = false;
        do {
            b = dian.nextInt(3);
            switch (b) {
            case 0:
                System.err.println(\"电脑出了石头\");
                panduan = false;
                break;
            case 1:
                System.err.println(\"电脑出了剪刀\");
                panduan = false;
                break;
            case 2:
                System.err.println(\"电脑出了布\");
                panduan = false;
            default:
                System.out.println(\"您的输入错误,请重新输入\");
                break;
            }
        }while(panduan);
    }
    public static void caipan (int a,int b) {
        System.err.print(\"比赛结果\");
        if(a == b) {
            System.err.println(\"平局,您和电脑打了个平手\");
            ping++;
        }else if(a == 0 && b == 1) {
            System.err.println(\"您赢了!还是您NB!\");
            sheng++;
        }else if(a == 0 && b == 2) {
            System.err.println(\"您输了,菜鸡人类!\");
            bai++;
        }else if(a == 1 && b == 0) {
            System.err.println(\"您输了,菜鸡人类!\");
            bai++;
        }else if(a == 1 && b == 2) {
            System.err.println(\"您赢了,还是您NB!\");
            sheng++;
        }else if(a == 2 && b == 0) {
            System.err.println(\"您赢了,还是您NB!\");
            sheng++;
        }else if(a == 2 && b == 1) {
            System.err.println(\"您输了,菜鸡人类!\");
            bai++;
        }else if(a == 3) {
            System.out.println(\"Buff开启,你直接取得胜利!\");
            sheng++;
        }
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        caidan();
        boolean c = false;
        do {
            wanjia();
            diannao();
            caipan(a,b);
            ju++;
            System.out.println(\"是否继续?(Y/N)\");
            char d = sc.next().charAt(0);
            if(d == \'y\') {
                System.out.println(\"继续游戏:\");
                c = true;
            }else if(d == \'n\') {
                System.out.println(\"游戏结束~祝您生活愉快!\");
                System.out.println(\"----------战局统计----------\");
                System.out.printf(\"t总局数:%dn\",ju);
                System.out.printf(\"胜利:%d  失败:%d  平局:%dn\",sheng,bai,ping);

                c = false;
            }else {
                System.err.println(\"输入的什么玩意?来再来一局!别想跑!\");
                c = true;
            }
        }while(c);
    }

}

以上是《用Java做一个简单的猜拳小游戏Console输入版》的全部内容,

感谢您对博客的支持!

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务