- Objective-C和Sprite Kit游戲開發(fā)從入門到精通
- 曹化宇
- 607字
- 2021-01-07 18:57:41
3.3 選擇語句
在游戲中,對(duì)于基本的方向控制,一般需要處理四個(gè)方向的操作,在類似這種情況下,即一個(gè)條件、多種可能時(shí),可以使用switch語句結(jié)構(gòu),其應(yīng)用格式如下。
switch(<表達(dá)式>) { case <值1>: { <語句塊1> }break; case <值2>: { <語句塊2> }break; case <值n>: { <語句塊n> }break; default: { <語句塊n+1> }break; }
在switch語句結(jié)構(gòu)中,我們可以看到,只有一個(gè)確定執(zhí)行條件的<表達(dá)式>,而每一個(gè)case語句對(duì)應(yīng)一個(gè)<表達(dá)式>的值。在這里,應(yīng)注意每一個(gè)case所對(duì)應(yīng)的語句塊結(jié)束時(shí),都應(yīng)該有一個(gè)break語句,其原因是,case語句具有向下貫穿的特性,如果沒有break語句中斷當(dāng)前case語句塊,則會(huì)一直向下執(zhí)行,直到遇到中斷語句(如break、return等語句)或者是switch語句結(jié)構(gòu)全部執(zhí)行完成。
此外,每個(gè)case語句或default語句后的代碼也可以不使用花括號(hào),這主要取決于編程習(xí)慣,而break語句也可以放在每個(gè)case后{}的內(nèi)部或在}后面,這也只是一個(gè)編程習(xí)慣問題。
下面的代碼,我們就來模擬駕駛指令。
typedef enum EDirection { Unknow, Up, Right, Down, Left } Direction; // Direction d = Up; // switch (d) { case Up: NSLog(@"前進(jìn)"); break; case Right: NSLog(@"右轉(zhuǎn)"); break; case Down: NSLog(@"倒車"); break; case Left: NSLog(@"左轉(zhuǎn)"); break; default: NSLog(@"停止"); break; }
我們首先定義了一個(gè)方向枚舉類型,然后通過switch語句結(jié)構(gòu)判斷操作方向,分別顯示操作指令。大家可以修改變量d的值,并觀察代碼執(zhí)行的結(jié)果。
下面的代碼繼續(xù)演示一個(gè)日期相關(guān)的處理,我們利用case的貫穿特性來返回某年某月中的天數(shù)。
int year = 2006; int month = 2; int days = 0; switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; case 4: case 6: case 9: case 11: days = 30; break; case 2: days = ((year%100! =0 && year%4==0) || year%400==0) ? 29 : 28; break; default: days = 0; break; } NSLog(@"%i年%i月有%i天", year, month, days);
請(qǐng)注意,在switch語句結(jié)構(gòu)中總是使用default語句塊,可以保證<表達(dá)式>的結(jié)果在任何數(shù)據(jù)時(shí)都會(huì)有相應(yīng)的處理。
- InDesign CS6中文版基礎(chǔ)與實(shí)例教程
- 新手易學(xué):電腦辦公
- Excel的一千零一夜(一)
- Excel 2013應(yīng)用技巧實(shí)例大全
- Access 2010數(shù)據(jù)庫實(shí)用教程
- Word/Excel/PPT 2016商務(wù)辦公從新手到高手
- Excel 2010基礎(chǔ)入門與辦公應(yīng)用
- Flash CS6核心應(yīng)用案例教程(全彩慕課版)
- Office 2021辦公應(yīng)用實(shí)戰(zhàn)從入門到精通
- Office2010從入門到精通(視頻講解+圖解+技巧)
- Office辦公軟件案例教程(第4版)
- Java語言程序設(shè)計(jì)教程
- iLike蘋果Office 2011 for Mac辦公應(yīng)用
- 教師必須知道的80個(gè)Excel函數(shù)
- 實(shí)訓(xùn)教程:常用工具軟件