1071 小赌怡情(JAVA)

简介: 常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。

 

常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。

注意:玩家下注的筹码数不能超过自己帐户上拥有的筹码数。当玩家输光了全部筹码后,游戏就结束。

输入格式:

输入在第一行给出 2 个正整数 T 和 K(≤ 100),分别是系统在初始状态下赠送给玩家的筹码数、以及需要处理的游戏次数。随后 K 行,每行对应一次游戏,顺序给出 4 个数字:

n1 b t n2

image.gif

其中 n1n2 是计算机先后给出的两个[0, 9]内的整数,保证两个数字不相等。b 为 0 表示玩家赌,为 1 表示玩家赌t 表示玩家下注的筹码数,保证在整型范围内。

输出格式:

对每一次游戏,根据下列情况对应输出(其中 t 是玩家下注量,x 是玩家当前持有的筹码量):

    • 玩家赢,输出 Win t! Total = x.
    • 玩家输,输出 Lose t. Total = x.
    • 玩家下注超过持有的筹码量,输出 Not enough tokens. Total = x.
    • 玩家输光后,输出 Game Over. 并结束程序。

    输入样例 1:

    100 4
    8 0 100 2
    3 1 50 1
    5 1 200 6
    7 0 200 8

    image.gif

    输出样例 1:

    Win 100!  Total = 200.
    Lose 50.  Total = 150.
    Not enough tokens.  Total = 150.
    Not enough tokens.  Total = 150.

    image.gif

    输入样例 2:

    100 4
    8 0 100 2
    3 1 200 1
    5 1 200 6
    7 0 200 8

    image.gif

    输出样例 2:

    Win 100!  Total = 200.
    Lose 200.  Total = 0.
    Game Over.

    image.gif

    代码实现:

    import java.io.*;
    /**
     * @author yx
     * @date 2022-07-24 23:57
     */
    public class Main {
        static PrintWriter out=new PrintWriter(System.out);
        static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
        static StreamTokenizer in=new StreamTokenizer(ins);
        public static void main(String[] args) throws IOException {
            in.nextToken();
            int T=(int) in.nval;
            in.nextToken();
            int K=(int) in.nval;
            for (int i = 0; i < K; i++) {
                in.nextToken();
                int n1=(int) in.nval;
                in.nextToken();
                int b=(int) in.nval;
                in.nextToken();
                int t=(int) in.nval;
                in.nextToken();
                int n2=(int) in.nval;
                if(T-t<0){
                    System.out.println("Not enough tokens.  Total = "+T+".");
                    continue;
                }
                if((n2>n1&&b==1)||(n2<n1&&b==0)){
                    System.out.println("Win "+t+"!  Total = "+(T+t)+".");
                    T=T+t;
                }else {
                        System.out.println("Lose "+t+".  Total = "+(T-t)+".");
                        T=T-t;
                    if(T<=0){
                        System.out.println("Game Over.");
                        return;
                    }
                }
            }
        }
    }

    image.gif

    image.gif编辑

    相关文章
    |
    3月前
    |
    缓存 Java
    Java之IntegerCache
    Java之IntegerCache
    31 0
    |
    小程序 Java 程序员
    |
    3月前
    |
    Java 数据库连接 API
    Java是什么?
    Java是什么?
    42 0
    |
    负载均衡 Java 应用服务中间件
    [Java]ITOO初步了解
    [Java]ITOO初步了解
    82 0
    |
    Java
    Java之“珠穆朗玛峰”
    Java之“珠穆朗玛峰”
    76 0
    |
    Oracle Java 关系型数据库
    什么是java
    什么是java
    98 0
    |
    Java
    Java常见的坑(二)
    你猜上述程序输出的是什么? 是 ABC easy as 123 吗? 你执行了输出操作,你才发现输出的是 ABC easy as [C@6e8cf4c6 ,这么一串丑陋的数字是什么鬼? 实际上我们知道字符串与任何数值的相加都会变为字符串,上述事例也不例外, numbers输出其实实际上是调用了Object.toString()方法,让numbers转变为'[c' + '@' + 无符号的十六进制数。
    48 0
    |
    Oracle IDE Java
    从Java8到Java17
    背景Java8的前世今生作为一名程序员,笔者从大学开始接触Java这门编程语言,还记得当时的版本是1.4,不过这个版本的寿命还挺长,目前在一些金融行业的存量系统中依然还有1.4版本的影子。从C/C++到Java,Java给我的第一印象,就是这门语言的语法非常之啰嗦,比如内部类,像下面这段排序的代码,在C语言里面可以很方便地通过函数指针来解决,C++可以通过运算符重载来解决,唯独Java语言的写法最
    从Java8到Java17
    |
    Java
    java if..else
    java if..else
    124 0
    java if..else
    |
    Java
    Java总结 - 封装继承多态
    我还是一个没有参加工作的小白,所以这篇文章只是一些自己的理解,如有错误请及时指正 面向对象 java实体类中包含什么呢? 属性,设值器(构造器,get/set方法),eauals()方法和hashcode()方法,目前只能想到这么多,然后规划一下:属性(面向对象部分说),属性(类之间的关系(面.
    31357 0