In diesem Tutorial zur Spieleentwicklung konzentrieren wir uns darauf, wie man ein Wortratespiel in Python erstellt. Das Ziel dieses Spiels ist ziemlich einfach, dass Benutzer nur das Wort erraten müssen, das in unserer Datenbank gespeichert ist. Das Erstellen eines Wortratespiels ist nicht so schwer zu lernen, wie man ein Wortratespiel in Python erstellt. Sie benötigen lediglich die Grundkenntnisse von Python, und es ist ein nettes Spielprojekt, das Sie in Ihr Portfolio aufnehmen können.

Wie wird der Code funktionieren?

  1. Wir werden eine Liste von Wörtern als unsere Datenbank verwenden und ein Wort wird zufällig aus unserer Datenbank ausgewählt, um es vom Benutzer zu erraten.
  2. Der Benutzer wird aufgefordert, einen Buchstaben in dem zufällig ausgewählten Wort zu erraten, wenn das zufällig ausgewählte Wort diesen Buchstaben enthält, wird es als Ausgabe angezeigt, andernfalls teilt das Programm dem Benutzer mit, dass er sich geirrt hat.
  3. Der Benutzer hat eine begrenzte Anzahl von Seeschwalben, um jeden Buchstaben in dem Wort zu erraten, wenn der Benutzer jeden Buchstaben in dem Wort und in den zugeteilten Zügen bekommt, dann gewinnt der Benutzer das Spiel, andernfalls verliert der Benutzer.

Grundvoraussetzungen zum Erstellen des Ratespiels:

Random der Modul:

Das Python-Zufallsmodul ist ein eingebautes Modul von Python, das zum Generieren von Zufallszahlen verwendet wird. Dies sind Pseudo-Zufallszahlen, da diese nicht wirklich zufällig sind. Es hat eine Funktion namens randint(), die aus zwei Hauptargumenten besteht; Eine ist die niedrigste Zahl und die andere ist die größte Zahl, zwischen der unsere Zufallszahl generiert werden soll. Dieses Modul kann verwendet werden, um zufällige Aktionen auszuführen, wie z. B. das Generieren von Zufallszahlen, das Drucken von Zufallswerten für eine Liste oder einen String usw.

Schritt -1: Liste der Wörter, die akzeptiert werden können

Importieren der erforderlichen Bibliothek

import random

Erstellen einer Wortliste, in der der Benutzer das richtige Wort erraten muss.

words = ['kindly', 'recite', 'repeat', 'tree', 'display', 'geeks', 'coader', 'programmer', 'python', 'premium', 'watch']

Wählen Sie zufällig eines der aufgelisteten Wörter aus und wenn Sie möchten, können Sie das Wort auch anzeigen.

word = random.choice(words)
#print (word)

Schritt -2: Hinzufügen von Leerzeichen

Das Erstellen einer Reihe von Unterstrichen zur Darstellung von Zeichenzwischenräumen, einer für jedes Zeichen in dem zufällig ausgewählten Wort, ist eine einfache, aber intelligente Methode, um anzuzeigen, wie viele Zeichen das Wort enthält.

spaces = ['_']* len(word)
#show spaces
Spaces

Hier erstellen wir eine Funktion, um die folgenden Dinge zu tun

  1.  Finden Sie alle Buchstabenpositionen aus der Vermutung des Benutzers (einige Zeichen).
  2. Wenn der Buchstabe im Wort vorhanden ist, ersetzt die Funktion die Unterstriche in Leerzeichen durch die richtigen Buchstaben an dieser Position.
def get_letter_position(guess, word, spaces):
    # Create and set a variable called index to be -2
    index = -2
    # create a loop to continue to look through the word for every single position where that letter exists
    while index != -1:
        #check if the character/guess is in word, it then removes the character from the word and add it to spaces
        if guess in word:
            index = word.find(guess)
            #remove that letter from the word
            # this is the special character that will let us know that the        character is removed from the word
            removed_character ='*'
            word = word[:index]+removed_character+word[index+1:]
            spaces[index] = guess
        else:
            index = -1
       
    return (word, spaces)

Erstellen einer Funktion, um zu überprüfen, ob der Benutzer alle Buchstaben im Wort erraten hat („1=Ja“ bedeutet, dass er alle Buchstaben im Wort erraten hat, „-1=Nein“ bedeutet, dass der Benutzer nicht alle Buchstaben erraten hat Buchstaben im Wort)

Schritt -3: Benutzereingabe validieren

def win_check():
    for i in range(0, len(spaces)):
        if spaces[i] == '_':
            return -1
    return 1 

Schritt -4: Erstellen der Benutzeroberfläche

Entwerfen des Spiels und Entwickeln des UI-Teils.

#choose some number of turns for the user to guess the word
num_turns = len(word)
for i in range(0, num_turns):
    #ask the user to guess a character
    guess = input('Guess a character:')
   
    if guess in word:
        word, spaces = get_letter_position(guess, word, spaces)
        print(spaces)
    else:
        print('Sorry that letter is not in the word.')
       
    #check if the player guess the word
    if win_check() == 1:
        print('Congratulations you won')
        break
       
    print('you have'+str(num_turns - i)+' turns left.')
    print()

Ausgabe:

Guess a character:e
['_', '_', 'e', 'e']
you have 9 turns left.
you have 5 turns left.

Guess a character:n
['k', 'i', 'n', 'd', '_', '_']
you have 4 turns left.

Guess a character:y
['k', 'i', 'n', 'd', '_', 'y']
you have 3 turns left.

Guess a character:l
['k', 'i', 'n', 'd', 'l', 'y']
Congratulations you won

So sollte Ihr Code aussehen:

import random

words = ['kindly', 'recite', 'repeat', 'tree', 'display', 'geeks', 'coader', 'programmer', 'python', 'premium', 'watch']

word = random.choice(words)

spaces = ['_']* len(word)

def get_letter_position(guess, word, spaces):
    index = -2
    while index != -1:
        if guess in word:
            index = word.find(guess)
            removed_character ='*'
            word = word[:index]+removed_character+word[index+1:]
            spaces[index] = guess
        else:
            index = -1
     
    return (word, spaces)


def win_check():
    for i in range(0, len(spaces)):
        if spaces[i] == '_':
            return -1
     
    return 1

num_turns = len(word)
for i in range(-1, num_turns):
    guess = input('Guess a character:')
 
    if guess in word:
        word, spaces = get_letter_position(guess, word, spaces)
        print(spaces)
    else:
        print('Sorry that letter is not in the word.')
     
    if win_check() == 1:
        print('Congratulations you won')
        break
     
    print('you have '+str(num_turns - i)+' turns left.')
    print()

Ausgabe:

Letzte Worte

In diesem Blogbeitrag haben wir gelernt, wie man ein Wortratespiel in Python erstellt. Dieses Programm soll ein unterhaltsames und einfaches Lernprojekt sein, das Ihnen den Einstieg in das Programmieren erleichtert. Hier haben wir ein Spiel entwickelt, das den Benutzer auffordert, ein Wort zu erraten, und dann muss der Benutzer das Wort erraten, an das der Computer denkt (unter Verwendung des Zufallsmoduls). Wenn der Benutzer das Wort richtig erraten kann, wird der Benutzer mit einer „Herzlichen Glückwunsch, Sie haben gewonnen“-Nachricht belohnt. Wenn Sie Fragen haben, können Sie diese gerne im Kommentarbereich unten kommentieren.

Hier sind einige nützliche Tutorials, die Sie lesen können: