今天我們進(jìn)入“布爾邏輯”歌劇世界的后8關(guān)。
這次的攻略大約1200字瘸味,閱讀時(shí)間大約10分鐘切端。
我們可以簡要回顧一下關(guān)于邏輯的基礎(chǔ)知識(shí)。
基礎(chǔ)知識(shí)
布爾邏輯里有三個(gè)邏輯符號(hào):或寂祥,且荐虐,非。如果有A,B兩個(gè)判斷結(jié)果丸凭,A,B是yes或no福扬。
如果“A或B”是yes腕铸,那么A,B當(dāng)中至少有一個(gè)是yes铛碑;
如果“A且B”是yes狠裹,那么A,B都是yes汽烦;
如果“非A”是yes涛菠,那么A是no。
下面進(jìn)入闖關(guān)游戲吧撇吞。
第128關(guān)
在這一關(guān)里俗冻,我們要使用and這個(gè)邏輯指令,來判斷兩個(gè)或者多個(gè)條件是否同時(shí)滿足梢夯。
比如言疗,上圖中的老虎和熊同時(shí)睡覺的時(shí)候,我們的猴子和山羊才能動(dòng)起來颂砸。
我們來看看已給出的代碼:
在第2噪奄,6行里,我們需要加入until ... wait ... 的代碼人乓,在代碼里需要用到and來判斷老虎和熊是否同時(shí)睡覺去了勤篮。
修改后的代碼如下:
點(diǎn)擊運(yùn)行看效果!
第129關(guān)
在這一關(guān)里色罚,我們可以用or這個(gè)邏輯指令碰缔,判斷老虎要么睡覺,要么玩耍去了戳护。只要老虎不在虎視眈眈地把關(guān)金抡,猴子就可以趁機(jī)去吃香蕉。
比如在上圖中腌且,老虎旁邊有一個(gè)小球梗肝,那么老虎就多了一個(gè)分心的可能,要么睡覺铺董,要么玩球巫击。
不管如何,這時(shí)候小猴子都可以去吃香蕉精续。
代碼如下:
顯然坝锰,我們需要加入讓小猴子去吃香蕉的代碼。如下:
點(diǎn)擊運(yùn)行看效果重付!
第130關(guān)
這一關(guān)和上一關(guān)一樣顷级。
看右側(cè)的代碼區(qū)域,如下:
我們不需要第4-7行的代碼确垫,可以改為如下的代碼:
點(diǎn)擊運(yùn)行看效果弓颈!
第131關(guān)
這一關(guān)和前兩關(guān)的區(qū)別是拣凹,這一關(guān)多了一只熊。
我們一定要明確and和or的含義:
當(dāng)老虎和熊同時(shí)分心的時(shí)候恨豁,小猴子才能去吃香蕉,這里需要用到and爬迟;
當(dāng)老虎(熊)睡覺或者玩球的會(huì)后橘蜜,小猴子都可以去吃香蕉,這里需要用到or付呕。
看右側(cè)的代碼區(qū)域计福,如下:
我們需要在第6行加入第1,2行的代碼,代碼如下:
點(diǎn)擊運(yùn)行看效果徽职!
第132關(guān)
這一關(guān)和前幾關(guān)的區(qū)別在于象颖,我們需要讓山羊去吃香蕉(而小猴子只能在旁邊看著)。
已給出的代碼如下:
第2行的代碼是錯(cuò)誤的姆钉,需要考慮熊是否睡覺或者玩球的判斷語句说订,如下:
點(diǎn)擊運(yùn)行看效果!
第133關(guān)
這一關(guān)是融合了前4關(guān)的情況潮瓶,對(duì)于多個(gè)香蕉陶冷,可以采用for循環(huán)的方式,這在“for”循環(huán)王國里已經(jīng)介紹過了毯辅。
已給出的代碼如下:
在第2行埂伦,我們需要加入兩行代碼,在老虎睡覺或者玩球之前思恐,小山羊和小猴子都需要等待沾谜。
代碼如下:
點(diǎn)擊運(yùn)行看效果!
第134關(guān)
這一關(guān)也是一樣胀莹,小猴子需要區(qū)吃兩個(gè)香蕉基跑,在吃每一個(gè)香蕉之前,小猴子都需要等待熊去睡覺了或者去玩球了嗜逻。
右側(cè)給出的代碼如下涩僻,注意代碼循環(huán)的對(duì)象是熊,而不是香蕉:
我們需要在第2行里栈顷,加入熊b是否睡覺或者玩耍的代碼:
點(diǎn)擊運(yùn)行看效果逆日!
第135關(guān)
這一關(guān)里,我們需要讓小猴子和小山羊都分別吃到兩個(gè)香蕉萄凤。而在他們吃香蕉前室抽,需要在自己和香蕉之間的老虎在睡覺或者玩耍。
右側(cè)給出的代碼如下:
我們可以把等待老虎的過程寫成一個(gè)函數(shù)靡努,waitFor坪圾。
這樣晓折,我們就很方便地重復(fù)使用waitFor函數(shù)來讓猴子,山羊等待某一只老虎睡覺或者玩耍了兽泄。
修改后的代碼如下漓概,注意我們還對(duì)猴子和山羊進(jìn)行了循環(huán)處理,用變量stepper來代替monkey或goat中的某一個(gè)病梢。
點(diǎn)擊運(yùn)行看效果胃珍!
到目前為止,“邏輯”歌劇這16關(guān)都已經(jīng)被我們攻破了蜓陌。
下期預(yù)告
下一次教程觅彰,我們會(huì)一起來闖過“不是”這一組關(guān)卡,其實(shí)也是邏輯指令中的“非”钮热。