2017-02-19 4 views
0

würde ich Hilfe mit meinem Code mag, und es ist ziemlich hart mein Problem zu beschreiben, aber ich werde erklären, unten (Code wird auch ziemlich lange WarnungPython - Neu bei Python; Problem mit zufälligen

Ich habe ein Projekt unter Warnung sein, wo Ich habe Zimmer, und ein Geist folgt dir in diesen Räumen. Ich habe jedem Zimmer eine Nummer von 1 bis 13 (prn) gegeben und ... Ich habe ein zufälliges Modul, wo der "Geist" eine zufällige Zahl von 1- nimmt 13 (grn) und wenn es mit dem prn übereinstimmt, dann wird "BOO!" Angezeigt. Mein Problem ist, wo ich dieses Stück Code platzieren sollte. Code einfügenLONG

******************************************************* 
    import random 
    grn = (random.randint(1,13)) 
    if prn == grn: 
     print(" ") 
     print('BOO!') 
     print(" ") 
******************************************************* 
house() 

Fokus auf den Teil zwischen den Sternen. Ich habe das zufällige Modul dort, und grn. Prn von jedem Zimmer ist oben in der While-Schleife. Mein Problem ist, das "BOO!" wird nicht angezeigt, wenn grn und prn übereinstimmen, also kam ich hierher, um zu fragen: wohin verschiebe ich das zu ODER was soll ich bearbeiten, um dies zum Funktionieren zu bringen?

Antwort

0

Schauen Sie sich die Einrückungsebene für Ihren markierten Teil an. prn wird in der while-Schleife definiert. Sie werden nur zu , nachdem der Benutzer exit Typen eingeben, so dass Sie nicht den Wert erhalten, den Sie erwarten.

Es sieht auch so aus, als würden Sie 'room' in loft() als global übergeben. Das ist eine schlechte Idee - du weißt nicht, wann sich das unter dir ändern wird und du wirst es nicht erfahren.

Sie sollten wahrscheinlich diese Antworten auf Codereview check out: https://codereview.stackexchange.com/questions/36101/better-way-to-code-this-game/36112#36112 https://codereview.stackexchange.com/questions/155661/text-adventure-game

+0

es ist in der while-Schleife von 'wenn es nicht der Ausgang ist dann ...' und die if-Anweisungen innerhalb dieser Schleife sind 'wenn der' Raum 'ist' Loft 'dann gehe zu der Definition von Loft - das war die nächste Zeile. Also, prn, weil es auf der Linie danach ist, sollte in Kraft treten, sobald der Benutzer im 'Loft' ist. –

+0

** Danke für Ihre Hilfe. Es gelang mir, es zu beheben, indem ich grn = (random.randint (1,13)) wenn prn == grn: drucken ("") drucken ('BOO!') drucken ("") unter jedem Zimmer in die While-Schleife. Prost :) –

0

Importieren Sie Ihr zufälliges Modul ganz am Anfang Ihrer Datei. Nicht das Ende

+0

Ich habe versucht, dass mit keiner Verbesserung. Das mag ein Schritt sein, es zu reparieren, aber ich denke, da ist noch ein anderes Problem. –

+0

^^ Problem behoben. Es war ein Schritt zur Fixierung. danke: P –