最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS實(shí)現(xiàn)拼圖小游戲

 更新時(shí)間:2022年03月24日 10:57:30   作者:疾風(fēng)哥哥  
這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)拼圖小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了iOS實(shí)現(xiàn)拼圖小游戲的具體代碼,供大家參考,具體內(nèi)容如下

首先找到這8張圖片,還需要一張空白的圖片,自己隨便剪一張吧。

定義三個(gè)屬性:button可變數(shù)組,圖片可變數(shù)組,正確順序的圖片數(shù)組。

@property(retain, nonatomic)NSMutableArray *buttonArray;
@property(retain, nonatomic)NSMutableArray *a;
@property(retain, nonatomic)NSArray ? ? ? ?*aa;

鋪好拼圖界面

//圖片數(shù)組a,用來儲存每個(gè)圖片名稱,并且用于后來的打亂
self.a = [NSMutableArray arrayWithObjects:@"1.jpg",@"2.jpg",@"3.jpg",@"4.jpg",@"5.jpg",@"6.jpg",@"7.jpg",@"8.jpg",@"9.jpg", nil];
//備份一個(gè)正確順序的圖片數(shù)組,用于判斷游戲是否過關(guān)
self.aa = [NSArray arrayWithArray:self.a];
//重新開始按鈕
UIButton *star = [[UIButton alloc] initWithFrame:CGRectMake(120, 400, 100, 40)];
[star setTitle:@"重新開始" forState:UIControlStateNormal];
[star setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
star.layer.cornerRadius = 6.6f;
star.layer.backgroundColor = [[UIColor colorWithRed:0.922 green:0.925 blue:0.929 alpha:1]CGColor];
//添加點(diǎn)擊事件
[star addTarget:self action:@selector(kaishi) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:star];
[star release];

//鋪出9個(gè)button
? ? self.buttonArray = [NSMutableArray array];
? ? NSInteger count = 0;
? ? NSInteger wight = 351 / 3;
? ? NSInteger higth = 351 / 3;
? ? for (int i = 0; i < 3; i++) {
? ? ? ? for (int j = 0; j < 3; j++) {
? ? ? ? ? ? UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(j * (wight+2) + 10, i * (higth + 2) + 20, wight, higth)];
? ? ? ? ? ? button.backgroundColor = [UIColor blackColor];
? ? ? ? ? ? //給每個(gè)button上圖片
? ? ? ? ? ? [button setImage:[UIImage imageNamed:self.a[count]] forState:UIControlStateNormal];
? ? ? ? ? ? [self.view addSubview:button];
? ? ? ? ? ? //給每個(gè)button添加點(diǎn)擊事件
? ? ? ? ? ? [button addTarget:self action:@selector(change:) forControlEvents:UIControlEventTouchUpInside];
? ? ? ? ? ? //把button放入數(shù)組
? ? ? ? ? ? [self.buttonArray addObject:button];
? ? ? ? ? ? button.tag = count;
? ? ? ? ? ? [button release];
? ? ? ? ? ? count++;
? ? ? ? }
}

實(shí)現(xiàn)button的點(diǎn)擊事件

- (void)change:(UIButton *)sender{
? ? NSInteger flag = 0;
? ? int p = 0;
? ? //“9.jpg”是空白的那個(gè),打亂后,得在圖片數(shù)組里找到所在下標(biāo),用flag存在來
? ? for (NSInteger i = 0; i < 9; i++) {
? ? ? ? if ([self.a[i] isEqualToString:@"9.jpg"]) {
? ? ? ? ? ? flag = i;
? ? ? ? }
? ? }

? ? //如果所點(diǎn)擊的button的上下左右其中有一個(gè)是空白圖片的話,就跟空白圖片交換在圖片數(shù)組的位置
? ? if (sender.tag - flag == 3 || sender.tag - flag == -3 || sender.tag - flag == 1 || sender.tag - flag == -1) {
? ? ? ? [self.a exchangeObjectAtIndex:flag withObjectAtIndex:sender.tag];
? ? }
? ? //重新給每個(gè)button上圖片
? ? for (int i = 0; i < 9; i++) {
? ? ? ? [self.buttonArray[i] setImage:[UIImage imageNamed:self.a[i]] forState:UIControlStateNormal];
? ? }

? ? //判斷是否拼圖成功,每對應(yīng)了一張圖片p就加一,如果p最后等于9說明游戲通關(guān)
? ? for (int i = 0; i < 9 ; i++) {
? ? ? ? if ([self.a[i] isEqualToString:self.aa[i]]) {
? ? ? ? ? ? p++;
? ? ? ? }else{
? ? ? ? ? ? break;
? ? ? ? }
? ? }
? ? if (p == 9) {
? ? ? ? NSLog(@"%d",p);
? ? ? ? UIAlertView *a = [[UIAlertView alloc] initWithTitle:@"恭喜!" message:@"已通關(guān)" delegate:self cancelButtonTitle:@"確定" otherButtonTitles:nil];
? ? ? ? [a show];
? ? ? ? [a release];
? ? }
}

