Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.12.2019
Сообщений: 8
1

Игра "Угадай число - Экстрасенс" Не получается реализовать новую игру с генерацией нового числа

18.03.2020, 16:27. Просмотров 779. Ответов 3




Игра "Угадай число - Экстрасенс" Не получается реализовать новую игру с генерацией нового числа по нажатию кнопки "новая игра"
Хочу реализовать все через классы (ООП) Прошу подсказать где я допустил ошибку, а может и не одну( Может стоит меню сделать под тип "настройки" и в него вбивать первоначальные числа, чтобы потом менять значения в графическом интерфейсе, парюсь со вчерашнего дня...




from tkinter import *
from tkinter import messagebox
import random


class bars():
start = int(input('Начальное число: '))
stop = int(input('Конечное число: '))


class Game(bars):
start = bars.start
stop = bars.stop
def __init__(self, start, stop, score=0):
self.start = start
self.stop = stop
self.score = score



def generation(self): # Генератор чисел
gener = random.randint((self.start),(self.stop))
bazalt = gener
return bazalt


def resultat(self): # Основные вичисления
s=name_entry.get()
self.start = int(self.start)
self.stop = int(self.stop)
try:
s=int(s)
except ValueError:
messagebox.showinfo(f"Игра - Экстрасенс", 'Вводите только целые числа!')
print(type(s) ,'типы', type(bazalt))
print(f'ввели: {s} в базе {bazalt}')

if s == bazalt:
print('правильно!')
messagebox.showinfo(f"Игра - Экстрасенс", 'Вы ответили правильно!')

elif s < bazalt and s>=bars.start:
messagebox.showinfo(f"Игра - Экстрасенс",'Ваше число Меньше Загаданного!')
elif s > bazalt and s<=bars.stop:
messagebox.showinfo(f"Игра - Экстрасенс",'Ваше число Больше Загаданного!')
elif s>=bars.stop or s<=bars.start:
messagebox.showinfo(f"Игра - Экстрасенс", f'Числа от {bars.start} до {bars.stop}!!!')
else:
print('НЕ правильно!')

def clear(self): # Новая игра
name_entry.delete(0, END)
messagebox.showinfo(f"Игра - Экстрасенс", 'Новая игра!')
u=1
while u == 1:

self.vs=str(vs)
self.__setattr__(str(bazalt),vs)
print(bazalt)
break

# surname_entry.delete(0, END)
baks = bars()
ss = Game(baks.start, bars.stop)
bazalt = ss.generation()
vs = random.randint(int(bars.start),int(bars.stop))

play = Game(baks.start, bars.stop)


# Графическое представление
root = Tk()
root.title("Игра - Экстрасенс")

name_label = Label(text="Введите имя:")
surname_label = Label(text="Ваш рейтинг:")

name_label.grid(row=0, column=0, sticky="w")
surname_label.grid(row=1, column=0, sticky="w")

name_entry = Entry()


name_entry.grid(row=0, column=1, padx=5, pady=5)


# вставка начальных данных
name_entry.insert(0, "Введи число")

display_button = Button(text="Результат", command=play.resultat)
clear_button = Button(text="Новая игра!", command=play.clear)

display_button.grid(row=2, column=0, padx=5, pady=5, sticky="e")
clear_button.grid(row=2, column=1, padx=5, pady=5, sticky="e")

root.mainloop()
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2020, 16:27
Ответы с готовыми решениями:

Не получается сделать игру "Угадай число"
Не получается задача. Условие: сделать игру - &quot;Угадай число&quot;. В коде все подробно расписано....

Как реализовать игру на PHP "Угадай число"
составить игру на php угадай число На странице с формой пользователю предлагается отгадать число...

Pascal ABC. Смоделировать игру "Угадай число" (цикл until)
Pascal ABC. смоделировать игру угадай число (цикл until)

Написать программу-игру "Угадай число" из промежутка от 0 до 1000
Написать программу-игру &quot;Угадай число&quot; из промежутка от 0 до 1000. Сценарий: • Компьютер...

3
0 / 0 / 0
Регистрация: 15.03.2020
Сообщений: 6
18.03.2020, 18:55 2
Жесть...
Вставьте код как положено пожалуйста С форматированием.
0
0 / 0 / 0
Регистрация: 25.12.2019
Сообщений: 8
18.03.2020, 20:00  [ТС] 3
Во вложении файл с форматированием
0
Вложения
Тип файла: doc game_1.doc (3.1 Кб, 2 просмотров)
0 / 0 / 0
Регистрация: 25.12.2019
Сообщений: 8
18.03.2020, 20:01  [ТС] 4
from tkinter import *
from tkinter import messagebox
import random


class bars():
start = int(input('Начальное число: '))
stop = int(input('Конечное число: '))
score = int(0)


class Game(bars):
start = bars.start
stop = bars.stop
score = bars.score
def __init__(self, start, stop, score):
self.start = start
self.stop = stop
self.score = score



def generation(self):
gener = random.randint((self.start),(self.stop))
bazalt = gener
return bazalt


def resultat(self):
s=name_entry.get()
self.start = int(self.start)
self.stop = int(self.stop)
try:
s=int(s)
except ValueError:
messagebox.showinfo(f"Игра - Экстрасенс", 'Вводите только целые числа!')
print(type(s) ,'типы', type(bazalt))
print(f'ввели: {s} в базе {bazalt}')

if s == bazalt:
print('правильно!')
play.score += 1
messagebox.showinfo(f"Игра - Экстрасенс", f'Вы ответили правильно! Текущий рейтинг: {play.score}')

elif s < bazalt and s>=bars.start:
messagebox.showinfo(f"Игра - Экстрасенс",'Ваше число Меньше Загаданного!')
elif s > bazalt and s<=bars.stop:
messagebox.showinfo(f"Игра - Экстрасенс",'Ваше число Больше Загаданного!')
elif s>=bars.stop or s<=bars.start:
messagebox.showinfo(f"Игра - Экстрасенс", f'Числа от {bars.start} до {bars.stop}!!!')
else:
print('НЕ правильно!')

def clear(self):
name_entry.delete(0, END)
messagebox.showinfo(f"Игра - Экстрасенс", 'Новая игра!')
u=1
while u == 1:

self.vs=str(vs)
self.__setattr__(str(bazalt),vs)
print(bazalt)
break

# surname_entry.delete(0, END)
baks = bars()
ss = Game(baks.start, bars.stop,bars.score)
bazalt = ss.generation()
vs = random.randint(int(bars.start),int(bars.stop))

play = Game(baks.start, bars.stop,bars.score)



root = Tk()
root.title("Игра - Экстрасенс")

name_label = Label(text="Введите число:")
raiting_label = Label(text="Ваш рейтинг:")
result = print(f'Успеваемость: {play.score}')
raiting_status = Label(text=f'{result}')

name_label.grid(row=0, column=0, sticky="w")
raiting_label.grid(row=1, column=0, sticky="w")
raiting_status.grid(row=1, column=1, sticky="w")

name_entry = Entry()


name_entry.grid(row=0, column=1, padx=5, pady=5)

# вставка начальных данных
name_entry.insert(0, "Введи число")

display_button = Button(text="Результат", command=play.resultat)
clear_button = Button(text="Новая игра!", command=play.clear)

display_button.grid(row=2, column=0, padx=5, pady=5, sticky="e")
clear_button.grid(row=2, column=1, padx=5, pady=5, sticky="e")

root.mainloop()
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2020, 20:01

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Создать программу, реализующую игру "Угадай число"
ЗДРАВСТВУЙТЕ помогите с задачей: Создать программу, реализующую игру &quot;Угадай число&quot; (компьютер...

Написать игру "Угадай число", используя цикл while
ку,нужно написать игру где компьютер угадывает число допустим за 7 попыток,использовать while.

Как сделать игру на Android "Угадай число от 1 до 10"?
Вот писал игру для андроид , вроде все в порядке , число генирируеться ,но когда число угадывается...

Создайте программу, реализующую игру "Угадай число" (Turbo Prolog)
ЗДРАВСТВУЙТЕ! Помогите пожалуйсто с решением задачи. Создайте программу, реализующую игру &quot;Угадай...

Надо создать игру "Угадай число" , с условием того , что все будет наоборот
Помогите создать игру &quot;Угадай число&quot; , с условием того , что все будет наоборот.То есть Я загадываю...

Создать игру "Угадай число"
Используя Windows Forms, создать игру “Угадай число”. Компьютер загадывает число от 1 до 100, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.