→ Для вступления в общество новичков и профессионалов программирования, пожалуйста нажмите здесь ...

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Помогите с курсовой люди!! 
Автор Сообщение
Начинающий

Регистрация: 12.01.2011
Сообщения: 1
Языки:
Специальность:

Репутация: 0 [ ? ]
Сообщение Помогите с курсовой люди!!
Добрый день всем суть проблемы такова мне надо написать игру под с++ "Движущийся обьект с помехами на карте".Мне друг помог скомпилировать игру змейка но она не полностью одходит под условия курсовой во первых мне надо зделать так чтоб змейка двигалась только при нажатии клавиши например нажал клавишу она движетса отпустил она завмерает.Друзья кто подскажет как ето зделать буду оч благодарен или хотяб к мысле натолкнет !!

Добавлено спустя 1 минуту 26 секунд:
//Функция которая двигает и рисует
enum {KONEC, STENA, PLUS, MOVE};
int Move(Game &g)
{
int & n = g.gaduka.PCount;
COORD head = g.gaduka.t[n - 1]; //голова
COORD tail = g.gaduka.t[0]; //хвост
COORD next;
next.X = head.X + g.dx;
next.Y = head.Y + g.dy; //проверка следующей точки по направлению

if(next.X < 3 || next.Y < 3 || next.X > 60 || next.Y > 23)//не уперлась ли в стену?
return STENA;

if(n > 4)
{
for(int i = 0; i < n; i++)
if(next.X == g.gaduka.t[i].X && next.Y == g.gaduka.t[i].Y) //не наехали ли на себя?
return KONEC;
}

if(next.X == g.jabloko.X && next.Y == g.jabloko.Y)
{
COORD*temp = new COORD[ ++n ]; //новый масив больший на 1
for(int i = 0; i < n; i++)
temp[i] = g.gaduka.t[i]; //перекопируем
temp[n - 1] = next; //добавляем одну
delete [] g.gaduka.t;
g.gaduka.t = temp;

SetConsoleCursorPosition(hConsole,head);
SetConsoleTextAttribute(hConsole, 0x0a); //закрашываем яблоко которое сели
printf("*");
SetConsoleCursorPosition(hConsole,next);
SetConsoleTextAttribute(hConsole,0x0a);
printf("%c",1);
PlusJabloko(g);
return PLUS;
}

for(int i = 0; i < n - 1; i++)
g.gaduka.t[i] = g.gaduka.t[i + 1];
g.gaduka.t[n - 1] = next;
SetConsoleCursorPosition(hConsole,tail);//закрашиваем хвостик
printf(" ");

SetConsoleCursorPosition(hConsole,head);
SetConsoleTextAttribute(hConsole, 0x0a);//красим хвост змеи в зелений цвет
printf("*");
SetConsoleCursorPosition(hConsole,next);
SetConsoleTextAttribute(hConsole,0x0f); //красим курсор в белый цвет (голову змеи)
printf("%c",1);

return MOVE;
}

int intro()
{
GotoXY(3,10); //Интруха
printf("ЋЎлз­ п §¬Ґ©Є . “Їа ў«Ґ­ЁҐ §¬ҐоЄ®© - бв५®зЄ ¬Ё. Esc - ўл室 Ё§ ЁЈал.");
GotoXY(15,11);
printf("…б«Ё б®ЎҐас⥠50 пЎ«®Є, в® ў б ¦¤св боаЇаЁ§ ;)");
GotoXY(18,15);
printf("„«п Їа®¤®«¦Ґ­Ёп влЄ­ЁвҐ ­   ­ЁЄҐ© :D");
getch();
}

int main()
{


hConsole = GetStdHandle(STD_OUTPUT_HANDLE); //получаем дескриптор консоли
intro();
int key = 0, count = 0;
bool Pause=false;
Game g;
skorostGame(g);
STENA_2();
srand(time(0));
bool pause = false;
while(key != 27)
{
while(!kbhit()) //ждет пока нажмем
{
if(Pause==true)
{
Sleep(1);
continue;
}

switch (Move(g))//движение
{


12.01.2011 15:48
Профиль Отправить email
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 


Кто сейчас на конференции

Зарегистрированные пользователи: Google [Bot], Yahoo [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
© 2013 «Форум программистов Украины»