马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
五子棋演示必胜招法,要求每布一子延时1秒,显示动画效果。
布子完成后停留3秒,回到无子界面。或者一键清屏。
下面代码延时及清屏无效果。import cocos
from cocos.scene import Scene
from cocos.director import director
from pyglet.window import key
qizi = []
bo = None
class GameLayer(cocos.layer.ColorLayer):
global qizi, bo
def __init__(self):
super().__init__(22, 142, 202, 255)
cocos.layer.Layer.is_event_handler = True
bg = cocos.sprite.Sprite('bc55.jpg')
bg.position = (350, 350)
self.add(bg)
def display(self):
positions = [(9, 9), (10, 9), (8, 6), (9, 8), (6, 8), (8, 7), (7, 6), (11, 10),
(12, 11), (12, 9), (6, 6), (9, 6), (7, 7)]
for i in range(13):
if i % 2 == 0:
bo = cocos.sprite.Sprite('3.png')
else:
bo = cocos.sprite.Sprite('4.png')
bo.position = (35 + (positions[i][0]) * 45, 35 + (positions[i][1]) * 45)
self.do(cocos.actions.Delay(1))
self.add(bo)
qizi.append(bo)
self.do(cocos.actions.Delay(3))
return
def on_key_press(self, k, _):
global qizi, bo
if k == key.SPACE:
self.display()
if k == key.ENTER:
self.remove(bo)
qizi = []
director.init(800, 700, caption="五子棋")
mainscene = Scene()
mainscene.add(GameLayer(), z=1)
director.run(mainscene)
|