Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι
  • Σελίδα:
  • 1
  • 2

ΘΕΜΑ: ΠΑΙΧΝΙΔΙ

ΠΑΙΧΝΙΔΙ 6 Χρόνια 11 Μήνες πριν #4465

  • dionisaros
  • Το Άβαταρ του/της dionisaros
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 3
Προφανώς με αυτά που γράφετε ήτε δεν διαβάσατε τους κανόνες του μαθήματος που παρακολουθήτε ήτε δεν τους τηρείτε.Ούτε ο χρόνος ούτε η ηλικία που επικαλείστε είναι δικαιολογία για την αντιγραφή της άσκησης.
Εξάλλου αυτά τα προγράμματα όπως το mathesis είναι γι αυτόν ακριβώς τον σκοπό.Δηλαδή για ανθρώπους που θέλουν να μάθουν όποια ηλικία κ αν έχουν .
Είμαι 43 ετών πατέρας 2 παιδιών κ εννοείται ότι για να προλάβω δουλειά, παιδιά καθημερινότητα και το μάθημα , έκοψα από τον ύπνο μου.
Ο κύριος Αποστόλης με κάλυψε σε όλα.
Επιμένω ότι είναι λάθος κ το ότι βρήκατε την απάντηση από αυτό το φόρουμ.
Καλή συνέχεια σε ότι κ αν κάνετε κ συγνώμη αν παρεξηγήθηκε το γραπτό ύφος.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

ΠΑΙΧΝΙΔΙ 6 Χρόνια 11 Μήνες πριν #4466

  • ΚΙΜΙΝΟΣ
  • Το Άβαταρ του/της ΚΙΜΙΝΟΣ
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 2
#Aρχικές ρυθμίσεις παιχνιδιού
import random
s_c=screen_columns=80
#Aρχική Οθόνη-Οδηγίες (για οθόνη του py.exe 80 στηλών)
g_n=game_name="Μ Α Ν Τ Ε Ψ Ε   Τ Ο Ν   Α Ρ Ι Θ Μ Ο"
l=length_game_name=len(game_name)
adj=int((s_c-l)/2)
if adj*2+l>80:
    adj=adj-2
print(adj*"="+g_n+adj*"=")
print(s_c*"?")
print("\nΟδηγίες: Πρέπει να βρεις τον αριθμό που επιλέγει τυχαία ο υπολογιστής.\nΒαθμολογείσαι αν χρειαστείς μέχρι 9 προσπάθειες αλλιώς η βαθμολογία σου είναι μηδέν !!")
print("Για τερματισμό παιχνιδιού γράψε την λέξη 'quit'.")
print("Καλή επιτυχία !!!")
# ορισμός δομών και μεταβλητών αρχής  παιχνιδιού,επιλογή ζητούμενου αριθμού
play=True
while play:
    game=True
    tries=0
    num=random.randint(1,100)#<--επιλογή αριθμού
    while game:
#κυρίως παιχνίδι Α:εισαγωγή επιλογής, έλεγχος νομιμης επιλογής 
        choice=False    
        while not choice:
            guess=input("\n{}η προσπάθεια!\nΜάντεψε έναν αριθμό από το 1 έως το 100:".format(tries+1)).strip()
            if guess.upper()=="QUIT":
                choice=True
                game=False
            elif guess.isdigit():
                guess=int(guess)
                if guess>0 and guess<101:
                    tries=tries+1
                    choice=True
#κυρίως παιχνίδι Β: έλεγχος εγκατάλειψης, πληροφόρηση χρήστη περί <>=, συνέχεια ή τελος παιχνιδιού
        if game:
            if num<guess:
                print("Όχι , είναι μικρότερος !")
            elif num>guess:
                print("Όχι, είναι μεγαλύτερος !")
            else:
                score=10-tries
                if score<1 :
                    score=" αλλά δεν κέρδισες πόντους ..."
                else:
                    score=" και κέρδισες "+str(score)+" πόντους !!"
                print("\nNAI!!! Το βρήκες σε {} προσπάθειες".format(tries)+score)
                game=False
#Επιλογή Χρήστη για επανάληψη παιχνιδιού ή έξοδο.
    regame=input("\nΠάτα ENTER για να ξαναπαίξουμε ή ο,τιδήποτε άλλο για τερματισμό.")
    if regame!="":
        play=False        
#Χαιρετισμός εξόδου
print("\nΓεια σου, ελπίζω να ξαναπαίξουμε σύντομα !")
 
###Ευχαριστώ πολύ για τις συμβουλές και τον κόπο σου. Ειναι πολύτιμη και μοναδική η βοήθεια σου καθώς στην ουσία μέσω των βίντεο του mathesis παίρνεις μια ιδέα αλλά δεν έχεις κάποιον να σου λύνει απορίες. Το προγραμματάκι ειναι για την 3.6.1 . Εχεις δίκιο για τις μεταβλητές , απλά τις βάζω σαν συντομογραφία αν δεις είναι τα αρχικά της επόμενης αλλά κι όταν κάποτε κι αν μαθουμε γραφικά να εχω μια μεταβλητη πειραματισμού χωρίς να χαλάω την αρχική.
Δεν χρησιμοποιώ break αλλά συνθήκες True-False και ήθελα μια γνώμη γι αυτό ...ο Αβούρης όλο break χρησιμοποιεί . Τα πολλά IF δεν ξέρω αν μπορούν να γίνουν λιγότερα καθώς πρέπει να εξασφαλίσουμε ότι στο input θα εχουμε αριθμό. (αμυντικό προγραμματισμό το λέει αυτό και το ζητάει στην άσκηση, πιστεύω να το πέτυχα  :dry: )
 
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

ΠΑΙΧΝΙΔΙ 6 Χρόνια 11 Μήνες πριν #4468

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
ΚΙΜΙΝΟΣ
Το διπλό όνομα δεν έχει καμία έννοια και μπορεί να οδηγήσει σε σφάλματα αλλά εσύ αποφασίζεις
s_c=80 #screen_columns
έτσι είναι οκ

Τα if, break, True, False, while κ.α είναι τελειώς διαφορετικά πράγματα
και το 1ο που έχουμε στο μυαλό μας είναι η σωστή χρήση τους
Κράταμε το πρόγραμμα όσο πιο απλό γίνεται.

Εγώ προσωπικά τα flags (λέω έτσι αυτές τις μεταβλητές που τις δίνεις τιμή True False τα χρησιμοποιώ πολύ σπάνια μόνο όταν δεν γίνεται αλλιώς ίσως επειδή δεν τα έχω συνηθήσει) αλλά εφόσον δουλεύουν και δεν κάνουν το πρόγραμμα δύσκολο είναι οκ.

Το πρόγραμμά σου δεν εμφανίζει το μύνημα μικρότερο μεγαλύτερο κλπ

Readability counts.
Simple is better than complex.

Από το Zen της python
Τελευταία διόρθωση: 6 Χρόνια 11 Μήνες πριν από Theo.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
  • Σελίδα:
  • 1
  • 2
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.354 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου