close
對於你的問題,大概整理一下,如有問題再反應吧
問題整理:
1.有三顆燈 A B C
2.用亂數產生3個不重複數字(1 2 3),順序由亂數決定,這3個數字分別對應到 A B C 那三顆燈
3.按下鍵盤 1 ~ 3 其中一個數字鍵,數字對應到的燈會亮
依照題目先在面板上放3個LED元件,另外放1個顯示按下哪個數字鍵的元件
程式用Flat Sequence Structure元件拆成兩段:
前段是亂數產生3個不重複數字
這部分原本在很多數字中要產生3個不重複數字時很簡單,但數字只剩3個時就變的很麻煩,照正常的做法可能會算很久
簡單點的方法是做一個包含數字(1 2 3)順序的1D陣列,再由亂數去隨機排列數字,但因為只有3個數字,A對應到2的機率比其他兩個數字大太多
所以我用的是以Case Structure(條件選擇)元件做出數字組合的分配表,再由亂數選擇其中一組輸出,用意就是儘量避免同一燈號一直對應到同一數字
後段是偵測鍵盤動作,這裡一定要用Event Structure(事件觸發)元件來做,把元件設定為Key Down事件,在Char那一項輸出的是電腦鍵盤的'鍵盤代碼'
鍵盤代碼可在網路上找到
鍵盤數字1的代碼是49
鍵盤數字2的代碼是50
鍵盤數字3的代碼是51
鍵盤代碼用Case Structure(條件選擇)元件來分組還原成數字,另外Case Structure元件要另外做出一個輸出為0的Default頁,避免按到其他按鍵時燈號會亮
因為程式有用到事件觸發控制,所以程式迴圈也必需用事件觸發來停止
完成的程式
文章標籤
全站熱搜
留言列表