2016-11-06 6 views
0

Die Übung ist das Spiel Durchbruch in Python zu wiederholen; Es ist ein Drafts-ähnliches Spiel, mit einem Brett von n Linien und p Zeile.Spielbrett immer auf den Ausgangszustand zurückgesetzt Python

ich initiieren mein Spielbrett mit dieser Funktion:

def NewBoard(n,p): 
    board = [["."] * p for i in range(n)] 

    for i in range(0, 2): 
     for j in range(0, p): 
      board[i][j] = 'o' 

    for k in range(n - 2, n): 
     for l in range(0, p): 
      board[k][l] = 'x' 

    return board 

Aber immer das Brett zurückzusetzen, da diese Funktion der Anfangszustand des Spiels ist.

Wenn ich versuche, das Hauptspiel Funktion, jedes Mal, wenn die Spielerwechsel zu tun, wird die Platte selbst Reseting:

def Breaktrough(n, p): 
    DisplayBoard(NewBoard(n,p)) 
    DisplayBoard(Where(NewBoard(n, p), 1, *SelectPawn(1))) 
    DisplayBoard(Where(NewBoard(n, p), 2, *SelectPawn(2))) 

ich einige Lösungen ausprobiert, die ich gut gedacht waren, waren aber nicht.

+0

Also welche Lösungen hast du versucht, warum waren sie nicht gut? –

+0

Sorry für das schreckliche Englisch, es ist nicht meine Muttersprache langage. Ich habe versucht, eine Funktion zu machen, die das von NewBoard zurückgegebene Board als arg übernimmt und es wieder zurückgibt. Aber das hat nicht funktioniert, ich habe nur eine Funktion erstellt, die keine Änderungen an der Platine aah vorgenommen hat. Aber dank John Coleman habe ich meine Antwort bekommen! Danke vielmals. Es war so einfach, dass ich nicht einmal daran dachte. :) – Nayuru

Antwort

0

Sie müssen einer Variablen eine Karte zuweisen, damit Sie im Laufe der Zeit auf dieselbe Karte verweisen können und nicht bei jeder (versuchten) Bewegung wiederholt neue Karten erstellen. In der Hauptfunktion, haben die Linie

board = NewBoard(n,p) 

Es wird nicht automatisch „Reset“ (es sei denn, Sie NewBoard() wieder aufrufen). Im Rest des Codes, beziehen Sie sich auf board anstatt NewBoard(n,p).

+0

Vielen Dank! So einfach und doch habe ich nicht daran gedacht. Mein schlechter Ahah. – Nayuru

Verwandte Themen