Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Написал свою первую игру. Добавил массивы недавно. Теперь не работает

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Написал свою первую игру. Добавил массивы недавно. Теперь не работает
Имя
Сообщение << Старые топики   Новые топики >>
Написал свою первую игру. Добавил массивы недавно. Теперь не работает - 2008-01-17 15:04:46.470000   
Novator

Сообщений: 6
Оценки: 0
Присоединился: 2007-12-21 19:22:04.746666
Я недавно изучил массивы в Си++ (IDE - Turbo c++). Решил переделать свою игру, которую раньше написал без них. Переделал. Теперь игра работает не так, как надо.
Суть игры:
Подобрать смайликом все 5 бонусов.
После переделки программы не выводятся бонусы (@). Игра работает в текстовом режыме.

#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;dos.h&gt; void main() { clrscr(); randomize(); int i=0; //в этой переменной хранится кол-во подобраных бонусов int bonus1=0,bonus2=0,bonus3=0,bonus4=0,bonus5=0; //заготовка переменных, для того, чтобы нелзя было подобрать много раз один и тот же бонус int bonus_x [4]; //массивы с кординатами вывода бонусов int bonus_y [4]; for (int k=0,l=0;k==5;k++,l++) { //заполнение массива числами bonus_x[k]=random(75); bonus_y[l]=random(25); } for (k=0,l=0;k==4;k++,l++) { [color=#990000] //вывод бонусов (не работает)[/color] gotoxy (bonus_x [k],bonus_y [l]); textcolor (6); cprintf ("@"); } //------------------------------------------------------ int x=1,y=1; gotoxy(x,y); textcolor(6); cprintf(":)"); //------------------------------------------------------ for (;i&lt;5;) { //цикл для увеличения счетчика при подборе бонуса gotoxy(74,1); textcolor(9); cout&lt;&lt;"&lt;&lt; "&lt;&lt;i&lt;&lt;" &gt;&gt;"&lt;&lt;endl; if (bonus1!=1) { //если bonus1 не равен единице, то if (x==bonus_x[0] && y==bonus_y[0]) { //если координаты смайлика совпали с координатвми бонуса i++; //прибавить к счетчику единицу bonus1=1; //приведенный левее код написае для того, чтобы один и тотже бонус нельзя было подбирать несколько раз. теперь bonus1 равен единице } } if (bonus2!=1) { if (x==bonus_x[1] && y==bonus_y[1]) { i++; bonus1=1; } } if (bonus3!=1) { if (x==bonus_x[2] && y==bonus_x[2]) { i++; bonus3=1; } } if (bonus4!=1) { if (x==bonus_x[3] && y==bonus_y[3]) { i++; bonus4=1; } } if (bonus5!=1) { if (x==bonus_x[4] && y==bonus_x[4]) { i++; bonus5=1; } } //------------------------------------------------------ getch(); //управление смайликом с помощью клавиш switch (getch()) { case 72: { if (y==1){ cout&lt;&lt;"\a\n"; //при столкновении с стенкой слышытся писк динамика break; } gotoxy(x,y); textcolor(0); cprintf(":)"); textcolor(6); gotoxy(x,y=y-1); cprintf(":)"); break; } case 75: { if (x==1) { cout&lt;&lt;"\a\n"; //при столкновении с стенкой слышытся писк динамика break; } gotoxy(x,y); textcolor(0); cprintf(":)"); gotoxy(x=x-1,y); textcolor(6); cprintf(":)"); break; } case 77: { if (x==79) { cout&lt;&lt;"\a\n"; //при столкновении с стенкой слышытся писк динамика break; } gotoxy(x,y); textcolor(0); cprintf(":)"); gotoxy(x=x+1,y); textcolor(6); cprintf(":)"); break; } case 80: { if (y==25){ cout&lt;&lt;"\a\n"; //при столкновении с стенкой слышытся писк динамика break; } gotoxy(x,y); textcolor(0); cprintf(":)"); gotoxy(x,y=y+1); textcolor(6); cprintf(":)"); break; } } } //------------------------------------------------------ gotoxy(74,1); //Вывод счетчика подобраных бонусов textcolor(9); cout&lt;&lt;"&lt;&lt; "&lt;&lt;i&lt;&lt;" &gt;&gt;"&lt;&lt;endl; //------------------------------------------------------ gotoxy(x,y); //вывод смайлика textcolor(1); cprintf(":)"); //------------------------------------------------------ gotoxy(x,y-1); //это появится вокруг смайлика textcolor(1); cprintf("||"); gotoxy(x,y+1); textcolor(1); cprintf("||"); gotoxy(x-2,y); textcolor(1); cprintf("=="); gotoxy(x+2,y); textcolor(1); cprintf("=="); //------------------------------------------------------ for (int q=34,w=1; w&lt;26;w++) { //вывод бегущей строки gotoxy(q,w-1); textcolor (0); cprintf("ВЫ ВЫИГРАЛИ!"); gotoxy(q,w); textcolor(6); cprintf("ВЫ ВЫИГРАЛИ!"); gotoxy(q,w); delay (145); } textcolor(0); cprintf("ВЫ ВЫИГРАЛИ!"); }
Post #: 1
RE: Написал свою первую игру. Добавил массивы недавно. Теперь не работает - 2008-01-17 16:14:02.410000   
heaven7

Сообщений: 134
Оценки: 5
Присоединился: 2007-12-29 20:49:38.910000
думаешь кто-то будет рыться в твоём коде?
Post #: 2
RE: Написал свою первую игру. Добавил массивы недавно. Теперь не работает - 2008-01-17 17:17:30.706666   
artem_purgen

Сообщений: 336
Оценки: 0
Присоединился: 2008-01-11 14:53:04.040000
ага, +1
Post #: 3
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Написал свою первую игру. Добавил массивы недавно. Теперь не работает







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.