Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   лабиринт (http://www.flasher.ru/forum/showthread.php?t=24710)

philimon 18.12.2001 14:14

лабиринт
 
нужен принцип прохождения для игры аркада-адвенчура
лучше на каком-нибудь понятном языке - Lingo, ActionScript, javascript(!)

Big_J_ 19.12.2001 17:52

Цитата:

нужен принцип прохождения для игры аркада-адвенчура лучше на каком-нибудь понятном языке - Lingo, ActionScript, javascript(!)
:rolleyes: И на какой вопрос отвечять точнее в чем вопрос :(

Fisher 19.12.2001 20:32

В исходниках был флэшевый пэкмэн. Ежли не накрылся канэшна.

Big_J_ 20.12.2001 11:55

А дак значит philimon принцып построения играшек имел ввиду :) а я то думал ему принцып прохождения игр надо во думаю странный парень :)

а на счет "PACMAN" дак я ентот исходник в свое время так разкалупал что ваще :)

Ну кароче говоря тебе philimon не по принципу PacMan-а надо делать а на массиве основываться ну тоесть добавления новых уровней лучше массивом реализовывать ну типа так

Код:

//Описание уровней
Level1 = new Array ();
Level1[0]        = "Level 1"
Level1[1]        = "1111111111111111111111111111111111111";
Level1[2]        = "1              x1xxz1szzzzzh1xxxxxxx1";
Level1[3]        = "1            zs1ssz1s1sssss1xssssss1";
Level1[4]        = "1s          x1s1zzz1s1111111xs1111s1";
Level1[5]        = "1sx        xx1s1 1z1sxxxxxxxxs1xxxs1";
Level1[6]        = "1sss      xss1s1 1s1ssssssssss1ssss1";
Level1[7]        = "1sxsx    sxss1z1 1s111111111111s1111";
Level1[8]        = "1xsxsx  xssxs1z1 1sxxxxxxxxxxxxs1x01";
Level1[9]        = "111111z1z111111z1 1ssssssssssssss1s01";
Level1[10]        = "1            1z1 1111111111111111z01";
Level1[11]        = "1            1 1                  01";
Level1[12]        = "1            1 1 0000000000000000 01";
Level1[13]        = "1            1                    1";
Level1[14]        = "1            1 111111111111111111111";
Level1[15]        = "1  b b b b b  1 10x0x0x0x0x0x0x0x0x01";
Level1[16]        = "1 0 0 0 0 0 0 1zzzzzzzzzzzzzzzzzzzzz1";
Level1[17]        = "1z0z0z0z0z0z0z1111111111111111111zzz1";
Level1[18]        = "1sxsxsxsxssxsxsszzzzzzzzzzzzzzzzzzzz1";
Level1[19]        = "1xsxsxsxsxxsxsss0s0s0s0s0s0s0s0s0s0s1";
Level1[20]        = "1111111111111111111111111111111111111";

//==========> 0-Stena; x-Valun; s-Apple; '_'-Nathing; H-home;"-"-Pole
Level2 = new Array ();
Level2[0]        = "Level 2"
Level2[1]        = "1111111111111111111111111111111111111";
Level2[2]        = "1ss          ssz  zss          ss1";
Level2[3]        = "1ssx        ssx0  0sxs        xsx1";
Level2[4]        = "1sxsx      xssx0zzz0sssx      xxss1";
Level2[5]        = "1xssxs    ssxss0zzs0sssxs    sxsss1";
Level2[6]        = "1sxssxs  sxxsxs0zsz0ssxsxx  ssxsxs1";
Level2[7]        = "1ssxsssx xxsxssx0szz0sssxsss sxsxsxs1";
Level2[8]        = "1sssssssssssssss0zzz0ssxsxxsssxxsxsx1";
Level2[9]        = "10000000z00000000zzs00000000z00000001";
Level2[10]        = "1              0zsz0              1";
Level2[11]        = "1              0szz0              1";
Level2[12]        = "1      G      0zzz0              1";
Level2[13]        = "1              0zzs0              1";
Level2[14]        = "1      s      0zsz0      s      1";
Level2[15]        = "1      sxs      0szz0      sxs      1";
Level2[16]        = "1    sxsxs    0zzz0    sxsxs    1";
Level2[17]        = "1    sxsxsxs    00000    sxsxsxs    1";
Level2[18]        = "1  sxsxsxsxs  zsssz  sxsxsxsxs  1";
Level2[19]        = "1  sxsxsxsxsxs  0sss0  sxsxsxsxsxs  1";
Level2[20]        = "1111111111111111111111111111111111111";

Level3 = new Array ();
Level3[0]        = "Level 3";
Level3[1]        = "1111111111111111111111111111111111111";
Level3[2]        = "1xxxsxxzzzxxsss0    0ssssssssssssss1";
Level3[3]        = "1Gsxxsx0szsxsxs0 bbb 0000000000000001";
Level3[4]        = "1xssxxs0s0sxsxs0 zzz 0ssssssssssssss1";
Level3[5]        = "1xxssxx0s0sxsxxz    0000000000000001";
Level3[6]        = "1xxxssx0s0sxsss0    0ssssssssssssss1";
Level3[7]        = "1xxxxss0s0sxxxs0    0000000000000001";
Level3[8]        = "1xxxxxsss0sssss0    0ssssssssssssss1";
Level3[9]        = "1000000000000000    0000000000000001";
Level3[10]        = "1                                  1";
Level3[11]        = "1        x x x      x x x        1";
Level3[12]        = "1        0000000000000000000        1";
Level3[13]        = "1        wwwww1b0b0b0b1wwwww        1";
Level3[14]        = "1      s      100000001      s      1";
Level3[15]        = "1    sxs    1b0b0b0b1    sxs    1";
Level3[16]        = "1    sxsxs    100000001    sxsxs    1";
Level3[17]        = "1  sxsxsxs  1sssssss1  sxsxsxs  1";
Level3[18]        = "1  sxsxsxsxs  1sssssss1  sxsxsxsxs  1";
Level3[19]        = "1 sxsxsxsxsxs 1ssshsss1 sxsxsxsxsxs 1";
Level3[20]        = "1111111111111111111111111111111111111";


Level4 = new Array ();
Level4[0]        = "Level 4";
Level4[1]        = "1111111111111111111111111111111111111";
Level4[2]        = "1zzzzzzzzzzz0zzzzzzzzzzzzzzzzzzzzzzz1";
Level4[3]        = "1zbzbzbzbzbz0zzzzzzzzzzzzzzzzzzzzzzz1";
Level4[4]        = "1zzzzzzzzzzz0zzzzzzzzzzzzzzzzzzzzzzz1";
Level4[5]        = "1          0zzzzzzzzzzzzzzzzzzzzzzz1";
Level4[6]        = "1000000000000zzzzzzzzzzzzzzzzzzzzzzz1";
Level4[7]        = "1zzzzzzzzzzz0zzzzzzzzzzzzzzzzzzzzzzz1";
Level4[8]        = "1zwzwzwzwzwz0zzzzzzzzzzzzzzzzzzzzzzz1";
Level4[9]        = "1zzwzwzwzwzz0zzzzzzzzzzzzzzzzzzzzzzz1";
Level4[10]        = "1zwzwzwzwzwz0zzzzzzzzzzzzzzzzzzzzzzz1";
Level4[11]        = "1zzzzzzzzzzz0zzzzzzzzzzzzzzzzzzzzzzz1";
Level4[12]        = "1000000000000zzzzzzzzzzzzzzzzzzzzzzz1";
Level4[13]        = "1          zzzzzzzzzzzzzzzzzzzzzzzz1";
Level4[14]        = "1          zzzzzzzzzzzzzzzzzzzzzzzz1";
Level4[15]        = "1          zzzzzzzzzzzzzzzzzzzzzzzz1";
Level4[16]        = "1          zzzzzzzzzzzzzzzzzzzzzzzz1";
Level4[17]        = "1          zzzzzzzzzzzzzzzzzzzzzzzz1";
Level4[18]        = "1          zzzzzzzzzzzzzzzzzzzzzzzz1";
Level4[19]        = "1          zzzzzzzzzzzzzzzzzzzzzzzz1";
Level4[20]        = "1111111111111111111111111111111111111";

Потом обрабатуеш ентот массив

