Wie kann ich das für immer wiederholen?

8

Ich habe diesen Terraingenerator, der meiner Meinung nach ziemlich effizient ist. Ich kann es nicht für immer drucken. Hier ist der aktuelle Code, den ich dafür habe:

%Vor%

Ich habe versucht, dies zu tun, aber ich habe eine SyntaxError .

%Vor%

Wie kann ich das für immer wiederholen? Ich möchte auch eine Verzögerung von 0,05 Sekunden zwischen dem Drucken jedes Zeichens. Wenn du das bei maximal zwei Zeilen halten kannst, ist das cool. Wenn Sie nicht können, ist das in Ordnung. Vielen Dank! Hinweis: Das ist nicht über gamedev. Ich habe zufällig .join für einen Terrain-Generator verwendet.

    
Vladimir Putin 20.06.2014, 21:09
quelle

6 Antworten

9

Nun, wenn Sie eine Verzögerung zwischen den Zeichen wünschen, können Sie join() nicht verwenden, da dies Ihnen eine einzige Zeichenkette anstelle eines "Zeichengenerators" geben wird.

Und wenn Sie einen "unendlichen" Generator verwenden möchten, können Sie join() nicht aus demselben Grund verwenden.

Wie wäre es damit:

%Vor%     
Tim Pietzcker 20.06.2014, 21:17
quelle
3

Sie können diese vereinfachte Version Ihres Codes ausprobieren:

%Vor%     
Noctis Skytower 20.06.2014 21:19
quelle
3

Hier ist ein neuer Ansatz.

Rollen Sie Ihre eigenen

%Vor%

Auch wenn Sie eine Karte erstellen, möchten Sie vielleicht über Folgendes nachdenken:

%Vor%     
Adam Smith 20.06.2014 21:28
quelle
3

Sie können keine Schleife innerhalb Ihrer Druckfunktion haben, Sie müssen Ihre Druckfunktion innerhalb einer Schleife platzieren, also zum Beispiel:

%Vor%     
davzaman 20.06.2014 21:16
quelle
2

Unbegrenzter Iterator mit zufälligen Symbolen:

%Vor%

Wie einige Leute kommentiert haben, wird join() Ihnen nicht helfen, da es die gesamte Zeichenfolge vor der Rückgabe generiert. Sie können versuchen (Python 3):

%Vor%

oder

%Vor%     
franzwr 20.06.2014 21:27
quelle
2

Sie können Generatoren verwenden:

%Vor%     
Ruggero Turra 20.06.2014 21:32
quelle

Tags und Links