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

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> ИЗ графа не в текстовый а в паскаль
arhimag
сообщение 13.12.2005 21:52
Сообщение #1


Знаток
****

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

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


Люди помогите пожалуйста, показав на экране кубики, а их она покажет если нажать пробел, когда рука человека лежит на собаке , она должна считать цифру и в зависимости от цифры вывести рузультат, но результат должен быть в текстовом режиме, помогите исправить её пожалуйста
Код
program igra;
uses crt, graph;
const
left  = #75;
right = #77;
up    = #72;
down = #80;

var
driver, mode : Integer;
x, y, b, i, g, f,d, e, score: integer;
c: char;
mineXe:array [1..100] of integer;
mineYe: array [1..100] of integer;

{-----------------------------------------------}

procedure redestroy;
var x,y,n,m, a,b , c, d,e, f , g, i:integer;
var u:word;
    vybor:integer;
Begin
    driver:= 9;
    mode:= 1;
    initgraph(driver, mode, 'c:\bp\bgi');
    setActivePage(0);
        setvisualpage(0);
    setfillstyle(ltslashfill, white);
    bar(40, 20,600, 250);
    setfillstyle(solidfill, lightred);
    bar (60, 40 , 150 , 90);
    setfillstyle(solidfill, lightgreen);
    bar (60, 110, 150, 160);
    setfillstyle(solidfill, lightblue);
    bar(60, 180, 150, 230);
    outTextXY (70, 65, 'power_ON');
    randomize;
    a:=random(2) + 1;
    b:=((a+1) mod 3) + 1;
    c:=((b+1) mod 3) + 1;
    setcolor( green);
    f:=150;
    g:=65;
    for i:= 1 to 5 do begin
        d:=  (random(400)+100);
        e:=  (random(150) + 100);
        line(f, g, d, e);
        f:= (random(400)+100);
        g:= (random(150) + 100);
        line (d,e,f,g);
    end;
    setfillstyle( solidFill, yellow);
    pieslice(500, 60,0,360, 10);
    case a of
        1: line(f, g, 500, 60);
        2: line(f,g, 500, 140);
        3: line(f,g, 500, 220);
    end;
    setcolor( green);
    f:=150;
    g:=135;
    for i:= 1 to 5 do begin
        d:=  (random(400)+150);
        e:=  (random(150) + 100);
        line(f, g, d, e);
        f:= (random(400)+150);
        g:= (random(150) + 100);
        line (d,e,f,g);
    end;
    setfillstyle( solidfill, yellow);
    pieslice(500, 140,0,360, 10);
    case b of
        1: line(f, g, 500, 60);
        2: line(f,g, 500, 140);
        3: line(f,g, 500, 220);
    end;

    setcolor( green);
    f:=150;
    g:=205;
    for i:= 1 to 5 do begin
        d:=  (random(400)+200);
        e:=  (random(150) + 100);
        line(f, g, d, e);
        f:= (random(400)+200);
        g:= (random(150) + 100);
        line (d,e,f,g);
    end;
    setfillstyle( solidFill, yellow);
    pieslice(500, 220,0,360, 10);
    case c of
        1: line(f, g, 500, 60);
        2: line(f,g, 500, 140);
        3: line(f,g, 500, 220);
    end;

        read(vybor);
    case vybor of
     1 : case a of
            1:begin
            readln;
            closegraph;
            clrscr;
            setcolor(lightred);
            gotoxy(35,3);
            writeln('Mine was destroyed');
            readln;
            end;
            2:begin
            closegraph;
            clrscr;
            setcolor(lightred);
            gotoxy(35,3);
            writeln('You lose!!');
            gotoxy(35,4);
            writeln(score);
            readln;
            halt;
            end;
            3: begin
            closegraph;
            clrscr;
            setcolor(lightred);
            gotoxy(35,3);
            writeln('You lose!!');
            gotoxy(35,4);
            writeln(score);
            readln;
            halt;
            end;
            end;
     2: case a of
             3:begin
            closegraph;
            clrscr;
            setcolor(lightred);
            gotoxy(35,3);
            writeln('Mine was destroyed');
            end;
            2:begin
            closegraph;
            clrscr;
            setcolor(lightred);gotoxy(35,3);
            writeln('You lose!!');
            gotoxy(35,4);
            writeln(score);
            readkey;
            halt;
            end;
            1: begin
            readln;
            closegraph;
            clrscr;
            setcolor(lightred);
            gotoxy(35,3);
            writeln('You lose!!');
            gotoxy(35,4);
            writeln(score);
            readln;
            end;
            end;
     3   : case a of
            2:begin
            closegraph;
            clrscr;
            setcolor(lightred);
            gotoxy(35,3);
            writeln('Mine was destroyed');
            end;
            1:begin
            closegraph;
            clrscr;
            setcolor(lightred);
            gotoxy(35,3);
            writeln('You lose!!');
            gotoxy(35,4);
            writeln(score);
            readln;
            Halt;
            end;
            3: begin
            closegraph;
            clrscr;
            setcolor(lightred);
            gotoxy(35,3);
            writeln('You lose!!');
            gotoxy(35,4);
            writeln(score);
            readln;
            halt;
            end;
            end;

     end;

