|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.08.2009, 17:42 | #1 |
Форумчанин
Регистрация: 09.06.2009
Сообщений: 545
|
графическая игрушка
у меня возникла проблема такого рода:
ловлю кубики и у меня накапливаются очки за каждый пойманный куб, но в случае промаха количество жизней должно уменьшаться, а у меня не уменьшается. как можно исправить??? |
07.08.2009, 13:02 | #2 |
Форумчанин
Регистрация: 09.06.2009
Сообщений: 545
|
почему не отвечаете, нечитабельно???
|
07.08.2009, 13:13 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А она вообще не запускается. Сразу на halt уходит.
Цитата:
Вот поправил: Код:
I'm learning to live...
Последний раз редактировалось Stilet; 07.08.2009 в 13:26. |
|
09.08.2009, 19:22 | #4 |
Форумчанин
Регистрация: 09.06.2009
Сообщений: 545
|
почти как я и хотел, но кубики падают с одного места. я пробовал изменить но не получилось. как можно доработать???
|
10.08.2009, 10:31 | #5 |
Форумчанин
Регистрация: 30.07.2009
Сообщений: 256
|
Вот так, я поправил, сейчс случайно и кубики цветными сделал, а то из у тебя невидно совсем было, еще замедлил, а то в той программе все прыгало с огромной скоростью.
Program kubik; uses crt,graph; var d,r,x,ax,ay,zamedlenie:integer; score,zhizni:integer; klavisha:char; procedure dvizhenie; begin zamedlenie:=0; Randomize; x:=300; score:=0; zhizni:=5; ax:=Random(540)+40; repeat If zamedlenie mod 75 = 0 Then Begin ClearDevice; line(0,420,640,420); setcolor(red); ellipse(x,380,0,360,40,10); if (ay>=360) and (ay<=380) and (((ax+10)<=x+50) and ((ax-10)>=x-70)) then score:=score+5 else if ((ay+40)>390) then begin zhizni:=zhizni-1; ay:=0; end; if zhizni=0 then begin outtextxy(50,160,' T H E E N D ! '); halt; end; writeln('score=',score); gotoxy(1,3); writeln('zhizni=',zhizni); setcolor(red); ellipse(x,380,0,360,40,10); setcolor(green); SetFillStyle(1,2); BAr(ax,ay,ax+40,ay+40); delay(50); setcolor(black); ellipse(x,380,0,360,40,10); rectangle(ax,ay,ax+40,ay+40); ay:=ay+10; if ay=380 then begin ay:=0; ax:=random(60)*10+20; end; end; klavisha:=' '; if keypressed then klavisha:=readkey; if (klavisha='a') and (x>55) then x:=x-25; if (klavisha='d') and (x<580) then x:=x+25; setcolor(red); ellipse(x,380,0,360,40,10); zamedlenie:=zamedlenie+1 until klavisha=#27; end; begin randomize; d:=detect; initgraph(d,r,''); directvideo:=false; dvizhenie; closegraph; end. |
11.08.2009, 13:29 | #6 |
Форумчанин
Регистрация: 09.06.2009
Сообщений: 545
|
хотелось чтобы текст "THE END" ОТОБРАЖАЛСЯ В ЦЕНТРЕ ЭКРАНА КРУПНЫМИ(на весь экран) мерцающими буквами. как это сделать???
|
11.08.2009, 14:27 | #7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Код:
Фонт выбереш по вкусу - про него читай в хелпе на эту функцию
I'm learning to live...
|
11.08.2009, 15:36 | #8 |
Форумчанин
Регистрация: 30.07.2009
Сообщений: 256
|
Легче всего сделать это через процедуру проигрыша, сейчас сделаю
|
11.08.2009, 15:45 | #9 |
Форумчанин
Регистрация: 30.07.2009
Сообщений: 256
|
Вот так
Код:
|
11.08.2009, 15:45 | #10 |
Форумчанин
Регистрация: 30.07.2009
Сообщений: 256
|
Там процедура проигрышь - и в случае проигрыша она активируется
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Игрушка | Nester | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 4 | 15.01.2009 19:02 |
Игрушка | Rusl92 | Мультимедиа в Delphi | 8 | 25.09.2008 12:11 |
Delphi 7 задача на графику, игрушка | Agent[PNZ] | Помощь студентам | 2 | 29.04.2008 10:54 |
игрушка в курсовике | EDG_aka_Dima | Помощь студентам | 2 | 25.05.2007 06:13 |
Игрушка | Rozalinda | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 9 | 14.01.2007 22:00 |