1.為了節約演演算法資源消耗,玩家發射的泡泡數量有限,統一為20個炮彈。
2.為了體現不同速度下的難度,弱化滑鼠的作用,傳送泡泡會左右快速或者慢速移動,然後瞄準後,使用者發射泡泡。
3.為了將程式量控制在1萬行以內,做如下的簡化:如果傳送的泡泡和上方的泡泡,2個泡泡顏色相同,那麼自動消除這2個泡泡,但是不考慮連鎖的反應(即橫向,斜向,多個的情況,這個涉及到複雜的搜尋機制,本課題只考慮發射的泡泡和上方的泡泡相同的時候才消泡泡),因為這個部分非常複雜。注意,必須是發射的和原來有的泡泡顏色相同才消除,兩個發射的或者兩個本來就有的放在一起的,不消除。
4.如果20個泡泡發射完成,如果使用者消除的泡泡次數小於5,那麼會提示遊戲失敗。此時安健下去重新開始遊戲。如果使用者消除的泡泡次數大於15,那麼提示遊戲勝利,安健按下去,則重新開始遊戲。
----------------------------------------------------------------------------------------------------------
5.開發板上的PS/2介面接滑鼠,USB介面接鍵盤
6.按下開發板最左邊的按鍵,系統復位,復位後,遊戲重新開始,且泡泡顏色排列會新的隨機產生;
7.8個數目管的功能:
右邊連續四個,為使用者遊戲積分,中間2個數碼管,表示遊戲一局已經傳送的泡泡數量,0~20顯示
然後最左邊的2個數碼管,第一個,0位慢速模式,1表示快速模式,第二個數碼管不使用,沒具體功能。
------------------------------------------------------------------------------------------------------------------
8.遊戲中,滑鼠右擊S,表示SLOW,慢速模式,滑鼠右擊F,表示FAST,快速模式。
------------------------------------------------------------------------------------------------------------------
9.如果泡泡超出遊戲介面的紅色虛線,那麼會失敗,螢幕會彈出悲傷的表情
10.每次消除一個泡泡,會有100分得分,如果中得分大於1500分,那麼會勝利,螢幕會彈出高興的表情
11.每次消除一個泡泡,會有100分得分,如果中得分小於500分,那麼會失敗,螢幕會彈出悲傷的表情
------------------------------------------------------------------------------------------------------------------
12.鍵盤控制,USB介面,輸入鍵盤。
A,相當於reset功能,遊戲重新開始
D,相當於滑鼠左鍵,發射泡泡功能。
------------------------------------------------------------------------------------------------------------------
系統結構如下所示:
其整體RTL結構如下:
硬體測試結果如下: