.
Отговор в тема
Резултати от 1 до 3 от общо 3
  1. #1
    IRepzz
    Guest

    Помощ моля

    Трябва да направя проект за края на годината. Реших да направя кораби с двумерен масив, но стигнах до тук и не работи правилно. Може ли някой да помогне?




    Random rnd = new Random();
    int k1 = rnd.Next(3,15);

    int[,] m = new int[30, 30];

    Console.WriteLine("Падна се КВАДАРТ " + k1.ToString());

    m[k1 +1, 1] = 1;

    m[k1 + 2, 1] = 1;

    m[k1 + 1, 2] = 1;

    m[k1 + 2, 2] = 1;

    m[k1 + 1, 3] = 1;

    m[k1 + 2, 3] = 1;

    int k2 = 0;

    int k3=0;

    m[k2 + 1, 1] = 1;

    m[k2 + 2, 1] = 1;

    m[k2 +3, 1] = 1;

    while (k2 == m[k1 + 1, 1] || k2 == m[k1 + 2, 1] || k2 == m[k1 + 1, 2] || k2 == m[k1 +2, 2] || k2 == m[k1 +1, 3] || k2 == m[k1 +2, 3])
    {
    k2 = rnd.Next(2, 18 );
    Console.WriteLine("Падна се квадрат " + k2.ToString());
    }

    m[k3 + 1, 1] = 1;
    m[k3 + 2, 1] = 1;
    m[k3 + 3, 1] = 1;
    m[k3 + 4, 1] = 1;
    while (k3 == m[k1 + 1, 1] || k3 == m[k1 +2, 1] || k3 == m[k1 + 1,2] || k3 == m[k1 +2, 2] || k3 == m[k1 +1, 3] || k3 == m[k1 +2, 3] ||
    k3 == m[k2 + 1, 1] || k3 == m[k2 + 2, 1] || k3 == m[k2 +3, 1])
    {
    k3 = rnd.Next(2, 20);
    Console.WriteLine("падна се квадрат " + k3.ToString());
    }

    int br = 0;
    while (br <= 13)
    {
    k1 = int.Parse(Console.ReadLine());


    if (m[k1 + 1, 1] == 1)
    {
    br++;
    m[k1 + 1, 1]=0;
    Console.WriteLine("попадение");


    }
    if (m[k1 + 2, 1] == 1)
    {
    br++;
    m[k1 + 2, 1] = 0;
    Console.WriteLine("попадение");
    }

    if (m[k1 + 1, 2] == 1)
    {
    br++;
    m[k1 + 1, 2] = 0; ;
    Console.WriteLine("попадение");
    }
    if (m[k1 + 2, 2] == 1)
    {
    br++;
    m[k1 + 2, 2] = 0;
    Console.WriteLine("попадение");
    }
    if (m[k1 + 1, 3] == 1)
    {
    br++;
    m[k1 + 1, 3] = 0;
    Console.WriteLine("попадение");
    }

    if (m[k1 + 2, 3] == 1)
    {
    br++;
    m[k1 + 2, 3] = 0;
    Console.WriteLine("попадение");
    }

    if (m[k2 + 1, 1] == 1)
    {
    br++;
    m[k2 + 1, 1] = 0;
    Console.WriteLine("попадение");
    }


    if (m[k2 + 2, 1] == 1)
    {
    br++;
    m[k2 + 2, 1] = 0;
    Console.WriteLine("попадение");

    }

    if (m[k2 + 3, 1] == 1)
    {
    br++;
    m[k2 + 3, 1] = 0;
    Console.WriteLine("попадение");
    }

    if (m[k3 + 2, 1] == 1)
    {
    br++;
    m[k3 + 2, 1] = 0;
    Console.WriteLine("попадение");
    }
    if (m[k3 + 3, 1] == 1)
    {
    br++;
    m[k3 + 3, 1] = 0;
    Console.WriteLine("попадение");
    }
    if (m[k3 + 4, 1] == 1)
    {
    br++;
    m[k3 + 4, 1] = 0;
    Console.WriteLine("попадение");

    }

    else
    {
    Console.WriteLine("не уцели");
    }
    Console.ReadKey();

    }





    }
    }
    }
    Последно редактирано от IRepzz : 05-25-2016 на 19:52

  2. #2
    Супер фен Аватара на JDeel
    Регистриран на
    Jan 2010
    Мнения
    1 626
    Не ми се проучва какво искаш да направиш, но тази дълга поредица от повтарящи се неща не е добра практика. Виж как можеш да напишеш всичко с по-малко код. Ползвай for цикли.

  3. #3
    Това за какъв език е? Ако ще пишеш единици и нули в масива, по-добре го направи boolean, с true и false. Измисли някакъв алгоритъм, да се генерират корабчетата, но и да има проверка да не са едно върху друго.
    Последно редактирано от SprayPaint : 05-25-2016 на 23:41

Правила за публикуване

  • Вие не можете да публикувате теми
  • Вие не можете да отговаряте в теми
  • Вие не можете да прикачвате файлове
  • Вие не можете да редактирате мненията си