IPB
ЛогинПароль:

> Игра :"Выживи, если сможешь!".
Костян
сообщение 6.12.2005 18:38
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 68
Пол: Мужской

Репутация: -  0  +


Обращаюсь ко всем с просьбой-проверьте игруху(она не пашет). Смысл в том, что по экрану передвигается "ЧЕЛ", расположены 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. Я задаю цвет "ЧЕЛА" синий, а мин красный- в начале все идет как надо, но затем все становится красным-почему и как это исправить?
Умоляю если кто нибудь знает ответ хоть на один из этих вопросов умоляю не держите в себе cool.gif . Так же буду рад отзывам критике и пр. give_rose.gif


--------------------
...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор...
...и было в том договоре сказано....
...что будет создан ночной дозор для контроля темных программистов...
...и будет создан дневной дозор для надзора за светлыми программистами...
..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ.............
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Костян
сообщение 11.12.2005 0:22
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 68
Пол: Мужской

Репутация: -  0  +


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.
give_rose.gif


--------------------
...И заключили ТЕМНЫЕ И СВЕТЛЫЕ програмисты договор...
...и было в том договоре сказано....
...что будет создан ночной дозор для контроля темных программистов...
...и будет создан дневной дозор для надзора за светлыми программистами...
..................ТАК НАЧИНАЛАСЬ ЖИЗНЬ ТУРБО ПАСКАЛЯ.............
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Костян   Игра :"Выживи, если сможешь!".   6.12.2005 18:38
volvo   Костян, так лучше? :rolleyes: program igra; use...   6.12.2005 19:20
Костян   volvo- Огромное тебе спасибо, все пашет, теперь см...   6.12.2005 19:29
volvo   Только не повторяй ошибок: координата X не может п...   6.12.2005 19:35
Костян   Глупый вопрос а почему : x не должна превышать 80 ...   7.12.2005 21:36
GoodWind   потому что размер экрана в текстовом режиме - 80x...   7.12.2005 21:41
Gothic_Snake   потому что размер экрана в текстовом режиме - 80x...   25.12.2005 19:44
NoName   program igra; uses crt; const left = #75; righ...   7.12.2005 22:23
Костян   Спасибо-довольно неплохая реализация, но взрыв все...   7.12.2005 22:58
GoodWind   procedure boom; var i: integer; begin textcolor(...   7.12.2005 23:12
K Y S K A   вот некоторая версия.. program igra; uses crt; con...   9.12.2005 11:33
Костян   K Y S K A и GoodWind- огромное вам спасибо. Код до...   10.12.2005 18:58
K Y S K A   Костян, а ты не мог бы прислать мне то что у тебя ...   10.12.2005 19:33
Костян   K Y S K A вот этот кусок кода. Добавил выход подсч...   11.12.2005 0:22
K Y S K A   А вот вариант с убиранием мин ... program igra; ...   11.12.2005 18:27
Костян   K Y S K A это все конечно круто, но бонусы ни куда...   11.12.2005 21:45
K Y S K A   неа, я пока бонусы не добавляла!!   12.12.2005 19:15
arhimag   Костян все вопросы не к ней а ко мне,, эту прогру ...   13.12.2005 21:59
Костян   Костян все вопросы не к ней а ко мне,, эту прогру...   14.12.2005 15:01
GoodWind   :lol: :lol: :lol: уахаахахааа! у вас, смотрю...   13.12.2005 22:18
arhimag   GoodWind :tank: Нет пиратам!! все диски...   14.12.2005 22:48
Тём@   Люди, а в чём собственно суть игры? :)   8.01.2006 2:13
Дож   А ты прочитал первую страницу?   8.01.2006 18:51
Тём@   Было дело. Покопался чуть в коде... Мне так кажет...   21.01.2006 5:02


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 15.07.2025 10:24
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"