基於80x86彙編實現的吃豆人小遊戲

2021-09-27 11:09:54 字數 1133 閱讀 5431

1 功能分析

該程式是乙個吃豆子的小遊戲。

題目的要求是:在螢幕上顯示多行「豆子」(用「.」表示),用乙個「嘴巴」(用字元「c」表示),程式執行時,單擊空格,「嘴巴」開始從左到右逐行「吃豆子」,一直到「豆子」被吃完停止或者單擊空格重新開始;

這個程式是在windows10的平台上的masm整合開發環境2015進行編譯的。此程式提供乙個視覺化遊戲介面,通過鍵盤輸入相應的操作後,便可以執行整個遊戲程式。當再次空格或整局遊戲完成後重新開始整個遊戲,也可以通過鍵盤輸入定義的字元後,退出程式。

1.1 主要功能分析

程式主要實現的功能是在螢幕上顯示多行「豆子」(用「.」表示),用乙個「嘴巴」(用字元「c」表示),程式執行時,單擊空格,「嘴巴」開始從左到右逐行「吃豆子」,一直到「豆子」被吃完停止或者單擊空格。

1.2 歡迎介面功能

該程式開始時,模仿打字的效果,乙個乙個字母浮現歡迎語句。直到歡迎語句輸出完畢,跳轉到選擇介面。

1.3 選擇介面功能

進入選擇介面,使用者可以通過鍵盤上的箭頭來選擇接下來要進行的步驟,是開始遊戲或者退出。選擇到的功能高亮顯示並閃爍,使得使用者對於接下來要執行的功能有明確的認識。

1.4 顯示提示字串功能

在遊戲開始前,在程式的資料段宣告乙個字串,然後在程式的**段輸出這段字串。這段字串起到提示使用者輸入字元的功能,並且能讓使用者提前了解輸入字元後相應的結果,是開始遊戲、重新開始遊戲或者返回選擇介面。提高程式的人機互動性,使得介面對使用者更加友好。

1.5 吃豆子功能

首先定義乙個字串,內容為字元「c」的ascⅱ值還有其他的一些相關資訊,然後把螢幕設定多行豆子,或者布滿豆子,把「c」每往前走一格就把該位子上的豆子變為空格鍵,即「c」遇到非空格就跳轉到下一步;這樣一顆豆子就吃掉了,只要依次迴圈下去,就可以把豆子全部吃掉,或者中間按空格,重新開始遊戲。

1.6 中斷吃豆子功能

程式在進行吃豆子功能時能夠接收輸入的字元,可以判斷輸入的是否是空格,如果不是空格,則不做響應;如果是空格,則中斷吃豆子,則重新開始遊戲,返回遊戲一開始時的狀態,讓使用者重新選擇,如果輸入空格則繼續開始遊戲,否則返回到選擇介面。

1.7 退出程式功能

當使用者選擇退出程式時,模仿打字效果,顯示再見語句,直到再見語句顯示完畢,跳轉到另一頁面顯示作者及相關資訊,最後通過呼叫系統中斷程式來實現退出程式的功能。

80x86彙編常用指令

一 資料傳輸指令 它們在存貯器和暫存器 暫存器和輸入輸出埠之間傳送資料.1.通用資料傳送指令.mov 傳送字或位元組.movsx 先符號擴充套件,再傳送.movzx 先零擴充套件,再傳送.push 把字壓入堆疊.pop 把字彈出堆疊.pusha 把ax,cx,dx,bx,sp,bp,si,di依次壓...

80X86彙編 mul 乘法指令

使用 mul 做乘法的時候,注意以下兩點 格式如下 mul reg mul 記憶體單元記憶體單元可以用不同的定址方式給出,比如 mul byte ptr ds 0 含義 ax al ds 16 0 mul word ptr bx si 8 含義 ax ax ds 16 bx si 8 的結果的低 1...

基於80x86彙編的英文填字遊戲程式

一 遊戲背景介紹 英文作為全世界通用語言,也是當今世界上應用最廣泛的語言,世界上以英語為母語的人近4億,並且已經有約20個國家把英語作為官方語言或者第二語言使用,在國際政治 經濟 軍事 科技 文化 等眾多領域,都使用的英語進行交流。隨著我國對外開放的不斷擴大化,科學技術的不斷進步,國際地位的不斷提高...