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编辑

    相关文章
    |
    Java 测试技术
    1070 结绳(JAVA)
    给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。
    1070 结绳(JAVA)
    |
    Java
    Java一些常见的坑
    总是觉得自己Java基础还是不行,需要恶补。今天偶然mark了一本《Java解惑》,其中以端程序的方式罗列了95个即常见又不常见的xian(坑)jing(儿),拿来瞻仰一下。
    51 0
    |
    Java
    Java常见的坑(二)
    你猜上述程序输出的是什么? 是 ABC easy as 123 吗? 你执行了输出操作,你才发现输出的是 ABC easy as [C@6e8cf4c6 ,这么一串丑陋的数字是什么鬼? 实际上我们知道字符串与任何数值的相加都会变为字符串,上述事例也不例外, numbers输出其实实际上是调用了Object.toString()方法,让numbers转变为'[c' + '@' + 无符号的十六进制数。
    63 0
    |
    存储 Java
    Java - 9 个小技巧让你的 if else 看起来更优雅(一)
    Java - 9 个小技巧让你的 if else 看起来更优雅(一)
    394 0
    Java - 9 个小技巧让你的 if else 看起来更优雅(一)
    |
    Java
    Java里面的arraycopy总结
    Java里面的arraycopy总结
    225 0
    |
    Web App开发 算法 Java
    为什么我会选择走 Java 这条路?
    阅读本文大概需要 2.8 分钟。 作者:黄小斜 文章来源:微信公众号【程序员江湖】 最近有一些小伙伴问我,为什么当初选择走Java这条路,为什么不做C++、前端之类的方向呢,另外还有一些声音:研究生不是应该去做算法方向么,本科生不就可以做开发了吗,为什么还要读研呢。
    |
    Java BI 图形学
    |
    Java PHP 网络架构