|
Описание функций.
//Функция разброски яблок
void PlusJabloko(Game &g){}
1.Процесс….int x,y,i;
Int n=g.gaduka.pCount;
2.Заводим цикл do while ,в котором задаем координаты объекта- яблоко
x = rand() % 56+3; //
y = rand() % 19+3; //кординаты яблока
3.проверяем объект-яблоко,попало ли оно на объект-змейку.
4. Если попало->break;
5.Если все нормально,запоминаем позицию объекта-яблоко
6.переносим курсор в эту позицию
7.присваиваем цвет объкту-яблоко
8.рисуем объект-яблоко-> символом 4(5,6)
printf("%c", 6); //рисуем яблоко каким хотим символом
// Функция старта змейки ее координат и скорости
void skorostGame(Game &g){}
1.задаем точки-размер объека-змейка
2.когда создали-запоминам позицию
3.задаем скорость передвижения объекта-змейки
4.рисуем объект-яблоко
//Функция которая двигает и рисует
int Move(Game &g){}
1.вводим координаты головы объекта- змейка
2. вводим координаты хвоста объекта- змейка
3.проверяем следующую точку по направлению.
4.проверяем объект-змейка и объект- стенка, не наехал ли объект-змейка на объект-стенка
-если да-то выход
-если нет, то продолжаем
5.проверяем объект-змейка саму на себя ,не наехали на себя
-если да – то конец
-если нет – то продолжаем
6.при создании объекта- змейка перекомпилируем змейку путем увеличения ее длины на одну точку
7.появляется новый массив, больший на 1-цу
8.при съедании объекта-яблока -закрашиваем его в цвет змейки
9.закрашиваем хвостик змеи в зеленый цвет
10.закрашиваем курсор в белый цвет(голова змейки)
Цвета.
Экранные объекты можно закрашивать разными цветами .В объекте могут присутствовать два цвета- внутренний и цвет контура.
Цвета кодируются цифрами:
enum ConsoleColor
{
Pink = 0,
Blue = 1,
Green = 2,
Cyan = 3,
Red = 4,
Magenta = 5,
Brown = 6,
LightGray = 7,
DarkGray = 8,
LightBlue = 9,
LightGreen = 10,
LightCyan = 11,
LightRed = 12,
LightMagenta = 13,
Yellow = 14,
White = 15
Если значение кода задать большим 7,будет использован остаток от его деления на 7.
При создании экранных объектов по умолчанию происходит следующее:
-информационные рамки располагаются вертикально друг под другом в правой части экрана, остальные объекты размещаются в точке с координатами(0,0)
-все объекты создаются белыми с черным контуром.
Структуры:
struct Zmeja // структура змейка
{ COORD *t; //точки
int PCount; //количество яблок
};
enum uprawlenie{LEFT,UP,RIGHT,DOWN}; //направление змейки
struct Game //даные-точности: змейки, яблок, передвижение по X и Y, задержка, направление
{
Zmeja gaduka; //змейка
COORD jabloko; //яблоко
int dx,dy, //передвижение
pause; //задержка
int nap; //направление
};
Сообщения.
функция
координаты
сообщения
Void Level()
GotoXY(10,10)
GotoXY(10,11)
<<"Wu nikogda ne wuigraete "<<endl;
<<"eslu ne bydete bdutelnu!!!"<<endl;
Void ZmejaStart()
GotoXY(10,15)
<<"Soberite 75 Jablok "<<endl;
Void STENA_2()
GotoXY(20,0)
GotoXY(64,2)
GotoXY(64,3)
GotoXY(64,4)
GotoXY(64,5)
GotoXY(64,7)
GotoXY(64,8)
GotoXY(64,9)
GotoXY(64,10)
GotoXY(64,11)
GotoXY(64,13)
GotoXY(64,14)
GotoXY(64,15)
GotoXY(64,16)
GotoXY(2,2)-(2,23)
GotoXY(61,3)-(61,23)
<< "Igra \"Zmejka\" Maiko Ekaterini" <<endl;
<< "Danue:" << endl ;
<< "Jablok:0" << endl ;
<< "Dlina:3"<< endl;
<< "Speed:0" << endl;
<< "Uprawlenie:" << endl;
<< "Esc:Wuxod" << endl;
<< "P:Pause" << endl;
<<"S:Start" << endl;
<<"L:Level" << endl;
<<":Wwerx"<<endl;
<<":Wniz"<<endl;
<<":Wlewo"<<endl;
<<":Wprawo"<<endl;
printf("*");
printf("*");
Void main()
GotoXY(15,1)
GotoXY(15,6)
GotoXY(15,7)
GotoXY(23,1)
<< "Wu wuigrali(maladec!!!)" << endl;
printf( "\n\t\t\t" );
printf( "\n\t\t\t" );
printf("Wu proigrali(xa-xa-xa!!!)\n\n\t\t\t");
Входные параметры:
1.установка позиции курсора х,у;
void GotoXY(int X, int Y)
{
COORD coord = { X, Y };
SetConsoleCursorPosition(hStdOut, coord);
}
2. Структура объекта – змейка
struct Zmeja // структура змейка
{
COORD *t; //точки
int PCount; //количество яблок
};
3. даные-точности: змейки, яблок, передвижение по X и Y
struct Game задержка, направление
{
Zmeja gaduka; //змейка
COORD jabloko; //яблоко
int dx,dy, //передвижение
pause; //задержка
int nap; //направление
};
Выходные параметры:
1.Если выиграл
GotoXY(15,1); cout << "Wu wuigrali(maladec!!!)" << endl;
GotoXY(15,6);printf( "\n\t\t\t" );
GotoXY(15,7);printf( "\n\t\t\t" );
getch();
При использовании материалов активная ссылка на источник обязательна.