Форум сайта python.su
Я писал игру Камень, ножницы, бумага! Сначала я написал код игры без графического интерфейса, а потом решил на tkinter реализовать ту же программу только с графическим интерфейсом. Я успешно написал код игры, а с графическим интерфейсом у меня вышли проблемы!
ПОМОГИТЕ!
У меня есть код без графического интерфейса:
import random d = 0 # Счёт l = 0 w = 0 l = ['k','n','b'] def inp(): global n while True: try: n = int(input('Количество игр:')) return n except ValueError: print('ОШИБКА!') def logic(x, y): global d, w, l if x == y: print('Ничья') print("-------") d += 1 elif (x == 'k' and y == 'n') or (x == 'n' and y == 'b') or (x == 'b' and y == 'k'): print('Выигрыш') print("-------") w += 1 else: print('Проигрыш') print("-------") return d, l, w inp() while n != 0: while True: x = input('Камень (k), Ножницы (n), Бумага (b)') if x not in l: print('Введите k, n, b') else: break y = random.choice(l) logic(x, y) n -= 1 else: print('Победы - {0}\n Проигрыши - {1}\n Ничьи- {2}'.format(w, l, d))
import random d = 0 # Счёт l = 0 w = 0 l = ['k','n','b'] #интерфейс from tkinter import * def getText(): global get get = e.get() print(get) start() def start(): main = Tk() main.title("Камень ножницы бумага") main.geometry("500x500") btn1 = Button(main, text = 'Камень', background="#555", foreground="#ccc", padx="10",pady="5",font="16") btn2 = Button(main, text = 'Ножницы', background="#555", foreground="#ccc", padx="10",pady="5",font="16") btn3 = Button(main, text = 'Бумага', background="#555", foreground="#ccc", padx="10",pady="5",font="16") btn1.pack() btn2.pack() btn3.pack() while get != 0: while True: start() root = Tk() root.title("Камень ножницы бумага") root.geometry("100x100") e = Entry() btn = Button(root, text = 'Играть', background="#555", foreground="#ccc", padx="10", pady="5", font="16", command=getText ) e.pack() btn.pack() root.mainloop()
Офлайн
Vilgelmчто значит “ДОРАБОТАТЬ”? сделать из нее варкрафт3 или фаллаут4?
И есть недоработанный код той же программы с графическим интерфейсом (ЕГО НУЖНО ДОРАБОТАТЬ!)
while get != 0: while True: start()
[code python][/code]
Офлайн
Vilgelm имена переменным надо давать осмысленные, чуть больше букв. Тогда не будет ошибки в первых строках с определением переменных, где переменная l=0 заменяется списком
l = ['k','n','b']
Отредактировано Vladimirv (Ноя. 25, 2017 12:33:57)
Офлайн