freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

匯編貪吃蛇課程設(shè)計附源碼-展示頁

2025-06-17 03:18本頁面
  

【正文】 ax , [bx] mov cx,0 mov [bx],cx 8 mov dx,0 mov dl , ah mov si , dx mov dl , al mov di , dx sub Len,1 call clearcut mov bx , offset Body mov ax, [bx] mov dx,0 mov dl , ah mov si , dx mov dl , al mov di , dx call cutsnake jmp A3 A2: add Len,1 mov bx , offset Body mov ax, [bx] mov dx,0 mov dl , ah mov si , dx mov dl , al mov di , dx call cutsnake 。檢查死亡 mov al,1 cmp al,gameover jz stop call check_eat 。存入頭部 mov dx,0 。坐標(biāo)加方向 add al , dl 。 run_snake proc push ax push bx push cx push dx push si push di mov dx, 0005h call SetGb mov bl,white lea bp,msg6 mov cx,30 call Msg loop1: 7 call Delay mov al,1 cmp al,gameover jz stop mov bx , offset Body mov cx,0 mov cl,Len add bx,cx add bx,cx sub bx,2 A1: mov ax,[bx] mov [bx+2],ax sub bx,2 loop A1 addhead: mov bx , offset Body 。在蛇運動過程中,不斷檢查是否撞墻或蛇頭觸碰到蛇身,如果是,跳轉(zhuǎn)到 stop,提示重新或退出。退出到 DOS main endp Run_snake 函數(shù) 蛇一開始默認向右運動,當(dāng)按下空格鍵時游戲暫停,再按空格鍵游戲開始。返回開始 dos: mov ah , 00 mov al , 03 int 10h 。顯示提示信息 lea bp , msg5 mov cx , 29 call Msg exit_loop: mov ah , 00h int 16h 。顯示死亡信息 lea bp , msg3 mov cx , 13 6 call Msg 。設(shè)置光標(biāo) call SetGb 。得到第一個食物 call run_snake 。邊框顏色 mov si , 59 mov bx , 19 Init_snake 。ESC 則退出,否則進入游戲 game_start: mov ah , 00 。顯示開始提示信息 call show_title mov ah , 00h int 16h 。 main proc far mov ax , data mov ds , ax start: mov ah , 00 mov al , 12h int 10h 。進入游戲,重新設(shè)置圖形模式,調(diào)用 rec, clear_area,getfood,run_sanke 函數(shù)分別打印邊框,初始化蛇,隨機食物,開始運動蛇。食物坐標(biāo) foodY dw ? seed dw 2 。游戲結(jié)束標(biāo)記 Point db 0 。食物色 speed db 0 。得分 snake_color db 0ah 。Score0000039。蛇的長度 Body dw 200 dup(0) 。 判斷游戲結(jié)束的條件: 當(dāng)蛇的頭部位置坐標(biāo)與邊界坐標(biāo)重合或者蛇頭的位置與自身相重合,游戲結(jié)束 暫停: 游戲過程中,按空格鍵可以使游戲暫停,在按空格鍵進入被暫停的游戲 游戲流程 由程序分析知,該游戲是用方向鍵實現(xiàn)貪吃蛇的移動,游戲大概流程分為:游戲初始化(描繪圍墻、蛇體、食物等及其顏色),游戲過程(通過四個方向鍵控制蛇頭帶動身體移動),游戲結(jié)束(顯示總分并判斷是否重新游戲)。 食物的產(chǎn)生: 通過一系列運算產(chǎn)生在要求范圍內(nèi)的的隨機數(shù),此時的隨機數(shù)便是隨即點,可以通過產(chǎn)生的隨即點的坐標(biāo)畫出隨即點,也就是食物了。 2 設(shè)置一個等待時間,如果不按任何按鍵,蛇在當(dāng)前方向上前進。 2 程序設(shè)計 程序分析 程序初始化: 加載在數(shù)據(jù)段定義好相關(guān)的提示信息以及儲存蛇身的數(shù)組,主要是如何開始游戲的提示信息 蛇的移動: 程序的關(guān)鍵是表示蛇的圖形以及蛇的移動。 1 目錄 1程序簡介 ....................................................................................................................... 1 2程序設(shè)計 ....................................................................................................................... 1 程序初始化: ....................................................................................... 1 ............................................................................................................ 2 ......................................................................................................... 3 ........................................................................................... 4 3系統(tǒng)測試及改進 .......................................................................................................... 12 .......................................................................................................... 12 .......................................................................................................... 14 4源碼 ............................................................................................................................ 15 1 程序簡介 貪吃蛇游戲是一個經(jīng)典小游戲,在封閉的圍墻里面,通過鍵盤的上下左右控制蛇的方向,尋找隨機出現(xiàn)的食物。蛇頭撞到食物,則食物被吃掉,蛇身體長度 +1,同時記 100 分,蛇的身子越吃越長,身子越長玩的難度就越大,如果蛇在移動中撞到墻或身體交叉蛇頭撞倒自己身體游戲結(jié)束。一開始用 4 個小矩形表示蛇的身體,每吃一個食物,身體增加一個矩形,移動時必須從 蛇頭開始,所以蛇不能向相反方向移動,蛇頭的前進方向也就是蛇的方向,蛇尾不能改作蛇頭。按了有效的方向鍵后,先確定蛇頭的位置然后蛇身體隨著蛇頭移動,圖形的實現(xiàn)是從蛇頭的新位置開始畫出蛇,這時由于沒有清屏的原因,原來蛇的位置和新蛇的位置相差一個單位,所以看起來蛇會多一節(jié)身體。 蛇吃食物: 蛇頭的位置可以與隨即點的位置 坐標(biāo)判斷,如果此時兩點的坐標(biāo)是相同的,那么該食物被蛇吃掉,蛇的長度 +1。 3 程序流程圖 4 數(shù)據(jù)定義及重要函數(shù) 數(shù)據(jù)定義及鍵盤掃描碼 數(shù)據(jù)定義: Len db ? 。蛇的身體位置 Direction dw 256 Score db 39。 。蛇顏色 food_color db 0ch 。速度 gameover db 0 。得分數(shù) foodX dw ? 。隨即數(shù)種子 5 鍵盤掃描碼: LEFT EQU 4Bh RIGHT EQU 4Dh UP EQU 48h DOWN EQU 50h QUIT EQU 01h SPACE EQU 39h main 函數(shù) 主函數(shù)首先加載定義好的數(shù)據(jù),設(shè)置圖形模式大小,調(diào)用顯示開始提示信息的函數(shù),中斷等待用戶按鍵輸入,判斷退出或開始游戲。當(dāng)蛇死亡時,中斷,等待用戶輸入,根據(jù)用戶的輸入繼續(xù)游戲或退出程序。設(shè)置圖形模式 640*480 call show_start_msg 。等待按鍵 cmp ah , QUIT jz dos 。設(shè)置圖形模式 320*200,游戲在此模式下運行 mov al , 13h int 10h mov cl , 7 。初始化蛇 call getfood 。開始運動蛇 mov dx , 1010h 。設(shè)置光標(biāo)位置 mov bl , white 。顯示字符串 mov dx , 1605h mov bl , white 。等待按鍵 cmp ah , QUIT jz start cmp ah , SPACE jz game_start jmp exit_loop 。設(shè)置文本模式 mov ah , 4ch int 21h 。用 INT 10H 的 1 號功能檢測是否有按鍵輸入,改變蛇頭前進的方向,沒有保持當(dāng)前的前進方向。當(dāng)檢查到食物坐標(biāo)和蛇頭坐標(biāo)一致時,食物被吃,蛇身長度 +1, 保存當(dāng)前前進方向。增加新頭部并改寫數(shù)據(jù) mov ax , [bx] mov dx , Direction add ah , dh 。坐標(biāo)加方向 mov [bx] , ax 。為 check_die 準(zhǔn)備參數(shù) si,di mov dl , ah mov si , dx mov dl , al mov di , dx call check_die 。檢查吃 cmp cx,1 jz A2 mov bx , offset Body mov ax,0 add Len,1 mov al , Len add bx , ax 。畫新頭部 call getfood A3: call show_point call check_key 。蛇運動循環(huán) DATAS SEGMENT stop: pop di pop si pop dx pop cx pop bx pop ax ret run_snake endp getf
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1