IRepzz
05-25-2016, 20:47
Трябва да направя проект за края на годината. Реших да направя кораби с двумерен масив, но стигнах до тук и не работи правилно. Може ли някой да помогне?
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();
}
}
}
}
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();
}
}
}
}