![]() |
![]() |
Костян |
![]() ![]()
Сообщение
#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. Я задаю цвет "ЧЕЛА" синий, а мин красный- в начале все идет как надо, но затем все становится красным-почему и как это исправить? Умоляю если кто нибудь знает ответ хоть на один из этих вопросов умоляю не держите в себе ![]() ![]() -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Костян,
так лучше? ![]() program igra; |
Костян |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
volvo- Огромное тебе спасибо, все пашет, теперь смогу добавитьеще пару 10 мин, а также линию жизни персонажа и выход в случае победы.
![]() ![]() ![]() ![]() ![]() ![]() -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Только не повторяй ошибок: координата X не может превышать 80, а Y не больше 24 !!! У тебя одна мина стояла на (40, 40) - ты на нее никогда не наступишь
![]() |
Костян |
![]()
Сообщение
#5
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 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 -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
GoodWind |
![]()
Сообщение
#6
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Цитата Глупый вопрос а почему : x не должна превышать 80 ,а y 24? потому что размер экрана в текстовом режиме - 80x24 символа ![]() -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
NoName |
![]()
Сообщение
#7
|
Гость ![]() |
Цитата Если у кого есть идеи, как улучшить-пишите! program igra; ![]() |
Костян |
![]()
Сообщение
#8
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Спасибо-довольно неплохая реализация, но взрыв все еще напоминает очень отдаленно...
![]() -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
GoodWind |
![]()
Сообщение
#9
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
procedure boom; так больше похоже ? ![]() -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
K Y S K A |
![]()
Сообщение
#10
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 95 Пол: Женский Реальное имя: Оля Репутация: ![]() ![]() ![]() |
вот некоторая версия..
program igra; |
Костян |
![]() ![]()
Сообщение
#11
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
K Y S K A и GoodWind- огромное вам спасибо. Код довольно неплох соединил обе вариации добавил выход, счас работаю над звуком, жизнями и разными бонусами- как только что нибудь да выйдет- сразу же выложу!
-------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
K Y S K A |
![]()
Сообщение
#12
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 95 Пол: Женский Реальное имя: Оля Репутация: ![]() ![]() ![]() |
Костян, а ты не мог бы прислать мне то что у тебя уже готово!!, а то я её тоже параллельно модернизирую????
Пожалуйста ![]() |
Костян |
![]() ![]()
Сообщение
#13
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
K Y S K A вот этот кусок кода. Добавил выход подсчет очков. Правда появилась проблема добавил бонусы при касании которых добавляются очки,но не знаю, как сделать чтобы бонус после использования исчезал. Подскажи если знаешь как!!!
Код program igra; uses crt; const left = #75; right = #77; up = #72; down = #80; var x, y, b, score: integer; c: char; procedure sscore; begin if ((x = 80) and (y+3 = 13)) or ((x = 32) and (y+3 = 15)) or ((x = 12) and (y+3 = 19)) or ((x = 30) and (y+3 = 4)) or ((x =10) and (y+3 = 2)) then score:=score+1; gotoxy(72,1); textcolor(lightgreen); writeln('score=',score); gotoxy(80,13); writeln('*'); gotoxy(32,15); writeln('*'); gotoxy(12,19); writeln('*'); gotoxy(30,4); writeln('*'); gotoxy(10,2); writeln('*'); end; 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 indikator; begin gotoxy(40,7);textcolor(yellow); writeln('|_|'); end; procedure indi; begin if ((x = 40) and (y+3 = 7)) then begin clrscr; gotoxy(35,3); writeln('You WIN!!!'); gotoxy(33,10); writeln('YOU SCORE:',score); readkey; halt; end; 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!!!'); gotoxy(37,10); writeln('YOU SCORE:',score); textcolor(lightgray); readkey; halt; end; end; begin clrscr; b := 0; x :=5; y :=20; show_man; boom; min; indikator; indi; sscore; 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; indikator; indi; sscore; b:=b+1; until b=100; readkey; end. ![]() -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
K Y S K A |
![]()
Сообщение
#14
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 95 Пол: Женский Реальное имя: Оля Репутация: ![]() ![]() ![]() |
А вот вариант с убиранием мин ...
program igra; |
Костян |
![]()
Сообщение
#15
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
K Y S K A это все конечно круто, но бонусы ни куда не исчезают. ИХ ВООБЩЕ НЕТ. Может у меня Паскаль глючит?
![]() -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
K Y S K A |
![]()
Сообщение
#16
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 95 Пол: Женский Реальное имя: Оля Репутация: ![]() ![]() ![]() |
неа, я пока бонусы не добавляла!!
|
arhimag |
![]()
Сообщение
#17
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: ![]() ![]() ![]() |
Костян все вопросы не к ней а ко мне,, эту прогру написал я сам! а она подло её с моей дискеты себе на комп вкачала! и не добавила бонусы, потому что я их не добавил
![]() -------------------- Чего хочет женщина – того хочет Бог
|
GoodWind |
![]()
Сообщение
#18
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
![]() ![]() ![]() у вас, смотрю пиратство процветает ![]() -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Костян |
![]()
Сообщение
#19
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Репутация: ![]() ![]() ![]() |
Костян все вопросы не к ней а ко мне,, эту прогру написал я сам! а она подло её с моей дискеты себе на комп вкачала! и не добавила бонусы, потому что я их не добавил ![]() Да ладно? Слушай, а тогда можешь сказать, как эти чертовы бонусы убирать! -------------------- ...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор... ...и было в том договоре сказано.... ...что будет создан ночной дозор для контроля темных программистов... ...и будет создан дневной дозор для надзора за светлыми программистами... ..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ............. |
arhimag |
![]()
Сообщение
#20
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: ![]() ![]() ![]() |
GoodWind
![]() Костян и не думал над эитим!! -------------------- Чего хочет женщина – того хочет Бог
|
![]() ![]() |
![]() |
Текстовая версия | 15.07.2025 0:51 |