遊戲規則說明如下,程式碼請由此頁下載:http://www.appinvent..tw/1a2b_game
答案為不重複的四位數,猜四個數字,A前面的數字為位置與數字正確的個數,B前面的數字為數字正確但位置不正確的個數。
畫面製作說明
Label(標籤)、HorizontalArrangement(水平排列)、TextBox(文字輸入塊)、Button(按鈕)
元件類別 | 父類別 | 名稱 | 該元件用途 |
Label | User Interface | Label1 | input |
TextBox | User Interface | Guess | 輸入框 |
Button | User Interface | Button_submit | 開始遊戲 |
Label | User Interface | Label2 | answer |
Label | User Interface | Answer | 顯示答案 |
Label | User Interface | Show | 顯示結果 |
HorizontalArrangement | Layout | HorizontalArrangement1 | 提供同一列可放兩個元件 |
HorizontalArrangement | Layout | HorizontalArrangement2 | 提供同一列可放兩個元件 |
程式說明
Step1 宣告變數
num1、num2、num3、num4為四個0~9的隨機亂數
A為計算數字與位置正確的個數
B為計算數字正確但位置不正確的個數
answer為答案
guess_num為輸入的數字
show為顯示猜的數字與A、B的個數
count為計算個數
m、n為計算後的答案
Step2 程式初始化時,亂數產生四個不重複的數字,為了避免答案為空字串而使用了while迴圈來做判斷,並顯示於answer標籤。
Step3 當按下OK按鈕時,先判斷輸入的數字與答案是否相同,若相同就顯示”恭喜答對了!”,若不相同則先計算A的個數,也就是數字與位置都答對的個數,透過數學平方的方式,得到個位數字、十位數字、百位數字、千位數字的方法做比較,m為取得所猜的數字,n為取得答案的數字,若m等於n則A個數加1。
Step4 計算B的個數,就是數字答對的個數,用巢狀迴圈的方式檢測答案數字與猜的數字是否相同,因為不需要判斷位置是否正確,所以只判斷不同位置上的數字。
手機畫面