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

 
 Ответить  Открыть новую тему 
> Карточная игра, помогите откомментировать
сообщение
Сообщение #1





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

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


Помогите расскомментирвоать, написанную игру как можно более подробно. Заранее очень благодарен.

{Originally from Frederic Gaonac'h }

program memcards;

uses crt, graph;



type tableau= array[1..8,1..8] of integer;



procedure info;

var  i, j, k: integer;

begin

    for i:=1 to 2 do begin

        if i=1 then

        setcolor(3)

        else setcolor(0);

    outtextxy(200,20,'Programming:');

    outtextxy(5,70,'Left:     1');

    outtextxy(5,90,'Right:    3');

    outtextxy(5,110,'Up:       5');

    outtextxy(5,130,'Down:     2');

    outtextxy(520,70,'Validate:   ESP');

    outtextxy(520,90,'Sound/Sil.:   S');

    outtextxy(520,110,'I wanna quit: Q');

    outtextxy(140,460,'The goal is to get the same colours together');

        if i=1 then begin

            repeat

                for j:=1 to 20  do begin

                    for k:=1 to 2 do begin

                        if k=1 then setcolor(4) else setcolor(0);

                    outtextxy(310+1*j,20,'F');

                    outtextxy(320+2*j,20,'r');

                    outtextxy(330+3*j,20,'e');

                    outtextxy(340+4*j,20,'d');

                        if k=1 then delay(700);

                    end;

                end;

                for j:=20 downto 1  do begin

                    for k:=1 to 2 do begin

                        if k=1 then setcolor(4) else setcolor(0);

                    outtextxy(310+1*j,20,'F');

                    outtextxy(320+2*j,20,'r');

                    outtextxy(330+3*j,20,'e');

                    outtextxy(340+4*j,20,'d');

                        if k=1 then delay(700);

                    end;

                end;

            until keypressed;

        end;

    end;

end;



procedure gagne;

var i, j, k: integer;



begin

settextstyle(1,0,4);

    repeat

        for j:=1 to 20  do begin

            for k:=1 to 2 do begin

                if k=1 then setcolor(4) else setcolor(0);

            outtextxy(250+1*j,10,'G');

            outtextxy(270+2*j,10,'r');

            outtextxy(290+3*j,10,'e');

            outtextxy(310+4*j,10,'a');

            outtextxy(330+5*j,10,'t');

                if k=1 then delay(700);

            end;

        end;

        for j:=20 downto 1  do begin

            for k:=1 to 2 do begin

                if k=1 then setcolor(4) else setcolor(0);

            outtextxy(250+1*j,10,'G');

            outtextxy(270+2*j,10,'r');

            outtextxy(290+3*j,10,'e');

            outtextxy(310+4*j,10,'a');

            outtextxy(330+5*j,10,'t');

                if k=1 then delay(700);

            end;

        end;

    until keypressed;

end;





var a, b, cc, i, j, k, n, x, y, ca, co, pilote, mode: integer;

t, tt: tableau;

test , son, efface1, efface2: boolean;

s: string;

blank: pointer;



begin



pilote:=detect;

initGraph(pilote,mode,'c:\tp\bgi');

clearviewport;

setcolor(10);

setbkcolor(black);

setfillstyle(1,0);



son:=false;

    for j:=1 to 9 do begin

    line(110,j*50,510,j*50);

    end;

    for i:=1 to 9 do begin

    line(i*50+60,50,i*50+60,450);

    end;



    for a:=1 to 8 do begin

        for b:=1 to 8 do begin

        t[a,b]:=0;

        tt[a,b]:=0;

        end;

    end;





randomize;

    for a:=1 to 8 do begin

        for b:=1 to 8 do begin

            repeat

                i:=random(8)+1;

                j:=random(8)+1;

            until t[i,j]=0;

        if a<>6 then t[i,j]:=a else t[i,j]:=23;

        end;

    end;



    for a:=1 to 8 do begin

        for b:=1 to 8 do begin

            if t[a,b]=7 then t[a,b]:=14;

        end;

    end;



ca:=4;

co:=4;

cc:=0;



efface1:=true;

efface2:=false;

setcolor(13);

x:=100;

y:=100;

test:=false;

n:=0;

setcolor(3);

str(n,s);

outtextxy(160,35,s);

outtextxy(110,35,'Tries:                                     Info:I');



    repeat

        if efface1 then begin

        setcolor(13);

        rectangle(ca*50+75,co*50+15,ca*50+95,co*50+35);

        setfillstyle(1,13);

        floodfill(ca*50+80,co*50+20,13);

        end;



        if efface2 then begin

        setcolor(0);

        rectangle(ca*50+75,co*50+15,ca*50+95,co*50+35);

        setfillstyle(1,0);

        floodfill(ca*50+80,co*50+20,0);

        end;



    k:=ord(readkey);

        if son then begin

        sound(1000);

        delay(70);

        nosound;

        end;



        if efface1 then begin

        setfillstyle(1,0);

        floodfill(ca*50+80,co*50+20,10);

        end;



        if efface2 then begin

        setfillstyle(1,t[ca,co]);

        floodfill(ca*50+80,co*50+20,10);

        end;



        if (k=ord('3'))and(ca<8)and((ca<>x-1)or(co<>y)) then begin

            if tt[ca+1,co]=0 then begin

            efface1:=true;

            efface2:=false;

            end else begin

            efface2:=true;

            efface1:=false;

            end;



        ca:=ca+1;

        end;



        if (k=ord('1'))and(ca>1)and((ca<>x+1)or(co<>y)) then begin

            if tt[ca-1,co]=0 then begin

            efface1:=true;

            efface2:=false;

            end else begin

            efface2:=true;

            efface1:=false;

            end;

        ca:=ca-1;

        end;



        if (k=ord('2'))and(co<8)and((co<>y-1)or(ca<>x)) then begin

           if tt[ca,co+1]=0 then begin

           efface1:=true;

           efface2:=false;

           end else begin

           efface2:=true;

           efface1:=false;

           end;

        co:=co+1;

        end;



        if (k=ord('5'))and(co>1)and((co<>y+1)or(ca<>x)) then begin

            if tt[ca,co-1]=0 then begin

            efface1:=true;

            efface2:=false;

            end else begin

            efface2:=true;

            efface1:=false;

            end;

         co:=co-1;

         end;



        if (k=ord(' '))and((ca<>x)or(co<>y))and(tt[ca,co]=0) then begin

        setfillstyle(1,t[ca,co]);

        floodfill(ca*50+80,co*50+20,10);

            if x=100 then begin

            x:=ca;

            y:=co;

            cc:=t[ca,co];

            efface1:=false;

            efface2:=false;

            end else begin

            setcolor(0);

            str(n,s);

            outtextxy(160,35,s);

            n:=n+1;

            setcolor(3);

            str(n,s);

            outtextxy(160,35,s);

                if (t[ca,co]<>cc) then begin

                    if son then begin

                    sound(200);

                    delay(500);

                    nosound;

                    end;

                    repeat until keypressed;

                setfillstyle(1,0);

                floodfill(ca*50+80,co*50+20,10);

                setfillstyle(1,0);

                floodfill(x*50+80,y*50+20,10);

                efface1:=true;

                efface2:=false;

                end else begin

                    if son then begin

                    sound(2000);

                    delay(500);

                    nosound;

                    end;

                tt[x,y]:=cc;

                tt[ca,co]:=t[ca,co];

                efface1:=false;

                efface2:=false;



                test:=true;

                    for i:=1 to 8 do

                        for j:=1 to 8 do

                            if tt[i,j]=0 then test:=false;

                end;

            x:=100;

            y:=100;

            end;

        end;



        if k=ord('s') then if son=true then son:=false else son:=true;

        if k=ord('i') then info;

        until (k=ord('q'))or(test=true);



        if test=true then gagne;



closegraph;

end.


Сообщение отредактировано: saur -


Прикрепленные файлы
Прикрепленный файл  MEMCARDS.PAS ( 7.39 килобайт ) Кол-во скачиваний: 464
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2





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

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


Карточные игры - одни из древнейших азартных игр. В наше же время на официальном сайте вавада казино вы можете найти как карточные игры такие как блекджек, покер или баккара, так и современные игровые автоматы, где в мгновение можно стать миллионером.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


Активируйте азарт на полную вместе с вавада казино. Только представьте, там вас ждут увлекательные и волнующие игры с возможностью заработка реальных денег онлайн - все это и многое другое на официальном сайте казино Vavada.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





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

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


Играйте и посетите официальный сайт вавада казино для успешного заработка и крупных побед. Официальный сайт казино Vavada приглашает вас окунуться в захватывающий мир онлайн-слотов, где каждый спин может превратиться в волнующее приключение.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





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

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


Играю в vavada casino уже несколько месяцев, и каждый раз получаю удовольствие от азарта и атмосферы казино. Очень удобный вход на официальном сайте, отличный выбор слотов и рулетки. Быстрый вывод выигрышей – это то, что я ценю в Vavada казино. Рекомендую всем азартным душам!


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 3.04.2025 5:53
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name