打亂所有圖片

- (void)kaishi{
//產(chǎn)生0到8兩個(gè)隨機(jī)數(shù),通過下標(biāo)交換圖片數(shù)組中的兩張圖片
? ? for (int i = 0; i < 10; i++) {
? ? ? ? [self.a exchangeObjectAtIndex:(arc4random() % 9)
? ? ? ? ? ? ? ? ? ? withObjectAtIndex:(arc4random() % 9)];
? ? }
? ? //給每個(gè)button上圖片
? ? for (int i = 0; i < 9; i++) {
? ? ? ? [self.buttonArray[i] setImage:[UIImage imageNamed:self.a[i]] forState:UIControlStateNormal];
? ? }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • IOS中的七種手勢小結(jié)

    IOS中的七種手勢小結(jié)

    本文給大家總結(jié)了ios中的七種手勢,手勢在開發(fā)在開發(fā)中經(jīng)常會用到,今天小編通過本文給大家詳細(xì)介紹下,需要的朋友參考下
    2016-11-11
  • iOS中WKWebView白屏問題的分析與解決

    iOS中WKWebView白屏問題的分析與解決

    最近在工作中遇到了WKWebView白屏的問題,所以這篇文章主要給大家介紹了關(guān)于iOS中WKWebView白屏問題的分析與解決方法,文中通過示例代碼介紹的非常詳細(xì),對同樣遇到這個(gè)問題的朋友具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • iOS實(shí)用教程之Https雙向認(rèn)證詳解

    iOS實(shí)用教程之Https雙向認(rèn)證詳解

    這篇文章主要給大家介紹了關(guān)于iOS中Https雙向認(rèn)證的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • iOS中關(guān)于Cookie驗(yàn)證登錄狀態(tài)

    iOS中關(guān)于Cookie驗(yàn)證登錄狀態(tài)

    這篇文章主要介紹了iOS中關(guān)于Cookie驗(yàn)證登錄狀態(tài)的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • ios開發(fā)Flutter構(gòu)建todo?list應(yīng)用

    ios開發(fā)Flutter構(gòu)建todo?list應(yīng)用

    這篇文章主要為大家介紹了ios開發(fā)Flutter構(gòu)建todo?list應(yīng)用實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • IOS打開系統(tǒng)相機(jī)的閃光燈

    IOS打開系統(tǒng)相機(jī)的閃光燈

    今天給大家分享一下如何調(diào)用iphone的拍照功能和打開閃光燈,有些代碼我也不太理解,很多是在網(wǎng)上借鑒其他人的。
    2015-05-05
  • 詳解iOS獲取通訊錄的4種方式

    詳解iOS獲取通訊錄的4種方式

    這篇文章主要為大家詳細(xì)介紹了iOS獲取通訊錄的4種方式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • iOS開發(fā)刪除storyboard步驟詳解

    iOS開發(fā)刪除storyboard步驟詳解

    這篇文章主要為大家介紹了iOS系列學(xué)習(xí)之刪除storyboard步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 解決iOS UITextField 編輯時(shí)文本偏移問題

    解決iOS UITextField 編輯時(shí)文本偏移問題

    這篇文章主要介紹了解決iOS UITextField 編輯時(shí)文本偏移問題,需要的朋友可以參考下
    2017-05-05
  • iOS仿抖音視頻加載動畫效果的實(shí)現(xiàn)方法

    iOS仿抖音視頻加載動畫效果的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于iOS視頻加載動畫效果的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11

最新評論

镇坪县| 仁寿县| 翼城县| 东宁县| 卢龙县| 江西省| 汉源县| 武城县| 元江| 神农架林区| 栾城县| 黎川县| 错那县| 礼泉县| 东海县| 广昌县| 乐陵市| 浙江省| 慈溪市| 辉南县| 常山县| 丰城市| 常宁市| 洛南县| 平阴县| 五峰| 南投县| 张掖市| 尚义县| 河北省| 平度市| 岳池县| 阿鲁科尔沁旗| 兴宁市| 和顺县| 峨边| 简阳市| 皮山县| 曲周县| 通州区| 犍为县|