学习python编程,在新东方少儿编程官网的自由创作平台做的一些作品。
可以在线运行,效果如下(在新页面中打开链接):
代码如下(用到平台自定义的xdf库):
from xdf import *
p0 = [200, 512+100]
p1 = [768-200, 512+100]
p2 = [768/2, 512-200]
#line0 = line(p0[0], p0[1], p1[0], p1[1])
line1 = line(p1[0], p1[1], p2[0], p2[1])
line2 = line(p2[0], p2[1], p0[0], p0[1])
c0 = circle(p0[0], p0[1], 100, 'blue')
c1 = circle(p1[0], p1[1], 100, 'blue')
c2 = circle(p2[0], p2[1], 100, 'blue')
t0 = text('', p0[0], p0[1] + 40, 100, 'center', 'black')
t1 = text('', p1[0], p1[1] + 40, 100, 'center', 'black')
t2 = text('', p2[0], p2[1] + 40, 100, 'center', 'black')
resText = text('', 768 / 2, 1024-200, 50, 'red', 'center')
scoreText = text('得分:0', 10, 50, 40, 'red')
isRunning = False
score = 0
a = [0, 0, 0]
n = 0
ts = [t0, t1, t2]
cs = [c0, c1, c2]
tp = False
def reset():
global n,isRunning
a[2] = random(2, 9)
a[0] = random(1, a[2] - 1)
a[1] = a[2] - a[0]
n = random(3) - 1
isRunning = True
refresh()
resText.change('')
def updateScore():
global score
scoreText.change("得分:" + str(score))
def refresh():
for i in range(3):
ts[i].change(str(a[i]))
if i == n:
ts[i].hide()
cs[i].change('red')
else:
ts[i].show()
cs[i].change('blue')
def loop():
global tp,score,isRunning
if tp:
tp = False
x = input("答案:")
if not x:
return
try:
b = int(x)
if b == a[n]:
ts[n].show()
score = score + 1
updateScore()
isRunning = False
resText.change('正确')
delay(reset, 3000)
else:
resText.change('错误')
except e:
pass
def taped(m):
global n,tp
if m == n:
tp = True
def tap0():
taped(0)
def tap1():
taped(1)
def tap2():
taped(2)
c0.tap = tap0
c1.tap = tap1
c2.tap = tap2
reset()
也可以下载代码,本地python环境运行(用pygame封装了xdf库)。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。