2016-10-18 2 views
0

Für jeden richtig rate der Spieler macht ich will ein Stück eines Bildes zu zeigen. Das Bild ist ein human.Python enthüllen Bild Stück für Stück basierend auf If Bedingung

also zuerst richtig raten = Gesicht, zweite richtige rate = Gesicht und linke Hand usw. Mein Code ist unten, wenn mir jemand auf den richtigen Weg zeigen kann, was man auschecken/lesen oder einen Link in das schauen würde sei großartig. Ich dachte tkinter, dann PIL, dann pygame, aber jetzt bin ich so unsicher.

Ich habe einige ältere Posts gefunden, die Bilder Stück für Stück enthüllten, aber ich glaube nicht, dass sie für meine Bedürfnisse relevant sind.

Reveal a picture piece by piece

ich ein MacBook Pro Early 2015 bin mit El Capitan laufen und PyCharm Community-Version und Python 3.5.2 verwenden.

Ich habe online einen Code gefunden, um ein Hangman-Spiel zu machen, und ich wollte es ändern, um einen Teil eines Bildes als meinen "Henker" für jede richtige Schätzung des Benutzers zu enthüllen.

Gibt es eine Möglichkeit, tkinter zu verwenden und das folgende auszuführen?

Oder vielleicht bin ich es völlig falsch?

Ich dachte an

import Image 
Image.show # But this would not call back only a piece of an image, 
#unless I could use image.slicer to cut the image up before hand and 
#save the image as multiple pieces and add it. But this seems inefficient 


import random 

words = ['GOOGLE', 'FACEBOOK', 'NETFLIX', 'AMAZON'] 

while True: 
    start = input("Press enter/return to start") 
    if start == "" \ 
         "": 
     break 


secret_word = random.choice(words) 
bad_guesses = [] 
good_guesses = [] 

while len(bad_guesses) < 10 and len(good_guesses) != len(list(secret_word)): 
    # show guessed letter, spaces and strikes 
    for letter in secret_word: 
     if letter in good_guesses: 
      print(letter, end='') 
#For every letter in good_guesses we should reveal part of the image 
     else: 
      print('_ ', end='') 

    print('') 
    print('Strikes: {}/10'.format(len(bad_guesses))) 
    print('') 

    #user guesses letter 

    guess = input("Guess a letter! : ").upper() 

    if len(guess) != 1: 
     print ("You have to guess one letter at a time!") 
     continue 
    elif guess in bad_guesses or guess in good_guesses: 
     print("You already guessed this letter, try another letter!") 
     continue 
    elif not guess.isalpha(): 
     print("You can only guess letters nothing else!") 
     continue 

    if guess in secret_word: 
     good_guesses.append(guess) 

     # for every good guess we want to add a picture to appear 
     if len(good_guesses) == len(list(secret_word)): 
      print("You win! The word was {}".format(secret_word)) 
      break 
    else: 
     bad_guesses.append(guess) 
else: 
    print("Sorry! the word was {}".format(secret_word)) 

Antwort

0

Die Art und Weise das Hinzufügen das Bild Stück für Stück ich zuerst gedacht war zu zerschneiden. Nach ein wenig Nachdenken wäre es VIEL einfacher, x Menge schwarze Quadrate zu zeichnen und sie über dem Bild zu positionieren. Dann können Sie die gewünschte Datei importieren, ohne sie zu zerhacken. Ich benutze Pygame zum Blitzen von Objekten, aber tkinter wird für dich funktionieren. (noch nicht kompatibel mit Python 3+)

Hier ist ein Link zu einer vorherigen Antwort, die zeigt, wie man mehrere Quadrate mit einer Füllung zeichnet. Ich würde nur verwenden, wenn Aussagen keine Quadrate zeichnen.

how to draw more than one squares in tkinter python 3

Hier ist eine Art und Weise Gegenstände auf einander zu stapeln.

Tkinter, overlay foreground image on top of a background image with transparency

hoffe, das hilft!

Verwandte Themen