Автор работы: Пользователь скрыл имя, 17 Февраля 2011 в 16:34, курсовая работа
Программный продукт «Логическая игра «Морской бой»», используемый пользователем персонального компьютера.
Разработчиком программы является студент Томского Политехнического Университета группы 8880 специальности «Информационные системы и технологии в бизнесе» Погребной Вадим Юрьевич.
Программный продукт создается на основании выданного задания от преподавателя кафедры АИКС Луневой Е.Е.
Первым этапом разработки программного продукта будет составление функциональной спецификации, в которой будет описана программа с точки зрения пользователя, её основные функции. Вторым этапом будет разработка основных модулей программы и их функциональных возможностей, кодирование программы, отладка и тестирование программы.
else
if (d1<90)
if (Cpu.RowNum[d1+10] != -1) continue;
}
else
if (Cpu.RowNum[d1+10] != -1)
continue;
if (d1%10<9)
if (Cpu.RowNum[d1+1] != -1)
if (d1%10<8)
if (Cpu.RowNum[d1+2] != -1)
continue;
if (d1<90)
if (Cpu.RowNum[d1+10] != -1)
if (d1<80)
if (Cpu.RowNum[d1+20] != -1) continue;
else Cpu.RowNum[d1] = -1;
else Cpu.RowNum[d1] = -1;
else Cpu.RowNum[d1] = -1;
else Cpu.RowNum[d1] = -1;
}
//Аналогично для 3 палубных
if (len == 2)
for (int i = 7; i < 9; i++)
if (Ships1Destr[i])
if (i == 8)
len++;
else continue;
else break;
if (len
== 2) return;
for (int d1 = 0; d1 < 100; d1++)
if (Cpu.RowNum[d1] != -1)
{
if (d1%10)
if (Cpu.RowNum[d1-1] != -1)
{
if (d1%10>1)
{
if (Cpu.RowNum[d1-2] != -1)
{
if (d1%10>2)
{
if (Cpu.RowNum[d1-3] != -1) continue;
else
if (d1%10<9)
if (Cpu.RowNum[d1+1] != -1) continue;
}
else
if (Cpu.RowNum[d1+1] != -1) continue;
}
else
if (d1%10<9)
if (Cpu.RowNum[d1+1] != -1)
if (d1%10<8)
if (Cpu.RowNum[d1+2] != -1) continue;
}
else
if (Cpu.RowNum[d1+1] != -1)
if (Cpu.RowNum[d1+2] != -1) continue;
}
if (d1>9)
if (Cpu.RowNum[d1-10] != -1)
{
if (d1>19)
{
if (Cpu.RowNum[d1-20] != -1)
{
if (d1>29)
{
if (Cpu.RowNum[d1-30] != -1) continue;
else
if (d1<90)
if (Cpu.RowNum[d1+10] != -1) continue;
}
else
if (Cpu.RowNum[d1+10] != -1) continue;
}
else
if (d1<90)
if (Cpu.RowNum[d1+10] != -1)
if (d1<80)
if (Cpu.RowNum[d1+20] != -1) continue;
}
else
if (Cpu.RowNum[d1+10] != -1)
if (Cpu.RowNum[d1+20] != -1) continue;
}
if (d1%10<9)
if (Cpu.RowNum[d1+1] != -1)
if (d1%10<8)
if (Cpu.RowNum[d1+2] != -1)
if (d1%10<7)
if (Cpu.RowNum[d1+3] != -1)
continue;
if (d1<90)
if (Cpu.RowNum[d1+10] != -1)
if (d1%10<80)
if (Cpu.RowNum[d1+20] != -1)
if (d1%10<70)
if (Cpu.RowNum[d1+30] != -1) continue;
else Cpu.RowNum[d1] = -1;
else Cpu.RowNum[d1] = -1;
else Cpu.RowNum[d1] = -1;
else Cpu.RowNum[d1] = -1;
else Cpu.RowNum[d1] = -1;
else Cpu.RowNum[d1] = -1;
}
}
//Таймер для замедления выстрелов компьютера
void __fastcall
TSeaButForm::Timer2Timer(
{
Timer2->Enabled = false;
CompShot ();
}
//Прорисовка
канвы на форме из
void __fastcall TSeaButForm::FormPaint(TObject *Sender)
{
if (Bitmap1)
{
GridField1->Canvas->CopyRect(
GridField2->Canvas->CopyRect(
}
}
//Сохранение изображения канв
void TSeaButForm::SaveBM (int number)
{
//Для какого поля необходимо сохранить изображение
if (number == 1)
{
if (!Bitmap1)
{
Bitmap1 = new Graphics::TBitmap ();
Bitmap1->Height = 300;
Bitmap1->Width = 300;
}
Bitmap1->Canvas->CopyRect(
}
else
{
if (!Bitmap2)
{
Bitmap2 = new Graphics::TBitmap ();
Bitmap2->Height = 300;
Bitmap2->Width = 300;
}
Bitmap2->Canvas->CopyRect(
}
}
//Установка свойств окна в нужный режим
void TSeaButForm::SetWindow (bool kind)
{
//kind определят в какой режим нужно установить
//0 - деактивация элементов
//1 - активация
if (!kind)
{
SeaButForm->FormStyle = fsStayOnTop; //Сделать окно поверх
TBorderIcons tempBI = BorderIcons; //Убрать кнопки изменения размера окна
tempBI >> biMinimize;
BorderIcons = tempBI;
File->Enabled = false; //деактивировать меню
Help->Enabled = false;
}
//Привести к первоначальному виду
else
{
SeaButForm->FormStyle = fsNormal;
TBorderIcons tempBI = BorderIcons;
tempBI << biMinimize;
BorderIcons = tempBI;
File->Enabled = true;
Help->Enabled = true;
}
}
//Рисование на канве под номером number в поле с координатами
//xp b yp в случая попадания или непопадания. aim определяет попадание
void TSeaButForm::SeaDraw (int number, int xp, int yp, bool aim)
{
if (number == 1)
if (aim)
{
GridField1->Canvas->
GridField1->Canvas->
GridField1->Canvas->
}
else
{
GridField1->Canvas->
GridField1->Canvas->
GridField1->Canvas->
}
else
if (aim)
{
GridField2->Canvas->
GridField2->Canvas->
GridField2->Canvas->
}
else
{
GridField2->Canvas->
GridField2->Canvas->
GridField2->Canvas->
}
}
//Сохранение результатов. number - определяет того, кто выиграл
void TSeaButForm::SaveRes (int number)