Skip to content

حدس عدد #48

@arts1390

Description

@arts1390

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button

class GuessGame(BoxLayout):
def init(self, **kwargs):
super().init(orientation='vertical', padding=20, spacing=10, **kwargs)
self.secret = None
self.tries = 0

    self.label = Label(text='🎯 نفر اول: یک عدد بین 1 تا 100 وارد کن', font_size=20)
    self.add_widget(self.label)

    self.input = TextInput(
        hint_text='عدد را وارد کن',
        multiline=False,
        input_filter='int',
        password=True,
        font_size=18
    )
    self.add_widget(self.input)

    self.button = Button(text='تأیید عدد مخفی', font_size=18)
    self.button.bind(on_press=self.set_secret)
    self.add_widget(self.button)

    self.result = Label(text='', font_size=16)
    self.add_widget(self.result)

def set_secret(self, instance):
    text = self.input.text.strip()
    if text.isdigit() and 1 <= int(text) <= 100:
        self.secret = int(text)
        self.input.text = ''
        self.input.password = False
        self.label.text = '👤 نفر دوم: حدس بزن عدد چیه؟'
        self.button.text = 'بررسی حدس'
        self.button.unbind(on_press=self.set_secret)
        self.button.bind(on_press=self.check_guess)
        self.result.text = ''
        self.tries = 0
    else:
        self.result.text = '❗ لطفاً عددی بین 1 تا 100 وارد کن'

def check_guess(self, instance):
    text = self.input.text.strip()
    if not text.isdigit():
        self.result.text = '❗ فقط عدد وارد کن'
        return

    guess = int(text)
    self.tries += 1

    if guess < self.secret:
        self.result.text = '🔼 عدد مخفی بزرگ‌تره'
    elif guess > self.secret:
        self.result.text = '🔽 عدد مخفی کوچک‌تره'
    else:
        self.result.text = f'🎉 درست گفتی! 👏 در {self.tries} تلاش'
        self.input.disabled = True
        self.button.disabled = True

class GuessApp(App):
def build(self):
return GuessGame()

if name == 'main':
GuessApp().run()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions