Avatar billede wqazr Nybegynder
17. oktober 2004 - 14:23 Der er 7 kommentarer og
1 løsning

hvordan for jeg en topliste?

hey jeg har fundet en god guide og ud fra den har jeg lavet et snake spil.. hvordan kan jegså lave at når mna er game over at man har mulighed for at skrive sit navn og email også komme på top 100 liste?
Avatar billede baitianlong Nybegynder
17. oktober 2004 - 15:00 #1
Du skal bruge en database og en php eller asp side til det...

Databasetabellen skal have tre felter (navn, email, points)

Når spillet er slut sender du navn, email og points fra flashen til PHP siden med LoadVars() og PHP siden skriver i databasen. Derefter kan PHPsiden hente resultaterne i rækkefølge og sende dem tilbage til flashen, hcor de så kan vises.
Avatar billede cmau Nybegynder
17. oktober 2004 - 15:37 #2
Kunne man lave så når man var game over blev sendt til en side fx. gameover.php hvor antalet at points man få bliver sendt som post? $_POST[score] ?! også på den side skulle man skrive navn og email også på en side fx. top.php viser den top 100? det ville jeg bedre kunne finde ud af at lave.. det eneste der jeg ikke kan finde ud af er det med at den skal sende scoren til gameover.php, som post ;)
Avatar billede cmau Nybegynder
17. oktober 2004 - 15:37 #3
bare et foreslag..
Avatar billede wqazr Nybegynder
17. oktober 2004 - 15:39 #4
hmm tror helst jeg vil have den måde cmau snakker om.. jeg kan godt selv lave alt phpen, men jeg har samme problem som cmau så.. jeg kan ikke find ud af at sende videre og sende antal points som post :(
Avatar billede wqazr Nybegynder
17. oktober 2004 - 15:41 #5
er der en der kan lave det, hvis jeg skrev mit kode her?

Flash koden:

blockSize = 8;
gameHeight = 30;
gameWidth  = 45;
SNAKE_BLOCK = 1;

keyListener = new Object();
keyListener.onKeyDown = function() {
    var keyCode = Key.getCode();
   
    if (keyCode > 36 && keyCode < 41) {
        if (game.onEnterFrame != undefined) {
            if (keyCode-37 != turnQueue[0]) {
                turnQueue.unshift(keyCode-37);
            }
        }
    } else if (keyCode == 32) {
        if (!gameRunning) {
            startGame();
        }
    } else if (keyCode == 80) {
        if (gameRunning) {
            if (game.onEnterFrame) {
                delete game.onEnterFrame;
                textMC.gotoAndStop("paused");
            } else {
                game.onEnterFrame = main;
                textMC.gotoAndStop("hide");
            }
        }
    }
};
Key.addListener(keyListener);

mouseListener = new Object();
mouseListener.onMouseDown = function() {
    if (!gameRunning) {
        startGame();
    }
};
Mouse.addListener(mouseListener);


function startGame() {
    x = int(gameWidth/2);
    y = gameHeight-2;
   
    xVelocity = [-1, 0, 1, 0];
    yVelocity = [0, -1, 0, 1];
   
    map = new Array();
    for (var n=0;n<gameWidth;n++) {
        map[n] = new Array();
    }

    turnQueue = new Array();
   
    game.createEmptyMovieClip("food", 1);
    game.createEmptyMovieClip("s", 2);
    scoreTextField.text = "Score: 0";
   
    foodCounter = 0;
    snakeBlockCounter = 0;
    currentDirection = 1;
    snakeEraseCounter = -1;
    score = 0;

    placeFood("new");
   
    textMC.gotoAndStop("hide");
    game.onEnterFrame = main;
    gameRunning = true;
}


function main() {
    if (turnQueue.length > 0) {
        var dir = turnQueue.pop();
        if (dir % 2 != currentDirection % 2) {
            currentDirection = dir;
        }
    }
   
    x += xVelocity[currentDirection];
    y += yVelocity[currentDirection];
   
    if (map[x][y] != SNAKE_BLOCK && x > -1 && x < gameWidth && y > -1 && y < gameHeight) {
        game.s.attachMovie("snakeMC", snakeBlockCounter, snakeBlockCounter, {_x: x*blockSize, _y: y*blockSize});
        snakeBlockCounter++;
   
        if (typeof(map[x][y]) == "movieclip") {
            score += 10;
            scoreTextField.text = "Score: " + score;
            snakeEraseCounter -= 5;
            placeFood(map[x][y]);
        }
       
        map[x][y] = SNAKE_BLOCK;
       
        var tailMC = game.s[snakeEraseCounter];
        if (tailMC) {
            delete map[tailMC._x/blockSize][tailMC._y/blockSize];
            tailMC.removeMovieClip();
        }
        snakeEraseCounter++;
    } else {
        gameOver();
    }
}


function gameOver() {
    textMC.gotoAndStop("gameOver");
    delete game.onEnterFrame;
    gameRunning = false;
}


function placeFood(foodMC) {
    do {
        var xFood = random(gameWidth);
        var yFood = random(gameHeight);
    } while (map[xFood][yFood]);
   
    if (foodMC == "new") {
        foodMC = game.food.attachMovie("foodMC", foodCounter, foodCounter);
        foodCounter++;
    }
   
    foodMC._x = xFood*blockSize;
    foodMC._y = yFood*blockSize;
   
    map[xFood][yFood] = foodMC;
}
Avatar billede wqazr Nybegynder
17. oktober 2004 - 19:40 #6
Ingen der kan hjælp? :(
Avatar billede wqazr Nybegynder
18. oktober 2004 - 14:35 #7
lukker
Avatar billede sorenbs Nybegynder
20. oktober 2004 - 23:03 #8
har du et link til den guide?
du kan eventuelt få lidt point i et andet sp.
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