setProperty(apple,        _visible,        "0");
setProperty(zemlya,        _visible,        "0");
setProperty(home,        _visible,        "0");
setProperty(stena,        _visible,        "0");
setProperty(valun,        _visible,        "0");
setProperty(human,        _visible,        "0");
setProperty(fly,        _visible,        "0");
setProperty(bigapple, _visible, "0");
setProperty(bomb, _visible, "0");
setProperty(betton, _visible, "0");
LavelName = eval("Level"+StartLevel)[0];
for (i = 1; i <= 20; i++){
        for (j = 0; j <= 39; j++){
                Lavel = i+100*j;
                name = "i"+i+"j"+j;
                if (eval("Level"+StartLevel)[i].charAt(j) eq "0"){
                        duplicateMovieClip(stena, name,Lavel);
                        setProperty(name, _x, 15*j);
                        setProperty(name, _y, 20+15*i);
                        setProperty(name, _xscale, 75);
                        setProperty(name, _yscale, 75);
                }
                if (eval("Level"+StartLevel)[i].charAt(j) eq "s"){
                        duplicateMovieClip(apple, name,Lavel);
                        setProperty(name, _x, 15*j);
                        setProperty(name, _y, 20+15*i);
                        setProperty(name, _xscale, 75);
                        setProperty(name, _yscale, 75);
                }
                if (eval("Level"+StartLevel)[i].charAt(j) eq "x"){
                        duplicateMovieClip(valun, name,Lavel);
                        setProperty(name, _x, 15*j);
                        setProperty(name, _y, 20+15*i);
                        setProperty(name, _xscale, 75);
                        setProperty(name, _yscale, 75);
                }
                if (eval("Level"+StartLevel)[i].charAt(j) eq "z"){
                        duplicateMovieClip(zemlya, name,Lavel);
                        setProperty(name, _x, 15*j);
                        setProperty(name, _y, 20+15*i);
                        setProperty(name, _xscale, 75);
                        setProperty(name, _yscale, 75);
                }
                if (eval("Level"+StartLevel)[i].charAt(j) eq "h"){
                        duplicateMovieClip(home, name,Lavel);
                        setProperty(name, _x, 15*j);
                        setProperty(name, _y, 20+15*i);
                        setProperty(name, _xscale, 75);
                        setProperty(name, _yscale, 75);
                }
                if (eval("Level"+StartLevel)[i].charAt(j) eq "f"){
                        duplicateMovieClip(fly, name,Lavel);
                        setProperty(name, _x, 15*j);
                        setProperty(name, _y, 20+15*i);
                        setProperty(name, _xscale, 75);
                        setProperty(name, _yscale, 75);
                }
                if (eval("Level"+StartLevel)[i].charAt(j) eq "w"){
                        duplicateMovieClip(bomb, name,Lavel);
                        setProperty(name, _x, 15*j);
                        setProperty(name, _y, 20+15*i);
                        setProperty(name, _xscale, 75);
                        setProperty(name, _yscale, 75);
                }
                if (eval("Level"+StartLevel)[i].charAt(j) eq "b"){
                        duplicateMovieClip(bigapple, name,Lavel);
                        setProperty(name, _x, 15*j);
                        setProperty(name, _y, 20+15*i);
                        setProperty(name, _xscale, 75);
                        setProperty(name, _yscale, 75);
                }
                if (eval("Level"+StartLevel)[i].charAt(j) eq "1"){
                        duplicateMovieClip(betton, name,Lavel);
                        setProperty(name, _x, 15*j);
                        setProperty(name, _y, 20+15*i);
                        setProperty(name, _xscale, 75);
                        setProperty(name, _yscale, 75);
                }
                if (eval("Level"+StartLevel)[i].charAt(j) eq "G"){
                        duplicateMovieClip(human, name,Lavel);
                        human_x = 15*j;
                        human_y = 20+15*i;
                        human_name = name;
                        setProperty(name, _x, 15*j);
                        setProperty(name, _y, 20+15*i);
                        setProperty(name, _xscale, 75);
                        setProperty(name, _yscale, 75);
               
                }
        }
}
stop();

//Получяеш отображение уровня :)

Ну а потом описуеш события для кнопок и видоизменяеш массив в зависимости от событий

Вот так для начала :)

Fisher 20.12.2001 15:00

Вложений: 1
Ну это ты земляк и загнул :D А энтак не проще? :p Скрипт сырой канэшна, но прынцып я думаю ясен :p

gOloVasTicK '~ 21.12.2001 00:21

Есть такая фиговина :) принцип правой руки называется :) Короче если есть поворот справа идешь туда. Не пашет только в том случае если лабиринт содержит в себе кольцо.

Big_J_ 21.12.2001 12:49

Fisher ни чего я не загибал :( я енту игруху уже почти дописал щя редактор уровней закончу ну шоб он сам делал текстовый фаил и все може и выложу где небуть на FLASHER.ru :D

Так что все гениальное должно быть просто :)

Fisher 21.12.2001 17:58

Да сложно это все :) Ты исходник вник? Просто нарисовал во флэши лабиринт на сетке с шагом 15 и вперед!!! Нафига еще чтото описывать? :p

Big_J_ 21.12.2001 18:19

Да ты фишер какойто странный парень Ты в своем исходнике ни какими движениями не управляеш енто не игра енто анимация по пути получяется :(

А я игруху делал в каторой курсром пробелом и ALT управлять надо для ентого мне и нужен был массив чтоб событие в мувике перемещением символов в массиве отслеживать А сейчяс над вопросом застрял как после перетягивания объекта его к определенному месту после отпускания приклеить тыб лучше помог ато сидит прикалуется хотя сам и не въезжает в содержание. :(

Fisher 21.12.2001 18:46

Ладно - 40 минут есть. Сча помогу. Если что в понедельник. Но ты тупишь. Ей бо! Это тебе не С++ это флэш. Я таких огромных скриптов отродясь не писал :p И надеюсь не прийдеться :) А твоего пэкмэня я Думаю строк в 50 уложить мона. :p


Часовой пояс GMT +4, время: 10:16.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.