ich probiere das Spiel Scramble mit Pyscript in Verbindung mit HTML zu programmieren. Die Wörter im Spiel werden mit einer txt - Datei aufgerufen, als ich alles in Python gecodet habe, hat alles funktioniert, aber nun bei der Übertragung und bei der Verbindung mit der txt - Datei gibt es nun Probleme und er findet oder ruft die Datei nicht mehr auf.
Code: Alles auswählen
<!DOCTYPE html>
<html>
<head>
<title>Scramble|Spieleaffe nur besser</title>
<link rel="stylesheet" href="main.css">
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"> </script>
</head>
<body>
<header class="header">
<div class="container">
<div class="header_title">
<h1 style="color: rgb(249, 237, 11);">Hier steht unser Titel</h1>
</div>
<div class="header_buttons">
<a href="Home.html">Home</a>
<a href="Spiele.html">Spiele</a>
<a href="Support.html">Support</a>
<input type="text" placeholder="Search Bar">
<a style="float:right" href="Login.html">Login</a>
</div>
</div>
</header>
<div class="games_container">
<input type="text" placeholder="Word?" id="Guess">
<py-script>
import random
class ScrambleGame():
def __init__(self, word: str, lives: int): #Konstruktor benötigt nur leben und das wort
self.word = word
self.shuffledWord = None
self.lives = lives
def shuffleWord(self): # alle buchstaben miteinander vermischen
letterList = list(self.word)
letterList[0] = letterList[0].upper() #den ersten Buchstaben des Wort groß machen als kleiner Tipp
random.shuffle(letterList)
self.shuffledWord = ''.join(letterList)
def removeLife(self): # Leben entfernen für Spiellogik
self.lives -= 1
def getRandomWord():
words = []
with open("wordlist.txt", "r") as fa:
lines = fa.read().splitlines()
for line in lines:
if len(line) > 3 and len(line) < 8: # Wörter mit 4 - 7 Zeichen werden nur genommen, damit es nicht zu schwierig wird.
words.append(line)
randomWord = random.choice(words)
return randomWord
def checkCondition(guess, word): #kleines Unterprogramm, dass das geratene Wort auf sprachliche Richtigkeit überprüft
if len(guess) != len(word):
return "Die Länge deines Wortes stimmt nicht mit der Länge des Wortes überein"
sortedGuess = list(guess)
sortedWord = list(word)
sortedWord.sort() # sortedGuess und sortedWord sind identisch, wenn bei der eingabe alle Buchstaben vorkommen, die auch im Wort vorkommen, welches zu erraten ist
sortedGuess.sort()
if sortedGuess != sortedWord: # Wenn die listen nicht identisch sind, besitzt das geratene Wort nicht die gleichen Buchstaben wie das zu erratene Wort
return "Dein Wort besitzt Buchstaben, die nicht in der Lösung vorkommen"
return True
randomWord = getRandomWord()
#print(randomWord)
game = ScrambleGame(randomWord, 5)
game.shuffleWord()
won = False
print("Scramble Game")
while game.lives > 0:
condition = False
print(f"Versuche das folgende Wort zu erraten: {game.shuffledWord}\nLeben übrig: {game.lives}\n")
while condition != True:
guess = Element("Guess").element.value.lower()
condition = checkCondition(guess, game.word)
if condition != True:
print(condition)
if guess != game.word: # damit man auch großbuchstaben eingevben kann
print("Diese Vermutung war falsch\n")
game.removeLife()
else:
won = True
break
if won:
print("Glückwunsch, du hast gewonnen.")
else:
print(f"Du hast verloren, da du keine Leben mehr übrig hast.\nDas wort war {randomWord}")
</py-script>
</div>
</body>
</html>
Wäre echt cool wenn mir jemand helfen könnte hab schon viele Leute gefragt, aber die haben auch kein Plan.