Автор: Пользователь скрыл имя, 13 Декабря 2011 в 17:27, курсовая работа
Цель проекта заключается в том, чтобы создать программу, при помощи которой пользователь сможет проверить свои логические способности, попробовав решить одну из древнейших головоломок «Пятнашки».
Программа должна быть совместима с операционной системой Windows XP, Windows Vista и Windows 7, а так же при разработке программы необходимо использовать функции Win API.
Введение...................................................................................................................3
1 Анализ задачи 6
1.1 Цель разработки и функциональное назначение программного продукта 6
1.2 Анализ существующих аналогов продукта 7
2 Требования к программе 8
2.1 Системные требования 8
3 Инструментальные средства для создания программного продукта 10
3.1 Вычислительная система 10
3.2 Среда разработки 13
4 Проектирование 16
4.1 Концептуальный прототип 16
4.2 Описание модулей 18
4.3 Входные данные 20
4.4 Выходные данные 20
4.5 Логика программы 21
5 Тестирование и отладка 22
Заключение 23
Список литературы 24
break;
case 39://right
if (iHeroCol <3)
{
GameFi
GameFi
iHeroC
}
break;
}
}
void Congr(HWND hWnd);
SendMessage(
break;
case WM_DESTROY:
PostQuitMess
break;
case WM_CREATE:
{
break;
break;
}
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
/*****************************
//генерируем массив
void NewField(int num)
{
srand ((unsigned)time(NULL));
int code = 0;
int wi=0,wj=0,count=0;
const int Up = 1;
const int Left = 2;
const int Right = 3;
const int Down = 4;
do
{
code = rand()%4 + 1;
switch (code)
{
case Up:
if ((wi != 0)&& (GameField[wi - 1][wj] > 0))
{
GameFi
GameFi
wi--;
count+
}
break;
case Down:
if ((wi < 3)&& (GameField[wi + 1][wj] > 0))
{
GameFi
GameFi
wi++;
count+
}
break;
case Left:
if ((wj != 0)&& (GameField[wi ][wj- 1] > 0))
{
GameFi
GameFi
wj--;
count+
}
break;
case Right:
if ((wj < 3)&& (GameField[wi ][wj+ 1] > 0))
{
GameFi
GameFi
wj++;
count+
}
break;
}
} while
(count < num);
//Перемещаем свободную ячейку в позицию (4,4)
GameField[wi][wj]=
GameField[3][3]=0;
iHeroRow=3; iHeroCol=3;
}
//Поздравления если игра собрана
void Congr(HWND hWnd)
{
int row,sum1=0,sum2=0;
for (row=0;row<Side;row++)
sum1=sum1+
for (row=0;row<Side;row++)
sum2=sum2+
if ((sum1==10)&&(sum2==42)) DialogBox(hInst, (LPCTSTR)IDD_Congr, hWnd, (DLGPROC)Congr);
}
// обработчик сообщений.
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
return
TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
{
EndDia
return TRUE;
}
break;
}
return FALSE;
}
//eof