Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой проект ООП(Мирошников Иван, группа И-141).docx
Скачиваний:
18
Добавлен:
15.03.2016
Размер:
622.61 Кб
Скачать

Файл Ships.Cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using static System.Console;

public class Ships

{

Form1 form;

public int ships_leght;

public int coordX, coordY;

public Ships()

{

coordX = 0;

coordY = 0;

}

public Ships(int k)

{

ships_leght = k;

}

public virtual void fight_places(Places p)

{

int a = coordX;

int b = coordY;

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

{

for (int j = b; j < b + ships_leght; j++)

{

p.map[i, j] = Convert.ToChar("X");

}

}

}

public virtual void vert(Places p)

{

int a = coordX;

int b = coordY;

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

{

for (int j = b; j < b + ships_leght; j++)

{

p.map[j, i] = Convert.ToChar("X");

}

//else

//{

// MessageBox.Show("Нельзя так близко ставить корабли", "Близко!", MessageBoxButtons.OK, MessageBoxIcon.Error);

// //form.enter_coordinates(this);

//}

}

}

}

Файл Places.Cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using static System.Console;

public class Places

{

public static int weight, height; // длина и ширина поля

static Places() // статический конструктор класса Places

{

weight = 11;

height = 11;

}

public char[,] map = new char[weight, height]; // поле для игры

public void create() // метод создания поля игры

{

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

{

for (int j = 1; j < height; j++)

{

this.map[i, j] = Convert.ToChar("+");

}

}

}

}

Файл ShipAi.Cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using static System.Console;

namespace WindowsFormsApplication2

{

class ShipAI : Ships

{

Random rand = new Random();

public void enter()

{

coordX = rand.Next(1, 9);

coordY = rand.Next(1, 9);

}

public ShipAI(int k) : base(k)

{

}

public void placement()

{

int a = rand.Next(1, 2);

switch(a)

{

case 1: break;

case 2: break;

}

}

public override void fight_places(Places p)

{

enter();

int a = coordX;

int b = coordY;

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

{

for (int j = b; j < b + ships_leght; j++)

{

// if ((p.map[i, j] != Convert.ToChar("X")) && (p.map[i, j + ships_leght] != Convert.ToChar("X")) && (p.map[i + 1, j] != Convert.ToChar("X")) && (p.map[i - 1, j] != Convert.ToChar("X")))

p.map[i, j] = Convert.ToChar("X");

}

}

}

public override void vert(Places p)

{

int a = coordY;

int b = coordX;

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

{

for (int j = b; j < b + ships_leght; j++)

{

if ((p.map[i, j] != Convert.ToChar("X")) && (p.map[i + ships_leght, j] != Convert.ToChar("X")) && (p.map[i, j + 1] != Convert.ToChar("X")) && (p.map[i, j - 1] != Convert.ToChar("X")))

{ p.map[j, i] = Convert.ToChar("X"); }

}

}

}

}

}