当前位置: 首页 > 知识库问答 >
问题:

我怎样才能让游戏中的电脑玩家在一回合内获得20分后停止?

宫修贤
2023-03-14

我一直在尝试用爪哇制作一个名为“猪”的游戏,玩家掷两个骰子。玩家根据自己的掷骰得分。例如,如果玩家掷骰5和4,他现在有9分,但如果玩家掷骰1,他们得不到任何分数,控制切换到计算机,如果玩家掷蛇眼(1和1),玩家将失去所有分数,控制切换到计算机。我让游戏正常运行,但我需要在电脑在轮换中获得20分后停止。谁先打100,谁就赢。

下面是我的代码:

//this program runs 4.4
import java.util.Scanner;


public class run {

    public static void main(String[] args) 
    {Scanner scan = new Scanner (System.in);
        dice thing = new dice();
        dice thing1 = new dice();
        boolean control=true;
        int x = 0,points=0,a,b,y=0,c,d,turn=0,save=0,no=0;
        while(x<100 && y<100)
        {
            while (control == true && x<100)
                {       
                    a=thing.roll();
                    b=thing1.roll();
                    if (a == 1 && b==1)
                    {
                        control=false;
                        System.out.println("your first die rolled a " + thing.getroll() + " second die rolled a " + thing1.getroll()+"computer now has control");
                        x=0;
                    }
                    else if(a == 1 || b==1)
                    {
                        control = false;
                        System.out.println("your first die rolled a " + thing.getroll() + " second die rolled a " + thing1.getroll() + " now you have " + x +" points "+"computer now has control");
                    }
                    else
                    {
                    x +=(a+b);
                    System.out.println("your first die rolled a " + thing.getroll() + " your second die rolled a  " + thing1.getroll() + " now you have " + x +" points" );
                System.out.println(" would you like to end your turn put in  1 for yes 0 for no");
                    points = scan.nextInt();
                    if(points==1)
                    {
                        control= false;
                    }
                    if (x>=100)
                        {
                            System.out.println("you win");
                        }
                    }
            }

            while (control==false && y<100)
                {   
                    c=thing.roll();
                    d=thing1.roll();

                    if (c == 1 && d==1)
                        {
                            control=true;
                            System.out.println("The computers first die rolled a " + thing.getroll() + " The computers second die rolled a " + thing1.getroll()+"you now have control");
                            turn = y;
                            y=0;
                        }
                    else if(c == 1 || d==1)
                        {
                            control = true;
                            System.out.println("The computers first die rolled a " + thing.getroll() + " The computers second die rolled a " + thing1.getroll()+ " now the computer has  " + y +" points "+"you now have control");
                            turn = y;
                        }
                    else
                        {
                        y +=(c+d);
                    System.out.println("The computers first die rolled a  " + thing.getroll() + " The computers second die rolled a " + thing1.getroll() + " now the computer has  " + y +" points" );
                        turn = y;
                        if (y>=100)
                            {
                                System.out.println("you lose");
                            }
                        }
            }
        }
    }
}

共有1个答案

丁子石
2023-03-14

尝试添加:

if (turn >= 20){
    control = true;
    turn = 0;
}

之后:

while (control==false && y<100)
            {
 类似资料:
  • 我最近开始使用在我的android应用程序上播放流链接,比如和文件,但当我试图播放文件,以下消息开始出现在Android logcat中: 源错误。com.google.android.exoplayer2.source.无法识别的输入格式异常:输入不以#EXTM3U头开始。在com.google.android.exoplayer2.source.hls.playlist.HlsPlaylist

  • 我正在创建一个应用程序,实现谷歌的turn为基础的多人api,但我是相对新的Android。我需要做的是,当用户开始与对手比赛时,他们需要等待第二个用户开始,以便在布局可以填充之前将某些数据传递给他们。基本上,我有什么是你从谷歌的回合为基础的多人游戏的例子。它开始一场比赛,并让开始比赛的人进行第一轮。有人对此有经验吗?我不知道如何让首发球员等到另一个球员轮到他们。 我让开始的球员传递他们的信息,他

  • 发生在我身上的是MDB接收消息并尝试处理它们,甚至我的服务器也没有完全启动 知道怎么解决这个问题吗?

  • 在使用不同的验证器调用不同的rpc方法之前,我需要验证请求。 所以我实现了如下验证器 并在我的rpc方法之前添加自定义注释 但是我发现我在gRPC ServerInterceptor中找不到获取注释信息的方法。有没有办法像这样实现grpc请求验证?

  • 问题内容: 我想要一个可以调用以随机或每次调用的函数: 如何返回随机布尔值? 问题答案: 您需要某种随机信息,并且根据其值,可以在一半的可能情况下返回它,而在另一半情况下可以返回。 使用一个非常简单的例子中的包: 不要忘记使用以下方法正确打包程序包,以使其在每次运行的应用程序中都不同: 这是在的doc文件中提到的: 如果每次运行需要不同的行为,请使用种子函数初始化默认的源。 如果不设置种子,则每次

  • 我如何让Python完成这项任务? 每10秒,X次?