AI2 07-04 Procedure自訂函式範例-猜幾A幾B

設計一個「猜數字」遊戲,並提示:

 

A「幾個數字是對的,且位置也是對的」;

 

B「幾個數字是對的,但位置不對」。一直到猜中為止。

 

1、先建立程式介面:

  1060517GuessAB000

 

 

2、程式執行畫面:

輸入4位數字後,會跳出「對話框」顯示提示,告知幾A幾B!猜對後,出現「你猜對了」訊息。

(因為一直猜不中,所以底下沒有猜中畫面><||b)

1060517GuessAB00

 

3、建立程式拼塊:

 宣告變數

 

主程式置於「確定輸入」按鈕事件 :

 第1個函式(程序),將猜測值拆成4個獨立的數字,並放置於清單中,以利比對每1個數字。

 

第2個函式(程序),比對位置正確且數字正確的數字,利用For迴圈將「答案target」及「猜測值guess」2個清單中,每一個相同位置的數字做比對,當相等時,則將變數「數字對_位置對_A」累加 1 。即可得到A的個數。

 

 

 

第3個函式(程序),比對數字正確,但位置不一定正確的數字,利用For迴圈將每1個「答案target」清單中的數字,於「猜測值guess」清單中,進行逐一比對。當相等時,則將變數「數字對_位置錯_B」累加 1 。

即可知道,「答案target」清單中的每個數字,有沒有存在於「猜測值guess」清單中,但其中會包含位置也正確的數字。

所以,最後需要將變數「數字對_位置錯_B」減去前面比對所得的「數字對_位置對_A」,

才是真正的數字對_位置錯_B」的值。

 

第4個函式(程序),輸出提示結果,並重新猜測數字。如果「數字對_位置對_A」等於4則全部猜對。

否則,跳出文字輸入對話框,並同時給予幾A幾B的提示,讓使用者繼續輸入「猜測數字」。

 

 

「對話框」輸入完成事件,玩家再次輸入數字時,因原「答案target」未改變,

所以,再次呼叫前面4個函式(函式)進行答案比對

 

誰在線上

目前有 72 訪客 以及 沒有會員 在線上

-

© 2017 iuiii.net . All Rights Reserved.