Wordle недавно покорил Интернет, и неудивительно, почему! Простой, но интригующий игровой процесс многих зацепил. Вы когда-нибудь задумывались о том, чтобы создать свою собственную версию? С помощью Python и Streamlit вы можете в кратчайшие сроки создать игру в стиле Wordle. Давайте погрузимся!
Подготовка сцены
Прежде чем мы перейдем к коду, вот краткий обзор того, что делает игра:
- Игра выбирает случайное слово из заранее заданного списка.
- Игрокам предстоит угадать слово из 5 букв.
- После каждого предположения игра предлагает обратную связь:
- 🟢: Правильная буква, правильная позиция!
- 🟡: Правильная буква, неправильная позиция.
- 🔴: Буквы нет в слове.
4. Игра завершается либо после правильного угадывания слова, либо после 6 попыток.
Звучит весело? Давайте займемся кодированием!
import streamlit as st import random # Sample list of 5-letter words. Expand as needed. words = ["apple", "brave", "charm", "drift", "elope", "flock", "grasp"] # Choose a random word from the list target_word = random.choice(words) # Maximum number of attempts allowed MAX_ATTEMPTS = 6 # Placeholder for user's past attempts guesses = [] st.title('Wordle-like Game using Streamlit') st.write("Guess the 5-letter word!") # Function to compare the target and guessed word def compare_words(target, guess): return ['🟢' if t == g else '🟡' if t in guess else '🔴' for t, g in zip(target, guess)] for attempt in range(MAX_ATTEMPTS): # Get the user's guess guess = st.text_input(f"Attempt {attempt + 1}", max_chars=5, key=attempt) # If the guess is valid if len(guess) == 5: feedback = compare_words(target_word, guess) guesses.append((guess, feedback)) # Display the past attempts with feedback for g, f in guesses: st.write(f"{g.upper()} {' '.join(f)}") # If the guess is correct if guess == target_word: st.success("Congratulations! You've guessed the word!") break else: st.warning("Please enter a 5-letter word.") # If the maximum attempts are reached if attempt == MAX_ATTEMPTS - 1: st.error(f"You've reached the maximum attempts! The word was: {target_word.upper()}")
Запуск игры
После того, как вы записали приведенный выше код в файл Python (скажем, wordle_game.py
), вы можете запустить игру с помощью Streamlit: (используя командную строку)
потоковый запуск wordle_game.py
Последние мысли
В этом уроке представлена базовая основа, но вы можете многое добавить. Подумайте о том, чтобы расширить список слов, ввести различные уровни сложности или предложить сложные подсказки.
Если вы энтузиаст Wordle или хотите создавать крутые проекты с помощью Streamlit, эта игра станет отличной отправной точкой. Приятного кодирования и еще большего удовольствия от отгадывания слов! 🚀🔤🎉
Если вы хотите узнать больше о Python, эта книга является лучшим источником информации и очень популярна.