为了账号安全,请及时绑定邮箱和手机立即绑定

使用C#为战舰程序制作简单的AI

使用C#为战舰程序制作简单的AI

C#
HUWWW 2021-04-05 20:17:46
我刚刚开始学习编码C#的工作,希望有一天能找到一份工作。我正在尝试在5x5网格中获得3个随机生成的点。由于某些原因,当我尝试运行它时,它只会自动崩溃。为了进行测试,我添加了Console.WriteLine和Console.ReadKey来尝试查看输出,但仍会立即自动关闭。有什么理由不应该这样做吗?谢谢您的帮助:Dusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp4{    class Program    {        static void Main(string[] args)        {        }        public void CompB()        {            int[] AiB = new int[6];            for (int i = 1; i < 3; i++)            {                Random rnd = new Random();                int AiR = rnd.Next(0, 26);                AiB[i] = AiR;            }            Console.WriteLine(AiB[0]);            Console.ReadKey();        }    }}
查看完整描述

3 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

您的方法没有被调用。这就是为什么它会自动关闭。在您的程序中什么也没做。


class Program

{

    static void Main(string[] args)

    {

        int[] AiB = new int[6];

        for (int i = 1; i < 3; i++)

        {

            Random rnd = new Random();

            int AiR = rnd.Next(0, 26);

            AiB[i] = AiR;

        }

        Console.WriteLine(AiB[0]);

        Console.ReadKey();

    }

}

现在的输出是:

//img1.sycdn.imooc.com//607a91c10001d78b02510068.jpg

完整的代码:


class Program

{

    static void Main(string[] args)

    {

        CompB();

    }

    public static void CompB()

    {

        int[] AiB = new int[6];

        for (int i = 1; i < 3; i++)

        {

            Random rnd = new Random();

            int AiR = rnd.Next(0, 26);

            AiB[i] = AiR;

        }

        Console.WriteLine(AiB[0]);

        Console.ReadKey();

    }

}

这就是我发现未使用该方法的方式:


前:

//img1.sycdn.imooc.com//607a91d500016d1504310354.jpg

后:

//img1.sycdn.imooc.com//607a91e7000131b003990362.jpg

查看完整回答
反对 回复 2021-04-17
?
湖上湖

TA贡献2003条经验 获得超2个赞

如上文所述,您在main方法中缺少CompB();。


我又查看了第18行中的for循环,它从i = 1开始,但是您在做


System.Console.WriteLine(AiB [0]);


你应该尝试像


System.Console.WriteLine(AiB [1]);


static void Main(string[] args)

        {`enter code here`

            CompB();

        }

        public static void CompB()

        {

            int[] AiB = new int[6];

            for (int i = 1; i < 3; i++)

            {

                Random rnd = new Random();

                int AiR = rnd.Next(0, 26);

                AiB[i] = AiR;

            }

            System.Console.WriteLine(AiB[1]);

            System.Console.ReadKey();

        }


查看完整回答
反对 回复 2021-04-17
?
料青山看我应如是

TA贡献1772条经验 获得超7个赞

您需要从主方法调用方法CompB()。然后,您必须将所有值写到数组中。


class Program

    {

        static void Main(string[] args)

        {

            CompB();

        }

        public static void CompB()

        {

            int[] AiB = new int[6];

            for (int i = 1; i < 3; i++)

            {

                Random rnd = new Random();

                int AiR = rnd.Next(0, 26);

                AiB[i] = AiR;

            }

            //Write all values:

            for (int i = 0; i < 6; i++)

            {

                System.Console.WriteLine("Value of {0}: {1}", i, AiB[i]);

            }


            System.Console.ReadKey();

        }

    }


查看完整回答
反对 回复 2021-04-17
  • 3 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信