所以,我刚刚完成了Python的基础知识,并希望制作一个小型的Rock,Paper,Scissors游戏来练习我的知识。
现在,这是我的代码到目前为止;
from random import randint
pipisuyu = 1
while pipisuyu == 1:
secim = input("Taas kagit....")
AI = randint(0, 2)
if secim == "Tas" and AI == 0:
print ("Rakibiniz de Tas secti, berabere!")
elif secim == "Tas" and AI == 1:
print ("Rakibiniz kagit secmisti. Kaybettin!")
pipisuyu -= 1
elif secim == "Tas" and AI == 2:
print ("Rakibiniz makas secmisti. Kazandiniz!")
pipisuyu -= 1
elif secim == "Kagit" and AI == 0:
print ("Rakibiniz tas secmisti. Kazandiniz!")
pipisuyu -= 1
elif secim == "Kagit" and AI == 1:
print ("Rakibiniz de kagit secmisti. Berabere!")
elif secim == "Kagit" and AI == 2:
print ("Rakibiniz makas secmisti. Kaybettiniz!")
pipisuyu -= 1
elif secim == "Makas" and AI == 0:
print ("Rakibiniz tas secmisti. Kaybettiniz!")
pipisuyu -= 1
elif secim == "Makas" and AI == 1:
print ("Rakibiniz kagit secmisti. Kazandiniz!")
pipisuyu -= 1
elif secim == "Makas" and AI == 2:
print ("Rakibiniz de makas secmisti. Berabere!")
所以,我想为这个游戏做一个选择,以便再次播放,这将带我回到while循环。起初我试过这个;
if pipisuyu == 0:
anan = input("Tekrar oynamak isterseniz ""tekrar"" yaziniz.")
if anan == "tekrar":
pipisuyu += 1
但是它不起作用,我相信即使现在pipisuyu等于1,而循环已经完成了它并且不再起作用。(?)
所以,如果有人能告诉我,在失去或赢得比赛后我怎样才能再次回到while循环中,我将不胜感激。
答案 0 :(得分:1)
将游戏放入函数中,当pipisuyu为0时,再次调用run函数。每次运行被称为pipisuyu将重新初始化为1.但要小心,退出此游戏的唯一方法是强制关闭您的终端。
display: table-cell;
vertical-align: middle;
padding: 10px;
答案 1 :(得分:1)
抱歉,我不明白Tekrar oynamak isterseniz ""tekrar"" yaziniz
的含义,但似乎还需要一个while
循环,就像这样:
anan = "tekrar"
while anan == "tekrar":
pipisuyu = 1
while pipisuyu == 1:
...
anan = input("Tekrar oynamak isterseniz ""tekrar"" yaziniz.")
答案 2 :(得分:0)
只使用你已经证明过的Python的功能,你可以将游戏包装在另一个while循环中,为你重置。像这样:
import Tkinter as tk
from Tkinter import *
from ScrolledText import *
from code import InteractiveInterpreter
interpreter = InteractiveInterpreter()
def go(event):
print(interpreter.runcode(textPad.get('1.0', END+'-1c')))
root = tk.Tk()
textPad = ScrolledText(root,width=100,height=100)
textPad.focus_set()
b2=tk.Button(root, text ="Run",width=34,height=3)
b2.pack()
b2.bind('<Button-1>', go)
textPad.pack()
root.mainloop()
然而,稍微好一些,我们会将游戏逻辑包含在一个函数中然后调用它:
from random import randint
pipisuyu = 1
while True:
while pipisuyu == 1:
secim = input("Taas kagit....")
AI = randint(0, 2)
if secim == "Tas" and AI == 0:
print ("Rakibiniz de Tas secti, berabere!")
elif secim == "Tas" and AI == 1:
print ("Rakibiniz kagit secmisti. Kaybettin!")
pipisuyu -= 1
elif secim == "Tas" and AI == 2:
print ("Rakibiniz makas secmisti. Kazandiniz!")
pipisuyu -= 1
elif secim == "Kagit" and AI == 0:
print ("Rakibiniz tas secmisti. Kazandiniz!")
pipisuyu -= 1
elif secim == "Kagit" and AI == 1:
print ("Rakibiniz de kagit secmisti. Berabere!")
elif secim == "Kagit" and AI == 2:
print ("Rakibiniz makas secmisti. Kaybettiniz!")
pipisuyu -= 1
elif secim == "Makas" and AI == 0:
print ("Rakibiniz tas secmisti. Kaybettiniz!")
pipisuyu -= 1
elif secim == "Makas" and AI == 1:
print ("Rakibiniz kagit secmisti. Kazandiniz!")
pipisuyu -= 1
elif secim == "Makas" and AI == 2:
print ("Rakibiniz de makas secmisti. Berabere!")
pipisuyu = 1