end;
{-----------------------------------------------}

procedure net;
begin
     for i:= 1 to 10 do
     if ((x=minexe[i]) and ( y=mineye[i]-1)) or ((x=minexe[i]-2) and ( y=mineye[i]-1))  then begin
     redestroy;
     end;
     end;

{-----------------------------------------------}

procedure show_man;
begin
textcolor(yellow);
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 fill;
begin
randomize;
for i:= 1 to 10 do begin
minexe[i]:=random(80);
mineye[i]:=random(24);
end;
end;

{-----------------------------------------------}

procedure boom;
begin
for i:=1 to 10 do begin
if (minexe[i]<>0) and (mineye[i]<>0) then begin
textcolor(red);
gotoxy(minexe[i], mineye[i]); write('@');
end;
end;
end;

{-----------------------------------------------}

procedure min;
begin
for i:= 1 to 10 do begin
   if (x=minexe[i]) and ( y=mineye[i]-3)or ((x=minexe[i]-2) and ( y=mineye[i]-3))  then begin
   clrscr;
   textcolor(lightred);
   gotoxy(35,3); writeln('You are dead!!!');
   gotoxy(35,4); writeln('Your score was:', score);
   textcolor(lightgray);
      readkey; halt;
   end;
end;

end;


begin
score:=0;
clrscr;
gotoxy(35,3);  writeln('Choose level:');
gotoxy(35,4);  writeln('1. Legko');
gotoxy(35,5);  writeln('2. Slozno');
read(d);
case d of
1: d:=150;
2: d:=50;
end;
b := 0;
x :=5; y :=20;
fill;
show_man;
boom; min;

repeat
   c:=readkey;
   case c of
     #13:begin
     gotoxy(35,3); writeln('Your score is:', score);
     readln;
     end;
     #32: net;
     #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;
   if score= 10  then begin
   b:=d;
   clrscr;
   gotoxy(35,3);
   textcolor(White);
   writeln('You win the game!!!');
   readkey;
   end;

until b=d;
readkey;
end.


Сообщение отредактировано: arhimag - 13.12.2005 21:52


--------------------
Чего хочет женщина – того хочет Бог
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
arhimag
сообщение 14.12.2005 8:00
Сообщение #2


Знаток
****

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

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


а ты попробуй, он просто выключается, а не выводит скор!!!
У него вот какая проблема нажимаешь 1 он должен либо выключитя перед этим выведя на эвран скор и надпись, что ты умер,а 1 считав <ENTER> уже выключиться. а он пишет графнотинитыд!


--------------------
Чего хочет женщина – того хочет Бог
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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