石头剪刀布小游戏(Java语言实现)-----轻松一刻

相信大家在小时候一定都玩过石头剪刀布,而且规则都已经了然入心了吧。

好了废话不多说了,直接说游戏实现:

我们模拟人与电脑玩剪刀石头布的游戏,人的输入,由 Scanner 键盘端输入,电脑由随机数生成。

package Practice;

import java.util.Scanner;

public class Rock_Paper_Scissors {
    public static void main(String[] args) {
//        需求:玩家和电脑的一个5局三胜的剪刀石头布游戏。
//        变量:
//        玩家和电脑选择的手势。
        int playerInput, computerInput;
        int playerWinCount = 0;
        int computerWinCount = 0;

//        记录局数
        int counter = 0;
//        定义常量
        final int ROCK = 0;
        final int SCISSORS = 1;
        final int PAPER = 2;
//        最大胜利局数
        final int Max_Counter = 3;
        //定义扫描器对象
        Scanner scanner = new Scanner(System.in);
        boolean end= true;
        while (end){
            //        选择是否开始本局游戏

            int open_Game;
            final int YES = 0;
            final int NO = 1;
            System.out.println("请您选择是否开启本回合游戏:【0-->YES】【1-->NO】");
            open_Game = scanner.nextInt();
            if (open_Game == 0) {
                System.out.println("--------------------欢迎您参加本回合游戏--------------------");
                System.out.println("-----------------------------------------------------------");
                while (playerWinCount < Max_Counter && computerWinCount < Max_Counter) {
//            玩家选择手势
                    System.out.println("请您输入手势数字:【0-->石头】【1-->剪刀】【2-->布】");
                    playerInput = scanner.nextInt();

//              电脑随机手势
                    computerInput = (int) (Math.random() * 3);

//              打印玩家选择的内容
                    String str;
                    if (playerInput == ROCK) {
                        str = "石头";
                    } else if (playerInput == SCISSORS) {
                        str = "剪刀";
                    } else {
                        str = "布";
                    }
                    System.out.println("玩家选择的手势为:" + str);
//            打印电脑选择的内容
                    switch (computerInput) {
                        case ROCK:
                            str = "石头";
                            break;
                        case SCISSORS:
                            str = "剪刀";
                            break;
                        case PAPER:
                            str = "布";
                            break;
                    }
                    System.out.println("电脑选择的手势为:" + str);

//              比较并打印比较的结果。
                    if (computerInput == ROCK) {
                        if (playerInput == ROCK) {
                            System.out.println("**********本次平局!**********");
                        } else if (playerInput == SCISSORS) {
                            System.out.println("*****本局【电脑】胜利了!*****");
                            computerWinCount++;
                        } else {
                            System.out.println("*****本局【玩家】胜利了!*****");
                            playerWinCount++;
                        }
                    } else if (computerInput == SCISSORS) {
                        if (playerInput == SCISSORS) {
                            System.out.println("**********本次平局!**********");
                        } else if (playerInput == PAPER) {
                            System.out.println("*****本局【电脑】胜利了!*****");
                            computerWinCount++;
                        } else {
                            System.out.println("*****本局【玩家】胜利了!*****");
                            playerWinCount++;
                        }
                    } else {
                        if (playerInput == PAPER) {
                            System.out.println("**********本次平局!**********");
                        } else if (playerInput == ROCK) {
                            System.out.println("*****本局【电脑】胜利了!*****");
                            computerWinCount++;
                        } else {
                            System.out.println("*****本局【玩家】胜利了!*****");
                            playerWinCount++;
                        }
                    }
//            输出当前比分
                    System.out.println("【电脑】VS【玩家】:[" + computerWinCount + "]VS[" + playerWinCount + "]");
                    System.out.println("************************下一局************************");

                }
                //            打印最终结果
                if (computerWinCount == Max_Counter) {
                    System.out.println("本回合【电脑】最终胜利了!!!");
                } else {
                    System.out.println("本回合【玩家】最终胜利了!!!");
                }
            } else {
                System.out.println("--------------------欢迎下次光临!--------------------");
                break;
            }

        }

    }
}

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个C语言实现石头剪刀布小游戏,可以控制胜率的示例代码: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int play, computer, winCount = 0, loseCount = 0, drawCount = 0; char choice; srand(time(NULL)); do { printf("请选择:\n"); printf("1. 石头\n"); printf("2. 剪刀\n"); printf("3. 布\n"); printf("0. 退出\n"); scanf("%d", &play); if (play == 0) { break; } computer = rand() % 3 + 1; printf("你选择了:"); switch (play) { case 1: printf("石头\n"); break; case 2: printf("剪刀\n"); break; case 3: printf("布\n"); break; default: printf("无效选择\n"); continue; } printf("电脑选择了:"); switch (computer) { case 1: printf("石头\n"); break; case 2: printf("剪刀\n"); break; case 3: printf("布\n"); break; } if (play == computer) { printf("平!\n"); drawCount++; } else if ((play == 1 && computer == 2) || (play == 2 && computer == 3) || (play == 3 && computer == 1)) { printf("你赢了!\n"); winCount++; } else { printf("你输了!\n"); loseCount++; } printf("胜利次数:%d,失败次数:%d,平次数:%d\n", winCount, loseCount, drawCount); printf("是否继续游戏?(y/n) "); scanf(" %c", &choice); } while (choice == 'y' || choice == 'Y'); return 0; } ``` 这个程序使用了随机数生成电脑的选择,然后根据玩家和电脑的选择进行比较,判断胜负或平,并统计胜利、失败和平的次数。你可以通过多次运行程序来控制胜率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值