Avatar billede snibberdah Nybegynder
20. maj 2002 - 10:54 Der er 20 kommentarer og
1 løsning

Vendespil...

Hej

Jeg er ved at lave et vendespil, men det er to forskellige brikker der skal passe sammen.
Jeg har kigget lidt http://www.eksperten.dk/spm/159284 men kan ikke rigtig gennemskue hvor korderne skal ind og hvad der skal erstattes. Er ikke nogen haj til actionscript.........endnu :-)

Jeg har denne kode på hovedtidslinien:
trycount = "0";
GameCount = 0;
CountX = 0;
CountY = 0;
Shuffle = "1122334455667788";
while (Number(CountX)<4) {
    while (Number(CountY)<4) {
        CurrentCount = Number(Number((CountX*4))+Number(CountY))+1;
        duplicateMovieClip ("/Card0", "Card" add CurrentCount, CurrentCount);
        setProperty ("/Card" add CurrentCount, _x, Number((CountX*80))+115);
        setProperty ("/Card" add CurrentCount, _y, Number((CountY*80))+160);
        call ("GetCard");
        tellTarget ("/Card" add CurrentCount) {
            MyCard = /:NewCard;
        }
        trace (CountY add "  " add CountX add " " add CurrentCount );
        CountY = Number(CountY)+1;
        trace ("Card " add CurrentCount add " is number " add MyCard);
    }
    CountY = 0;
    CountX = Number(CountX)+1;
}
ClickCount = "0";
FirstClick = "";
stop ();

Skal Shuffle laves om til et array:
Shuffle=[[1,1,2,2], [3,3,4,4], [5,5,6,6], [7,7,8,8]];
Brikkerne ligger i et mc i frame 2 til 17 hvor 2 og 3 er et par, 4 og 5 et par.......

Er der noget der kan hjælpe mig?
Avatar billede barklund Nybegynder
20. maj 2002 - 11:04 #1
Det var sørme også mig det hjalp i det andet spørgsmål, så jeg vil også prøve at hjælpe her...

Kan du ikke lige smide den kode du har liggende i frame'n "GetCard", som du bruger son en slasgs Flash4-funktion (Flash5 har rigtige funktioner, you know?)

Bruger du overhovedet Flash5 eller er det måske MX?

Hvis du finder den kode frem, så skulle det være muligt at lave det til et fint lille spil....

Forresten skal jeg lige høre, om dine brikker er forskellige movieclips eller allesammen er instanser af det samme movieclip som sørger for at flytter sig til den frame som er angivet i variablen "MyCard"... Indeholder movieclips'ne en knap til at registrere tryk eller skal det gøres på movieclip'et selv?

/Barklund
Avatar billede snibberdah Nybegynder
20. maj 2002 - 11:24 #2
Jeg bruger Flash 5, men har "hugget" spillet på Flashkit, som jeg så ville tilpasse lidt.

Brikkerne ligger som instanser i et movieclip, og de indeholder ikke en knap.

Forstår ikke helt....kan ikke finde nogen kode til GetCard?
Avatar billede barklund Nybegynder
20. maj 2002 - 12:44 #3
Der findes et eller andet sted på hovedfilmen med framelabel "GetCard"... I denne står noget kode til at returnere et tilfældigt kort som gemmes i variablen NewCard... denne kode skal du finde og smide herinde...
Avatar billede snibberdah Nybegynder
20. maj 2002 - 12:49 #4
Kan ikke finde noget label med det navn, men næste frame indeholder dette:

RandomPos = Number(random(length(Shuffle)))+1;
NewCard = 0+Number(substring(Shuffle, RandomPos, 1));
NewShuffle = substring ( Shuffle,1,RandomPos-1) add substring ( Shuffle,RandomPos + 1,99);
Shuffle = NewShuffle;

Er det det du mener?
Avatar billede barklund Nybegynder
20. maj 2002 - 13:05 #5
Yup... Hvis du kigger i dit frame-panel, så vil jeg bide mig selv i armen på, at dens label er "GetCard"...

Jeg bikser lige noget nyt sammen:

function findKort() {
Shuffle = "1122334455667788";
while (Number(CountX)<4) {
    while (Number(CountY)<4) {
        CurrentCount = Number(Number((CountX*4))+Number(CountY))+1;
        duplicateMovieClip ("/Card0", "Card" add CurrentCount, CurrentCount);
        setProperty ("/Card" add CurrentCount, _x, Number((CountX*80))+115);
        setProperty ("/Card" add CurrentCount, _y, Number((CountY*80))+160);
        call ("GetCard");
        tellTarget ("/Card" add CurrentCount) {
            MyCard = /:NewCard;
        }
        trace (CountY add "  " add CountX add " " add CurrentCount );
        CountY = Number(CountY)+1;
        trace ("Card " add CurrentCount add " is number " add MyCard);
    }
    CountY = 0;
    CountX = Number(CountX)+1;
}

ClickCount = "0";
trycount = "0";
GameCount = 0;
FirstClick = "";
stop ();
Avatar billede barklund Nybegynder
20. maj 2002 - 13:06 #6
Blablabla... Jeg komer til at trykke på udfør... Men inden jeg går igang, skal jeg forresten lige vide, hvad der er som du vil have ud af det hele?
Avatar billede barklund Nybegynder
20. maj 2002 - 13:08 #7
Det betød... Glem den kode, som jeg fik submittet, da det er noget halvfærdigt juks...
Avatar billede snibberdah Nybegynder
20. maj 2002 - 13:20 #8
Jeg skal have lavet et vendespil, hvor de to brikker der passer sammen ikke er ens, F.eks en med billede og en med tekst. Det er det hele.
Troede lige jeg kunne tage en der var lavet i forvejen og rette den lidt til, men lidt mere kompliceret end som så for mit vedkommende.

Vil du have resten af filen?
Avatar billede barklund Nybegynder
20. maj 2002 - 13:41 #9
Jeg skal bruge den kode, som er listet på movieclips'ne... Den kode, der rent faktisk undersøger om dette kort passer sammen med det andet, som er vendt... Så skulle lidt tilpasning være enkel nok... Det ligger måske "på" movieclippet "Card0"...
Avatar billede snibberdah Nybegynder
20. maj 2002 - 13:51 #10
Denne kode ligge i et lag hen over alle instanserne (brikkerne):

on (release) {
    Display = 0;
    /:trycount = Number(/:trycount)+1;
    /:trymatch = /:trycount/2;
    if (Number(Faceup)<>1) {
        if (Number(/:ClickCount) == 0) {
            Display = 1;
            /:ClickCount = 1;
            /:FirstClick = _target;
        } else if (Number(/:ClickCount) == 1) {
            if (_target ne /:FirstClick) {
                Display = 1;
                if (MyCard <> eval(/:FirstClick add "/:MyCard")) {
                    /:SecondClick = _target;
                    /:ClickCount = 2;
                } else {
                    /:ClickCount = 0;
                    FaceUp = 1;
                    set (eval(/:FirstClick add "/:Faceup"), "1");
                    /:GameCount = Number(/:GameCount)+1;
                    if (Number(/:GameCount) == 8) {
                        tellTarget ("/EOG") {
                            gotoAndPlay (2);
                        }
                    }
                }
            }
        } else {
            /:ClickCount = 0;
            tellTarget (/:FirstClick) {
                gotoAndStop (1);
            }
            tellTarget (/:SecondClick) {
                gotoAndStop (1);
            }
        }
        if (Number(Display) == 1) {
            gotoAndStop (Number(MyCard)+1);
        }
    }
}
Avatar billede barklund Nybegynder
20. maj 2002 - 14:05 #11
Prøv at rette:

i frame 1:

Shuffle = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]


i frame 2 (hav kun følgende og slet det gamle):

RandomPos = Number(random(Shuffle.length);
NewCard = Shuffle[randomPos];
Shuffle = Shuffle.splice(randomPos,1);


På movieclippet:

  if (MyCard+1 <> eval(/:FirstClick add "/:MyCard") && MyCard-1 <> eval(/:FirstClick add "/:MyCard")) {

(istedet for sætningen:
if (MyCard <> eval(/:FirstClick add "/:MyCard")) {
selvfølgelig)

Og til sidst skal du inden i det movieclip, der indeholder udseendet for knapperne indsætte dine nye udseender således, at det i frame 2 passer sammen med frame 3 og hele vejen op til at det i frame 16 passer med det i frame 17...

Præcis som du selv beskrev det egentlig... :o)

/Barklund
Avatar billede barklund Nybegynder
20. maj 2002 - 14:06 #12
En lille fejl... I frame 2 istedet:

RandomPos = random(Shuffle.length);
NewCard = Shuffle[randomPos];
Shuffle = Shuffle.splice(randomPos,1);
Avatar billede snibberdah Nybegynder
20. maj 2002 - 14:15 #13
Øhhh.....Det er den samme brik på hele spillet. Den finder kun den der ligge i frame 7 i mc med brikkerne :-(
Avatar billede snibberdah Nybegynder
20. maj 2002 - 14:17 #14
Ok det er en forskellig brik hver gang, men den samme på alle brikkerne.
Avatar billede barklund Nybegynder
20. maj 2002 - 14:17 #15
prøv i frame 2 at tilføje:

trace(Shuffle);

Og fortæl hvad den tracer ud.... lidt fejlfinding you know.. :o)
Avatar billede barklund Nybegynder
20. maj 2002 - 14:22 #16
Årh.. damn.... splice returnerer jo det "udsplicede"... Det skal selvfølgelig bare være:

RandomPos = random(Shuffle.length);
NewCard = Shuffle[randomPos];
Shuffle.splice(randomPos,1);
Avatar billede snibberdah Nybegynder
20. maj 2002 - 14:24 #17
ØHHH....

8
0  0 1
Card 1 is number
8
1  0 2
Card 2 is number
8
2  0 3
Card 3 is number
8
3  0 4
Card 4 is number
8
0  1 5
Card 5 is number
8
1  1 6
Card 6 is number
8
2  1 7
Card 7 is number
8
3  1 8
Card 8 is number
8
0  2 9
Card 9 is number
8
1  2 10
Card 10 is number
8
2  2 11
Card 11 is number
8
3  2 12
Card 12 is number
8
0  3 13
Card 13 is number
8
1  3 14
Card 14 is number
8
2  3 15
Card 15 is number
8
3  3 16
Card 16 is number
Avatar billede barklund Nybegynder
20. maj 2002 - 14:26 #18
Yup... Den splicer det her randomKort ud og gemmer det som det eneste tilbageværende kort... godt tænkt Barklund!!!!

Du skal bare skrive som i mit forrige indlæg...
Avatar billede snibberdah Nybegynder
20. maj 2002 - 14:30 #19
GREAT! Nu var den der :-)

Du skal have den største tak!
Avatar billede barklund Nybegynder
20. maj 2002 - 14:31 #20
Jaaa... jeg er faldet noget af på den med sådan en stor fejl... sådan går det, når man ikke har Flash ved hånden når man skriver kode... :o)
Avatar billede barklund Nybegynder
20. maj 2002 - 14:31 #21
Men jeg tarker da for pointene... :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester