![]() |
![]() |
Костян |
![]() ![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Обращаюсь ко всем с просьбой-проверьте игруху(она не пашет). Смысл в том, что по экрану передвигается "ЧЕЛ", расположены 3 мины если чел на них наступает-он труп(закончить игру пока можно только так- вариат выиграша- если чел наступает на нечто вроде выхода пока не сделал). Вот код игры:
Код program igra; uses crt; const left=#75; right=#77; up=#72; down=#80; var x, y,x2, y2, x3, y3, x4, y4, b: integer; c: char; b1, b2, b3, b4, b5, b6, b7, b8, b9: integer; procedure boom; begin gotoxy(20,20); textcolor(red); writeln('*'); gotoxy(40,40); textcolor(red); writeln('*'); gotoxy(15,10); textcolor(red); writeln('*'); end; procedure min; begin if x4=20 then b1:=1; if y4=20 then b2:=1; if x4=40 then b4:=2; if y4=40 then b5:=2; if x4=15 then b7:=3; if y4=10 then b8:=3; b3:=b1+b2; b6:=b4+b5; b9:=b7+b8; if b3=2 then begin clrscr; gotoxy(35,3); writeln('You is DEAD!!!'); readkey; halt; end; if b6=4 then begin clrscr; gotoxy(35,3); writeln('You is DEAD!!!'); readkey; halt; end; if b7=6 then begin clrscr; gotoxy(35,3); writeln('You is DEAD!!!'); readkey; halt; end; begin begin clrscr; x:=5; y:=1; x2:=4; y2:=2; x3:=5; y3:=3; x4:=4; y4:=4; TEXTCOLOR(BLUE); gotoxy(x,y); write('O'); gotoxy(x2,y2); write('XXX'); gotoxy(x3,y3); write('X'); gotoxy(x4,y4); write('X X'); boom; min; repeat c:=readkey; case c of #0: case readkey of left: begin clrscr; x:=x-1; x2:=x2-1; x3:=x3-1; x4:=x4-1; gotoxy(x,y); write('O'); gotoxy(x2,y2); write('XXX'); gotoxy(x3,y3); write('X'); gotoxy(x4,y4); write('X X'); boom; min; b:=b+1; end; right: begin clrscr; x:=x+1; x2:=x2+1; x3:=x3+1; x4:=x4+1; gotoxy(x,y); write('O'); gotoxy(x2,y2); write('XXX'); gotoxy(x3,y3); write('X'); gotoxy(x4,y4); write('X X'); boom; min; b:=b+1; end; up: begin clrscr; y:=y-1; y2:=y2-1; y3:=y3-1; y4:=y4-1; gotoxy(x,y); write('O'); gotoxy(x2,y2); write('XXX'); gotoxy(x3,y3); write('X'); gotoxy(x4,y4); write('X X'); boom; min; b:=b+1; end; down: begin clrscr; y:=y+1; y2:=y2+1; y3:=y3+1; y4:=y4+1; gotoxy(x,y); write('O'); gotoxy(x2,y2); write('XXX'); gotoxy(x3,y3); write('X'); gotoxy(x4,y4); write('X X'); boom; min; b:=b+1; end; end; end; until b=100; readkey; end. Также есть несколько вопросов: 1. Можно ли упростить данный вариант кода, если ДА - то как? 2. Я задаю цвет "ЧЕЛА" синий, а мин красный- в начале все идет как надо, но затем все становится красным-почему и как это исправить? Умоляю если кто нибудь знает ответ хоть на один из этих вопросов умоляю не держите в себе ![]() ![]() -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
![]() ![]() |
Костян |
![]()
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Глупый вопрос а почему : x не должна превышать 80 ,а y 24?
![]() А ВОТ И НОВЫЙ КОД-ПОКА ЕЩЕ НИЧЕГО ОСОБЕННОГО: Код program igra; uses crt; const left = #75; right = #77; up = #72; down = #80; var x, y, b: integer; c: char; procedure show_man; begin textcolor(lightblue); gotoxy(x, y+0); write(' O'); gotoxy(x, y+1); write('XXX'); gotoxy(x, y+2); write(' X'); gotoxy(x, y+3); write('X X'); end; procedure boom; begin gotoxy(20, 20); textcolor(red); writeln('*'); gotoxy(50, 10); textcolor(red); writeln('*'); gotoxy( 5, 12); textcolor(red); writeln('*'); gotoxy(5, 5); textcolor(red); writeln('*'); gotoxy(35, 5); textcolor(red); writeln('*'); gotoxy(47,20); textcolor(red); writeln('*'); end; procedure min; begin if ((x = 20) and (y+3 = 20)) or ((x = 50) and (y+3 = 10)) or ((x = 5) and (y+3 = 12)) or ((x = 5) and (y+3 = 5)) or ((x =35) and (y+3 = 5)) or ((x =47) and (y+3 = 20)) then begin clrscr; gotoxy(x-1,y+1); write('o'); delay(15000); delay(15000); gotoxy(x-1,y+1); write('ooo'); delay(15000); delay(15000); gotoxy(x-2,y+2); write('o o o'); delay(15000); delay(15000); gotoxy(x-3,y+3); write('o o o'); delay(15000); delay(15000); clrscr; textcolor(lightred); gotoxy(35,3); writeln('You are DEAD!!!'); textcolor(lightgray); readkey; halt; end; end; begin clrscr; b := 0; x :=5; y :=20; show_man; boom; min; repeat c:=readkey; case c of #0: case readkey of left : dec(x); right: inc(x); up : dec(y); down : inc(y); end; end; clrscr; show_man; boom; min; b:=b+1; until b=100; readkey; end. Прописал в проге(код смотри выше) нечто вроде взрыва персонажа при его гибели- не очень пправдоподобно получилось. Если у кого есть идеи, как улучшить-пишите! ![]() Сообщение отредактировано: Костян - 7.12.2005 22:03 -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
![]() ![]() |
![]() |
Текстовая версия | 15.07.2025 11:10 |