tazos87 Δημοσ. 20 Μαρτίου 2014 Δημοσ. 20 Μαρτίου 2014 Καλησπέρα,βρήκα έναν κώδικα έτοιμο απο το http://pygamegr.wordpress.com/2012/03/15/%CE%BD%CF%85%CF%87%CF%84%CE%B5%CF%81%CE%B9%CE%BD%CE%AE-%CF%80%CE%B5%CF%81%CE%B9%CF%80%CE%AD%CF%84%CE%B5%CE%B9%CE%B1/ Είναι για παιχνίδι και καλά Adventure.Αντέγραψα όπως έχει τον κώδικα αλλά δεν μου παίζει! (Υπόψιν,εδώ και κάτι μέρες μαθαίνω,απλά θέλω να δω πως είναι ενα απλο παιχνιδι σε Python.) Ο κώδιξ: #coding=utf-8 # # The Python Adventure # Based on an idea published in Pixel Magazine # issue 18, January 1986 # def getInput(moves,room): directions = ["Βόρεια","Νότια","Ανατολικά","Δυτικά"] destinations = moves[room] possiblemoves = [] index = 0 print "Έξοδοι:", for i in destinations: if i!=-1: print directions[index], possiblemoves.append(directions[index]) index +=1 print "\n" userinput="" while userinput not in possiblemoves: userinput=raw_input("Που θες να πας; ") return directions.index(userinput) def main(): # Room descriptions rooms = [ "Βρισκεσαι στον κήπο. Παντού σκοτάδι.", "Βρίσκεσαι στο μπάνιο. Ακούς θόρυβο.", "Βρίσκεσαι στο χωλ. Παραλίγο να σκοντάψεις. Σκάλα ανατολικά", "Βρισκεσαι στην αποθήκη. Η ατμόσφαιρα είναι αποπνικτική. Σκάλα Δυτικά, Μονοπάτι Νότια.", "Έφτασες στο καθιστικό. Βρήκες τον πατέρα σου.", "Βρίσκεσαι στο σαλόνι. Ακούγεται μουσική.", "Βρίσκεσαι στην τραπεζαρία. Τα πάντα είναι ανάστατα.", "Βρίσκεσαι στο διάδρομο. Είναι σκοτεινά. Σκάλα Νότια", "Είσαι στη κουζίνα. Ακούς φωνές.", "Είσαι στον πάνω διάδρομο. Παντού ησυχία. Σκάλα Βόρεια.", "Είσαι στο δωμάτιο του αδερφού σου. Ο αδερφός σου σε μαρτυρά!", "Είσαι στο δωμάτιο των γονέων σου. Η μητέρα σου σε έπιασε.", "Είσαι στο δωμάτιο σου. Είσαι ασφαλής." ] # # The following list contains lists # The list's index denotes the current room. # Each single list contains four numbers: # First number -> Destination room if North (0) # Second number -> Destination room if South(1) # Third number -> Destination room if East (2) # Fourth number -> Destination room if West (3) # # Destination is set to -1 if it does not exist # moves = [ [-1,2,-1,-1], [-1,-1,2,-1], [0,5,3,1], [-1,8,-1,2], [-1,6,5,-1], [2,8,-1,4], [4,7,-1,-1], [6,9,8,-1], [5,-1,-1,7], [7,11,12,10], [-1,-1,9,-1], [9,-1,-1,-1], [-1,-1,-1,9] ] # When player reaches any of the following room(s), # he wins the game winrooms = [ 12 ] # When player reaches any of the following rooms, # he loses lossrooms = [ 4, 10, 11 ] # Startup room # Doesn't have to be 0, but must not be a winning or losing room room = 0 print "The Adventure!" print "==============" endgame = False while not endgame: print rooms[room] if room in winrooms: print "Κέρδισες! Η περιπέτεια τελείωσε." endgame = True elif room in lossrooms: print "Έχασες! Η περιπέτεια τελείωσε." endgame = True else: direction = getInput(moves, room) destinations = moves[room] room = destinations[direction] # Start program if __name__ == "__main__": main() Απλά θέλω να το κάνω να παίξει για να δω πως είναι! Καμιά ιδέα?
Timonkaipumpa Δημοσ. 20 Μαρτίου 2014 Δημοσ. 20 Μαρτίου 2014 Μόνο κανέλα και σκόρδο. Άλλο δεν μυρίζω στα νύχια μου.
gon1332 Δημοσ. 20 Μαρτίου 2014 Δημοσ. 20 Μαρτίου 2014 Γιατί δεν γράφεις κάποιο σχόλιο στο blog του δημιουργού; Είτε σου απαντήσει αυτός (που είναι και ο πιο σχετικός), είτε κάποιος από εδώ, όποιος έχει πρόβλημα σαν το δικό σου θα το βρίσκει κατευθείαν εκεί.
pmav99 Δημοσ. 20 Μαρτίου 2014 Δημοσ. 20 Μαρτίου 2014 ο κώδικας τρέχει. Ποιο ακριβώς είναι το πρόβλημα σου;
tazos87 Δημοσ. 20 Μαρτίου 2014 Μέλος Δημοσ. 20 Μαρτίου 2014 ο κώδικας τρέχει. Ποιο ακριβώς είναι το πρόβλημα σου; Εμενα δεν τρέχει... "Invalid Syntax" Με το Idle(Python GUI)
pmav99 Δημοσ. 21 Μαρτίου 2014 Δημοσ. 21 Μαρτίου 2014 αποθήκευσε τον κώδικα σε ένα αρχείο. Άνοιξε το αρχείο με το idle. Τρέξτο με F5. Γράψε εδώ το μήνυμα λάθους. Κατά πάσα πιθανότητα έχεις python 3, ενώ ο κώδικας είναι γραμμένος για Python 2.
tazos87 Δημοσ. 21 Μαρτίου 2014 Μέλος Δημοσ. 21 Μαρτίου 2014 SyntaxError: invalid syntax Αυτό βγάζει. Είχε κοκκινίσει τη λέξη "def" εκει που λέει "def main", προς την αρχη. Δοκίμασα και με το 2(όντως το 3 είχα κυρίως)... Ασχετο,αλλά επειδή διαβάζω το "Byte of a Python" που βρηκα σε pdf, είχε αυτό: while True: s = (input('Enter something : ')) if s == 'quit': break print('Length of the string is', len(s)) print('Done') Ετσι φυσικά δεν μου δούλευε...Θα έπρεπε να το εμφανίζει έτσι: Enter something : use Python! Length of the string is 12 Enter something : quit Doneαλλά έβγαζε λάθος!Για να εμφανιστεί όπως λέει στο παραδειγμα επρεπε να αλλαξω απλα σε while True: s = (input('Enter something : ')) if s == 'quit': print('Done') # Εβαλα δηλαδη αυτη την εντολη αντι για τέλος που την ειχε,εδώ break print('Length of the string is', len(s)) Θέλω να πω μήπως κι αυτοί που τα γράφουν καμια φορα κανουν λάθη...(?)Απλά πελάγωσα καποια στιγμη, γιατί λέω "Τι διάολο,ουτε αντιγραφη δεν μπορω να κάνω, 2 διαφορετικοί αποκλείεται να κανουν λάθος"... Υ.Γ: Ευχαριστω για τον χρόνο σας!
gon1332 Δημοσ. 21 Μαρτίου 2014 Δημοσ. 21 Μαρτίου 2014 Τι λάθος έβγαζε το: while True: s = (input('Enter something : ')) if s == 'quit': break print('Length of the string is', len(s)) print('Done') Φαίνεται σωστό λογικά και συντακτικά. Λοιπόν άκου: Με python 2 θα χρησιμοποιείς raw_input(). Με python 3 θα χρησιμοποιείς input() ή raw_input(). Απλά αποφάσισε το που θα δουέψεις.
tazos87 Δημοσ. 21 Μαρτίου 2014 Μέλος Δημοσ. 21 Μαρτίου 2014 Το 3 χρησιμοποιώ... σε αυτό που λες μου εβγαζε παλι λαθος στη συνταξη. Διόρθωση: Σορρυ, αλλά μου εβγαζε λάθος όσο χρησιμοποιούσα το shell για τις εντολές.Οταν το έσωσα και το εκτελεσα λειτούργησε!Εχω 3 απορίες οπότε:1) Αλλά γιατι να παιζει στο ένα και οχι στο αλλο? Και γιατι να παιζει ΚΑΙ στο Shell εντολών με τη "διορθωση" που εκανα?Όσο για τον κώδικα του παιχνιδιού στην αρχή,τελικά το έσωσα και το έτρεξα στο Python 2 και φαινεται να λειτουργεί...Απλά όταν ξεκινάει,εμφανίζει αυτό: "The Adventure! ============== Βρισκεσαι στον κήπο. Παντού σκοτάδι. Έξοδοι: Νότια Ξ ΞΏΟ… ΞΈΞµΟ‚ Ξ½Ξ± πας; " 2) Αυτά τα ακαταλαβίστικα δεν βρήκα κατι για να τα αλλάξω,κάποια κωδικοποίηση κλπ...γινεται κάπως? και 3) Γραφικά πως γίνεται να δω? Σε αυτο το πρόγραμμα (Python Idle GUI) φαίνονται ή χρειάζεται κάτι? Σορρυ αν λέω κατι άσχετο,απλά αρχή είναι ακόμα...
Timonkaipumpa Δημοσ. 21 Μαρτίου 2014 Δημοσ. 21 Μαρτίου 2014 Το 3 χρησιμοποιώ... σε αυτό που λες μου εβγαζε παλι λαθος στη συνταξη. Διόρθωση: Σορρυ, αλλά μου εβγαζε λάθος όσο χρησιμοποιούσα το shell για τις εντολές. Οταν το έσωσα και το εκτελεσα λειτούργησε! Εχω 3 απορίες οπότε: 1) Αλλά γιατι να παιζει στο ένα και οχι στο αλλο? Και γιατι να παιζει ΚΑΙ στο Shell εντολών με τη "διορθωση" που εκανα? Όσο για τον κώδικα του παιχνιδιού στην αρχή,τελικά το έσωσα και το έτρεξα στο Python 2 και φαινεται να λειτουργεί... Απλά όταν ξεκινάει,εμφανίζει αυτό: "The Adventure! ============== Βρισκεσαι στον κήπο. Παντού σκοτάδι. Έξοδοι: Νότια Ξ ΞΏΟ… ΞΈΞµΟ‚ Ξ½Ξ± πας; " 2) Αυτά τα ακαταλαβίστικα δεν βρήκα κατι για να τα αλλάξω,κάποια κωδικοποίηση κλπ...γινεται κάπως? και 3) Γραφικά πως γίνεται να δω? Σε αυτο το πρόγραμμα (Python Idle GUI) φαίνονται ή χρειάζεται κάτι? Σορρυ αν λέω κατι άσχετο,απλά αρχή είναι ακόμα... Καλή η αρχή! Για να βρεις βοήθεια όμως θα πρέπει να λες ακριβώς το τι έχεις... δηλαδή, το τελευταίο σου post έπρεπε να είναι το πρώτο (μαζί με τον κώδικα). Όσο για την κωδικοποίηση, δεν ξέρω το εργαλείο που χρησιμοποιείς. Δοκίμασε όμως να γράψεις με το Notepad++ και να θέσεις εσύ την κωδικοποίηση σε utf-8 (που έχεις και πάνω-πάνω στον κώδικα...)
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα