Kivy使用篇12

Kivy使用篇之翻牌游戏

  1. RecycleView RecycleGridLayout RecycleDataViewBehavior 使用示例
  2. Popup 的使用示例
  3. FocusBehavior 使用示例
  4. canvas 使用
  5. random.shuffle 打乱列表

翻牌游戏
有一个卡牌矩阵,依次翻开2个卡牌,如果2卡牌相同,则消除改2处的卡牌。依次类推,直到所有卡牌都被消除。
可翻转卡牌实现

<SelectableCard>:
    # 背景色来指示卡牌类型
    canvas.before:
        Color:
            rgba: 
                (1, 0, 0, 1) if self.mode == 0 \
                else (0, 1, 0, 1) if self.mode == 1 \
                else (0, 0, 1, 1) if self.mode == 2 \
                else (1, 0, 1, 1)
        Ellipse:
            size: self.size
            pos: self.pos
    # 前景色 选中时透明
    canvas.after:
        Color:
            rgba: 
                (0, 0, 0, 1) if not self.selectable \
                else (1, 1, 1, .1) if self.selected \
                else (.1, .8, .5, 1)
        Rectangle:
            pos: self.pos
            size: self.size
    font_size: sp(30)

每个卡牌有三种颜色,红、绿、蓝。当被选中时,前景色透明,可显示背景图颜色和文字信息。当无法被选中时,即not self.selectable时,前景为全黑且不透明。
pythonSelectableCard的定义如下

class SelectableCard(RecycleDataViewBehavior, Label):
    """ 可翻转的卡牌"""
    i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值