当前位置:主页 > 资源 > 888真人赌博iOS开发公开课总结(三) :纸牌配对游戏Demo

888真人赌博iOS开发公开课总结(三) :纸牌配对游戏Demo

时间:2019-04-09 13:45 来源:网络整理 点击:

这节课缺席少量知。,这首要是剥削者至死景色竞赛的继续。:888真人赌博iOS生长在上的课总结(二) :用烙画做演示,将一张纸板做的扩展到单独多张纸板做的并举行交配和等级的小游玩。

这节课的质地很复杂。,但这很要紧。,讲课者口音了MVC的设计根本,并将其应用到,本文解说了本课中提到的知点。。

设计资格


  • 显示多张明信片,以防你点击,你可以翻转究竟哪一个明信片。。
  • 这两张牌可以在显示右面后举行婚配。:
    • 竞赛共1分。;数字婚配4分。,婚配后,两张牌被切换到非点击。。
    • 缺席2分的竞赛。。
    • 每回触发被增加少量的。。
  • 每回触发使恢复时,分被使恢复。。

效果图:


左:初始范围 ;右:游玩中范围

要紧使具有特性遗传密码段和知点


模子类:CardMatchingGame

1. 在公共代言人上设置只读属性


//CardMatchingGame.h
@property (非原子的), 只读) NSInteger score;

//CardMatchingGame.m
@property (非原子的), 读写) NSInteger score;

将分属性设置为只读.h证明。,并将.m证明说得中肯属性设置为读写。,庶乎在内部计算。。

理由:我们的不想要剩余部分类更改此属性。,不料通用此属性。。浅显地说:就拿我给你的好成果吧。,你不克不及代替物它。!”

2. 使具有特性设定初值器:Designated initializer


- (instancetype)initWithCardCount:(NSUInteger)count usingDeck:(Deck *)deck
{
    self = 平方的 init
    
    if (自负) {
        
        for (int) i = 0; i < count; i++) {
            
            Card *card = [deck drawRandomCard];
            
            if (card) {
               
                [ addObject:card];
                
            }else{
                
                self = nil;
                break;
            }
        }
    }
    return self;
}

有些时分,在建议化类时,我们的必要靶子来禁猎地其中的一部分唱片。,这必要设计。使具有特性设定初值器,由于原始设定初值方式-(instancetype)init方式无法容许建议靶子禁猎地非零唱片(在设定初值继)。,根本唱片类型属性=0;靶子属性= nIL。

在本使具有特性遗传密码中,模子的号码是经过号码前进的。count一堆明信片deck我有本人的阻止。

举个

    Copyright © 2016-2017888真人注册 - 888真人赌博 - 888真人娱乐城 版权所有
  • 豫ICP备11033564号-3