基于FPGA的M2M異構(gòu)虛擬化系統(tǒng)(三)
clear_screen函數(shù)
原型:void clear_screen(int color)
功能:用指定顏色清屏
說(shuō)明:color為指定的顏色值,可以用宏定義的顏色值或者相應(yīng)的16位數(shù)值
draw函數(shù)類(lèi)
原型:void draw_map();void draw_info();void draw_ball(int x, int y);void draw_pea(int x, int y)
功能:在指定坐標(biāo)位置畫(huà)形狀
說(shuō)明:(x,y)為形狀的左上角定點(diǎn)的坐標(biāo)
display函數(shù)類(lèi)
原型:int display_win();int display_lose();void display_bye()
功能:全屏顯示提示信息
說(shuō)明:分別提示玩家游戲成功、游戲失敗、感謝信息
get_direction函數(shù)類(lèi)
原型:int get_direction_1st();int get_direction_2nd()
功能:隨機(jī)得到怪物的下一次移動(dòng)的方向
說(shuō)明:根據(jù)兩個(gè)怪物位置的全局變量,簡(jiǎn)單的智能算法,計(jì)算兩個(gè)怪物下一次移動(dòng)的方向
move函數(shù)類(lèi)
原型:void move_monster_1st();void move_monster_2nd ()
功能:移動(dòng)兩個(gè)怪物
說(shuō)明:根據(jù)兩個(gè)怪物的全局變量,計(jì)算后分別移動(dòng)
null_loop函數(shù)
原型:void null_loop(int length)
功能:空循環(huán),用于延時(shí)
說(shuō)明:length參數(shù)為0時(shí)是長(zhǎng)延時(shí),為1時(shí)是短延時(shí)
save_lattice函數(shù)
原型:void save_lattice(int x, int y, int * array)
功能:把指定位置方格的像素值保存在數(shù)組中
說(shuō)明:(x,y)為指定方格的坐標(biāo),array為全局?jǐn)?shù)組變量
resume_lattice函數(shù)
原型:void resume_lattice(int x, int y, int * array)
功能:把方格像素存儲(chǔ)到指定的坐標(biāo)
說(shuō)明:array為保存像素值的全局變量,(x,y)為要存放顏色的方格的坐標(biāo)
4.3.2.3.基于x86匯編語(yǔ)言的推箱子游戲設(shè)計(jì)
開(kāi)發(fā)環(huán)境: x86模擬器emu8086.exe,DOS模擬器DosBox.exe,x86匯編器NASM,windows XP及以上的操作系統(tǒng)。
程序流程:
圖 49 推箱子程序流程圖
主要模塊:
init_game函數(shù)
參數(shù):無(wú)
功能:游戲初始化
說(shuō)明:初始化游戲的界面和各個(gè)變量,每次重新進(jìn)入游戲時(shí)調(diào)用該函數(shù)
move_man函數(shù)
參數(shù):輸入?yún)?shù)ax,bx
功能:在指定的坐標(biāo)處畫(huà)man
說(shuō)明:ax為橫坐標(biāo),bx為縱坐標(biāo)
move_box函數(shù)
參數(shù):輸入?yún)?shù)ax,bx
功能:在指定的坐標(biāo)處畫(huà)box
說(shuō)明:ax為橫坐標(biāo),bx為縱坐標(biāo)
check_win函數(shù)
參數(shù):輸出參數(shù)dx
功能:檢查箱子是否都放到指定位置
說(shuō)明:如果箱子已經(jīng)擺放好返回dx=1,否則返回dx=0
check_collision函數(shù)
參數(shù):輸出參數(shù)dx
功能:檢查man和箱子是否能夠移動(dòng)
說(shuō)明:如果有沖突返回dx=1,否則返回dx=0
check_key函數(shù)
參數(shù):輸出參數(shù)ax,bx
功能:檢查是否有鍵按下
說(shuō)明:如果有鍵按下,ax=1,bx=鍵值;否則ax=0,bx無(wú)意義
get_key函數(shù)
參數(shù):輸出參數(shù)dx
功能:等待鍵盤(pán)輸入
說(shuō)明:鍵盤(pán)被按下后,返回鍵值dx=鍵值
rectangle函數(shù)
參數(shù):輸入?yún)?shù)arg0,arg1,arg2,arg3,arg4
功能:畫(huà)帶顏色填充的長(zhǎng)方形
說(shuō)明:參數(shù)通過(guò)堆棧傳遞,arg0=left,arg1=top,arg2=right,arg3=bottom,arg4=color,顏色采用R5G5B6的16位色
xy2array函數(shù)
參數(shù):輸入?yún)?shù)ax,bx,輸出參數(shù)dx
功能:將游戲中的x和y坐標(biāo)對(duì)應(yīng)到一位數(shù)組中
說(shuō)明:ax為橫坐標(biāo),bx為縱坐標(biāo),返回dx
draw_box函數(shù)
參數(shù):輸入?yún)?shù)ax,bx,cx
功能:在指定坐標(biāo)處畫(huà)box并用指定顏色填充
說(shuō)明:ax為橫坐標(biāo),bx為縱坐標(biāo),cx指定顏色
評(píng)論