Python Turtle庫
#coding=utf-8
import turtle
t=turtle.Pen()
turtle.setup(1000,650,150,0)
t.hideturtle()
t.penup()
t.goto(-300,200)
def pt(string,fnt=("宋體",40,"normal")):
t.write(str(string),font=fnt)
def sss():
tz = turtle.Pen()
tz.pencolor("red")
tz.hideturtle()
tz.penup()
tz.goto(-500,-120)
d="""有【要】【不要】,\njoker>2>A>K>Q>J>10>9>8>7>6>5>4>3,\n\t3>joker\n當出3時,可額外再出一張,先出完者獲勝\n\tpress<e>to quit"""
tz.write(d,font=("宋體",40,"underline"))
def o():
tz.clear()
turtle.onkey(lambda:o(),"e")
pt(f"POKER GAME{chr(8353)}");t.pencolor("blue")
t.forward(400);t.write(f"規則{'press key<r>'}",font=("宋體",20,"underline"));t.pencolor("black")
turtle.onkey(lambda:sss(),"r")
from random import *
v=[3,4,5,6,7,8,9,10,11,12,13,14,15,16]
b=['3','4','5','6','7','8','9','10','J','Q','K','A','2','JOKER']
m=[]
d=[]
mine=turtle.Pen()
mine.hideturtle()
mine.penup()
mine.goto(-500,-200)
for i in range(5):
m.append(b[randint(0,len(b)-1)])
d.append(b[randint(0,len(b)-1)])
mine.write(f"你的手牌:{str(m).strip('[]')}",font=("宋體",40,"normal"))
his=turtle.Pen()
his.hideturtle()
his.penup()
his.goto(-500,-250)
his.write(f"對手的牌:{'? '*5}",font=("宋體",40,"normal"))#str(d).strip('[]')
print(f"press:<'A':A,'2':2,'3':3,'4':4,...,'t':10,...,'K':k,'W':JOKER,'0':pass")
now=0
oq=[True,False]
turn=oq[randint(0,1)]
t.goto(-500, -300)
def go(zz):
global now
global turn
while True:
if turn:
if zz!="p":
if zz in m:
if v[b.index(zz)]>now or now==16 and zz=="3":
now=v[b.index(zz)]
t.forward(50)
t.pencolor("red")
pt(str(zz)+" ")
if str(zz)=="JOKER":
pt(" ")
t.pencolor("black")
m.remove(zz)
mine.clear()
#mine.write(f"你的手牌:{'? '*len(m)}", font=("宋體", 40, "normal"))#str(m).strip('[]')
mine.write(f"你的手牌:{m}", font=("宋體", 40, "normal"))#str(m).strip('[]')
if m==[]:
mine.clear()
mine.write("WIN!",font=("宋體", 40, "normal"))
his.clear()
his.write(d,font=("宋體", 40, "normal"))
break
if zz != "3":
turn=False
continue
else:
turn=True
break
break
else:
t.forward(30)
t.pencolor("red");pt("P");t.pencolor("black");turn=False;continue
now=0
break
if not(turn):
k=d[randint(0,len(d)-1)]
if v[b.index(k)]>now:
now = v[b.index(k)]
t.forward(30)
t.pencolor("red")
pt(str(k) + " ")
if str(k)=="JOKER":
pt(" ")
t.pencolor("black")
d.remove(k)
if d == []:
his.clear()
his.write("WIN!", font=("宋體", 40, "normal"))
break
his.clear()
his.write(f"對手的牌:{'? '*len(d)}", font=("宋體", 40, "normal"))#str(d).strip('[]')
if k != "3":
turn = True
break
else:
turn = False
continue
if d == []:
his.clear()
his.write("WIN!", font=("宋體", 40, "normal"))
break
break
else:
t.forward(30)
t.pencolor("red")
pt("P")
t.pencolor("black")
turn = True
now=0
break
break
turtle.onkey(lambda:go("p"),"0")
turtle.onkey(lambda:go("3"),"3")
turtle.onkey(lambda:go("4"),"4")
turtle.onkey(lambda:go("5"),"5")
turtle.onkey(lambda:go("6"),"6")
turtle.onkey(lambda:go("7"),"7")
turtle.onkey(lambda:go("8"),"8")
turtle.onkey(lambda:go("9"),"9")
turtle.onkey(lambda:go("10"),"t")
turtle.onkey(lambda:go("J"),"j")
turtle.onkey(lambda:go("Q"),"q")
turtle.onkey(lambda:go("K"),"k")
turtle.onkey(lambda:go("A"),"a")
turtle.onkey(lambda:go("2"),"2")
turtle.onkey(lambda:go("JOKER"),"w")
turtle.mainloop()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/351353.html
標籤:其他
上一篇:Docker技術
