2017-06-09 2 views
-1

Ich versuche Bomberman mit Vanille JS, für meine Prüfung Projekt zu machen.Bomberman Vanilla JS

Ich bin jetzt ein wenig stecken, wie man die Bomben im Array herausnehmen und sie wieder in das Array schieben, nachdem sie explodieren.

Sie müssen nach 2 Sekunden explodieren.

Mein Code für Bomben:

function bombPlayerOne() { 
    let ss = new createjs.SpriteSheet(game.q.getResult('bomb')) 
    let temp = new createjs.Sprite(ss, "bombIt"); 
    temp.x = playerOne.x; 
    temp.y = playerOne.y; 
    game.stage.addChild(temp); 
    powerUps.bombs.push(temp); 
    console.log("player one placed a bomb"); 
    for (var i = powerUps.bombs.length - 1; i > 0; i--) { 
     powerUps.bombs.splice; 

     // TODO : tween bomber ud... 

     powerUps.bombs.push; 
    } 
} 

function bombPlayerTwo() { 
    let ss = new createjs.SpriteSheet(game.q.getResult('bomb')) 
    let temp = new createjs.Sprite(ss, "bombIt"); 
    temp.x = playerTwo.x; 
    temp.y = playerTwo.y; 
    game.stage.addChild(temp); 
    powerUps.bombs.push(temp); 
    console.log("player two placed a bomb"); 
    for (var i = powerUps.bombs.length - 1; i > 0; i--) { 
     powerUps.bombs.splice; 

     // TODO : tween bomber ud... 

     powerUps.bombs.push; 
    } 
} 
+0

Ich bin nicht klar in was Sie fragen, fragen Sie: Wenn Bomben explodieren, wie würden Sie eine platzierbare Bombe an den Spieler zurückgeben? –

+0

Ja, das ist genau das, was ich tun muss ... aber ich weiß nicht, wie es geht @EricH –

+0

Könntest du vielleicht Code zeigen, wo 'powerUps.bombs' genauso definiert ist wie' game.stage'? –

Antwort

0

So haben Sie ein paar Optionen, und FYI ist dies nicht unbedingt ein Javascript Frage so viel wie wie Sie Spiellogik/code Design Art der Frage behandeln.

1) Eine Bombe, wenn sie platziert wird, enthält einen Verweis zurück auf ihren Besitzer. dh

bomb.owner = playerOne 

2) Sie haben einen Manager, die den Zustand einer Ebene steuert, die Spur von Bomben hält

LevelManager.player1Bombs = .... 

3) Sie haben eine Reihe von Bomben an jeden Spieler platziert angehören, die man Aktualisieren Sie dann während Ihrer Logikaktualisierungsaufrufe.

function gameUpdate(long milliSecondsSinceLastFrame){ 
    for(bomb in playerOne.placedBombs){ 
     if(bomb.isExploded){ 
     //do other cleanup 
     playerOne.availableBombs ++; 
     } 
    } 
    //... do same for player 2 etc 
    } 

Alle von ihnen haben ihre eigenen Vorteile/Nachteile.

Verwandte Themen