匯編語言俄羅斯方塊課設_第1頁
匯編語言俄羅斯方塊課設_第2頁
匯編語言俄羅斯方塊課設_第3頁
匯編語言俄羅斯方塊課設_第4頁
匯編語言俄羅斯方塊課設_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、課 程 設 計課程名稱 匯編語言課程設計 題 目 俄羅斯方塊 專 業 班 級 學 號 姓 名 指導教師 摘 要近年來,隨著游戲產業的突飛猛進,游戲玩家的技術也是與日俱增, 當你看見游戲高手完美的表演時,你是否想過我也能達到那種水平,本程序采用全世界最金典的游戲俄羅斯方塊作為背景,程序設置了鼠標和鍵盤兩個選擇方式,游戲運行時隨著等級的提高而速度加快,這需要玩家快速操作。因此,本程序主要意義是為高手玩家提訓練平臺。其次也可為剛踏入游戲領域的新手們,提供一個很好的鍛煉機會。本次課程設計采用的是匯編語言。匯編語言,是用英文縮寫形式的助記符書寫指令。匯編語言是一種面向CPU指令系統的程序語言,它采用指令

2、系統的助記符來表示操作碼和操作數,用符號地址表示操作數地址。用匯編語言編寫程序在輸入計算機后,需要將其翻譯成目標程序,計算機才能執行相應指令,這個翻譯過程成為匯編,完成匯編任務的程序稱為匯編程序。所以我在MASM匯編程序中進行匯編,通過相應的代碼來調用相應的指令實現編密碼。本程序要在windows環境下寫一個程序,能夠提供簡單的用戶圖形界面,啟動程序后進入該界面,用戶界面由一定數量的小方格組成的方塊構成。用戶可以根據相應的提示進行一些功能上的選擇,如修改音樂,方塊顏色和游戲難度。當游戲開始時,計算機將隨機抽取方塊的放到方格上。此游戲允許玩家旋轉方塊,左右移動,加速向下。程序要實現對滿行的消除并

3、記錄得分以及對游戲的結束判斷。關鍵詞:俄羅斯方塊小游戲; 俄羅斯方塊游戲的實現; 匯編語言AbstractIn recent years, along with the game industry make a spurt of progress, but alsogrow with each passing day game player, when you see the game master perfect performance, do you think I can reach that level, the program uses the world's most Go

4、lden games - Tetris as background, the program set up the mouse and keyboard two selection, running game with the level of improvement and the speed, which requires the game player fast operation. Therefore, this procedurethe main significance is to provide training platform for the master game play

5、er.Secondly, can also be entered the game domain novices, provides a good opportunity to exercise.The course design is the assembly language. Assembly language is used,English abbreviated form of mnemonic writing instruction. Assembly language is a programming language for the CPU instruction system

6、, it uses the instructionmnemonics to represent the opcode and operand, said operand address with a symbolic address. Assembly language programming is entered into the computer,need to be translated into the target program, a computer can perform thecorresponding instructions, the translation proces

7、s into assembly, complete theassembly task programs called assembler. So I was compiled in MASMassembler, realization of encryption by the corresponding code to call the corresponding instruction. This procedure is to write a program in Windows environment, can provide a simple graphical user interf

8、ace, after starting the program into the interface, the user interface is composed of a number of smallsquare box. The user can select some functions according to the correspondingprompts, such as music, the color and the difficulty of the game box. When the game begins, the computer will randomly o

9、n the grid box. This game allows thegame player KLAX, move around, and accelerate down. The program to achievethe full line elimination and record the score and the game end.Keywords: Tetris, Tetris game, the realization of assembly language目 錄摘 要1Abstract2前 言4游戲基本規則5一、程序需求分析51.1游戲需求51.2 功能需求51.3方塊及

10、各種變換需求51.4 操作需求51.41 向上鍵61.42 向下鍵61.43 向右鍵6二、系統分析71、問題描述72、任務目標73、需求規定7三、系統總體設計9四、詳細設計10五、系統測試335.1測試用例335.2測試結果分析34六、軟件使用說明書35七、設計總結36八、心得體會37致 謝39 前 言俄羅斯方塊是一款風靡全球的電視游戲機和掌上游戲機游戲,它曾造成的 轟動與造成的經濟價值可言說是游戲史上的一件大事。這款游戲最初是由蘇聯的游戲制作人Alex Pajitnov制作的,它看似簡單但卻變化無窮,令人上癮。相信大多數用戶都還記得為它癡迷得茶飯不思不想的那個俄羅斯方塊時代。俄羅斯方塊最早還

11、是出現在PC機上,而我國的用戶都是通過紅白機了解、喜歡上它的。現在聯眾又將重新掀起這股讓人沉迷的俄羅斯方塊風潮。對于一般用戶來說,它的規則簡單,容易上手,且游戲過程變化無窮,俄羅斯方塊游戲現在基本上是每個手機必備的游戲,種類千變萬化,多種多樣俄羅斯方塊是個老幼皆宜的小游戲,是經久不衰的一款游戲,自從它誕生 那天起就一直深受人們的喜愛。幾乎每個人都玩過這個游戲,也是人們接觸最多的一款游戲,它實現由四塊正方形的色塊組成,然后存儲在一個數組的四個元素中,計算機隨機產生不同七種類型的方塊,根據計算機時鐘控制它在一定的時間不停得產生,用戶根據鍵盤的四個方向翻轉、向左、向右和向下操作,(控制鍵的實現是由鍵

12、盤的方向鍵消息函數實現)。然后程序根據這七種方塊堆疊成各種不停得模型。以前的俄羅斯方塊程序都是采用的是黑白色,顏色單調乏味,在當今色彩斑斕的信息時代不能在在顏色方面吸引更多的玩家,特別是喜歡畫面鮮艷的小朋友的注意,這就意味著將失去很多的市場,鑒于此編寫一個變換顏色的方塊就可以符合廣大玩家對色彩的需求。本程序是可以變換顏色的方塊,在下落的過程中顏色變化,可以吸引更多的小玩家,讓人覺得更加的有趣,使人的視覺得到沖擊,更家的輕松。 游戲基本規則游戲共有7種不同形狀的方塊組成,游戲開始后隨機產生一個方塊由屏幕頂端開始向下落下,降到底端則固定在桌面的底端,并且開始下一個方塊。在游戲窗口左邊作為游戲桌面。

13、游戲桌面右邊靠上是下一個要出現方塊的形狀,游戲桌面靠右下是顯示得分。如果固定到游戲桌面的方塊超過了游戲桌面的頂端游戲結束。方塊固定以后如果桌面上固定的方塊滿一行,則消除一行并將消除一行之上的部分向下移動。方塊落下的過程中可以用左右方向鍵來控制方塊的位置。上下方向鍵用來旋轉方塊,即所謂的變形。下方鍵用來加快下落速度。一、程序需求分析1.1游戲需求 28種狀態的方塊隨機產生,自由下落,落下時可由玩家用上、下、左、右控制鍵控制翻轉和移動,以便玩家所需要的形態和位置落下。 游戲界面需求:設計良好的游戲界面可以讓玩家充分感受到游戲帶來的娛樂性。游戲形狀需求:長條形、Z字形、反Z字形、田字形、7字形、反7

14、字形、T字型 顯示需求:當不同的方塊填滿一行時可以消行,剩余方塊向下移動并統計分數。當達到一定分數的時候,會增加相應的分數。 1.2 功能需求 隨機給出不同的形狀下落填充給定的區域,若填滿一條便消掉,記分, 設計不同的游戲難度,即方塊下落的速度不同,若在游戲中各形狀填滿了給定區域為輸者。1.3方塊及各種變換需求 本游戲需要七種方塊,而每種方塊還可以進行旋轉。每種方塊每行每列 最多只有4個小方塊。可以將它們放在一個n*m的區域內,該區域可以看做是有許多個等面積小方塊構成的區域,而這些區域的狀態只有兩種,被方塊占據或空閑。因此,對于整個游戲區域的空間是被占據或空閑,可以用一位數來標識。對于七種方塊

15、和它們旋轉后的形態我們可以用不同的標識進行標記。對于旋轉,游戲中所有方塊都是按照逆時針旋轉的規則進行的,而且在旋轉過程中它們不會因為旋轉而下降,總會保持在同一高度。任何方塊經過一個旋轉周期還會變回原型。1.4 操作需求 1.41 向上鍵 產生方塊旋轉操作,方塊并非任何情況都能旋轉,如果旋轉后與小方塊矩陣 顯示的方塊有沖突或超出邊界是,均不發生旋轉。因此首先要判斷是否有足夠的空間進行旋轉。然后是旋轉是否旋轉。 1.42 向下鍵 產生方塊加速下落操作,如果方塊已經達到游戲區域底部或者有其他方塊遮擋,則方塊停止下降。 1.43 向右鍵 產生下落方塊右移操作。首先要判斷此方塊是否能夠發生右移,當越界或

16、被其他顯示方塊阻擋時,則不能右移。二、系統分析1、問題描述啟動程序后進入該界面,用戶界面由一定數量的小方格組成的方塊構成。用戶可以根據相應的提示進行一些功能上的選擇,如修改音樂,方塊顏色和游戲難度。當游戲開始時,計算機將隨機抽取方塊的放到方格上。此游戲允許玩家旋轉方塊,左右移動,加速向下。程序要實現對滿行的消除并記錄得分以及對游戲的結束判斷。2、任務目標(1)在windows環境下建立一個簡單的用戶界面,用戶可以進行功能性的菜單選擇,如開始、暫停、結束等。(2)游戲開始后,通過指定的功能鍵控制方塊,方塊可以左右移動、落下、旋轉。(3)界面上要顯示分數和游戲已經開始的時間和游戲的難度,還要預先顯

17、示下一個方塊。(4)能進行簡單的參數設置:修改音樂,改變方塊顏色和難度等。(5)可以進行一些文件操作:讀文件、寫文件等。3、需求規定表1 用戶界面需求表功能1. 隨機產生經典俄羅斯方塊圖形2. 設置難度級別,不同級別速度不同3. 方向鍵實現下落圖形的左移、右移、加速下落、變形等基本操作4. 正確判斷游戲結束5. 對游戲成績進行記分表2 用戶界面需求表需求名稱詳細要求窗體界面友好人機交互,玩家可以很方便進行操作支持聲音改變背景音樂界面顏色能改變顏色表3 軟硬件環境需求表需求名稱詳細要求硬件要求Intel Pentium III 800/AMD K7以上處理器、128M以上內存支持標準網絡協議的網

18、卡系統平臺Windows2000/WinXP/Win2003 運行環境Windows 系列三、系統總體設計對此次匯編語言與微機原理課程設計,通過在圖書館、網絡上收集資料,小組成員得到一致結論用Windows平臺下32位匯編為最佳選擇。對俄羅斯方塊游戲項目計劃劃分為四個模塊,分別為初始化設置和窗口函數相關模塊、繪制表格模塊、方塊左右移動旋轉模塊、方塊下落模塊。其中繪制表格模塊、方塊左右移動旋轉模塊、方塊下落模塊是先決條件。在該模塊完成的基礎上,初始化設置和窗口函數相關模塊才能得以實現。各模塊分配如下: 初始化設置和窗口函數相關模塊:陳東起 繪制表格模塊:龔彤艷 方塊左右移動旋轉模塊:馬蕭 方塊下

19、落模塊:唐銀科對初始化設置和窗口函數相關模塊:該模塊實現對全局變量的初始化,對窗口中菜單進行設置。窗口函數則實現對窗口類的注冊,生成窗口,以及對窗口事件的處理。其具體功能的實現是要用的其他功能模塊的子程序。該模塊還需要實現背景音樂、游戲等級、方塊背景色更改等附加功能。四、詳細設計由于我負責的模塊是初始化以及窗口的搭建。對初始化是進行一些簡單的賦值操作,序列比較簡單,不再進行流程圖的復制。又,窗口函數層次清晰,也不再進行流程圖的繪制。詳細設計代碼實現:;* *俄羅斯方塊(模塊一:初始化設置和窗口函數相關模塊)*;窗口生成子程序WinMain proc hInst:HINSTANCE,hPreIn

20、st:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD LOCAL wc:WNDCLASSEX ;定義一個窗口類實例變量 LOCAL msg:MSG ;定義一個消息結構 LOCAL hwnd:HWND;用于存放窗口代號 mov wc.cbSize,SIZEOF WNDCLASSEX mov wc.style, CS_HREDRAW or CS_VREDRAW mov wc.lpfnWndProc, OFFSET WndProc mov wc.cbClsExtra,NULL mov wc.cbWndExtra,NULL push hInstance pop wc.hIn

21、stance mov wc.hbrBackground,NULL mov wc.lpszMenuName,0 mov wc.lpszClassName,OFFSET ClassName Invoke LoadIcon,NULL,ICO_MAIN mov wc.hIcon,eax mov wc.hIconSm,eax invoke LoadCursor,NULL,IDC_ARROW invoke RegisterClassEx, addr wc ;注冊窗口類 invoke LoadMenu,NULL,offset MenuName;加載Menu mov hmenu,eax invoke Crea

22、teWindowEx,NULL, ADDR ClassName, ADDR AppName, WS_CAPTION OR WS_SYSMENU or WS_MINIMIZEBOX or WS_DLGFRAME, ; 400, 75, ;CW_USEDEFAULT, 500, 550, NULL, hmenu, hInst, NULL mov hwnd,eax mov hwnd1,eax invoke ShowWindow, hwnd,CmdShow invoke UpdateWindow, hwnd .WHILE TRUE invoke GetMessage, ADDR msg,NULL,0,

23、0 .BREAK .IF (!eax) invoke TranslateMessage, ADDR msg invoke DispatchMessage, ADDR msg .endw mov eax,msg.wParam retWinMain endp;* *俄羅斯方塊(模塊一:初始化設置和窗口函數相關模塊)*;窗口回調子程序WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM ;窗口處理函數 LOCAL hdc:HDC;定義設備描述表代號 LOCAL ps:PAINTSTRUCT;定義PAINTSTRUCT結構 LO

24、CAL point:POINT LOCAL hMemDC:HDC ;內存位圖代號 LOCAL rect:RECT ;定義矩形區域 ;定義菜單項信息結構 LOCAL menuiteminfo:MENUITEMINFO .IF uMsg=WM_DESTROY invoke DeleteObject,hBitmap invoke PostQuitMessage,NULL .ELSEIF uMsg=WM_CREATE invoke LoadBitmap,hInstance,IDB_MAIN mov hBitmap,eax .ELSEIF uMsg=WM_COMMAND mov eax,wParam ;

25、對菜單項點擊進行處理邏輯 .IF ax=IDM_NEW ;調用初始化子程序 invoke Init invoke EnableMenuItem,hmenu,IDM_DIJI,MF_GRAYED invoke EnableMenuItem,hmenu,IDM_ZHONGJI,MF_GRAYED invoke EnableMenuItem,hmenu,IDM_GAOJI,MF_GRAYED invoke EnableMenuItem,hmenu,IDM_KAISHI,MF_ENABLED invoke EnableMenuItem,hmenu,IDM_NEW,MF_GRAYED invoke En

26、ableMenuItem,hmenu,IDM_BAI,MF_GRAYED invoke EnableMenuItem,hmenu,IDM_HEI,MF_GRAYED invoke EnableMenuItem,hmenu,IDM_HONG,MF_GRAYED invoke EnableMenuItem,hmenu,IDM_HUANG,MF_GRAYED invoke EnableMenuItem,hmenu,IDM_LV,MF_GRAYED invoke EnableMenuItem,hmenu,IDM_LAN,MF_GRAYED invoke EnableMenuItem,hmenu,IDM

27、_ZI,MF_GRAYED invoke EnableMenuItem,hmenu,IDM_ZONG,MF_GRAYED .ELSEIF ax=IDM_KAISHI mov gamestate,1;設置游戲狀態為1:運行狀態 ;設置游戲開始時間 invoke GetTickCount sub eax,gamezantingtime add gamestarttime,eax ;判斷是否開啟音樂* .if yinyuepanduan=1 invoke PlaySound, addr yinyue, hInstance, SND_ASYNC or SND_LOOP;開始播放 .endif;* in

28、voke EnableMenuItem,hmenu,IDM_KAISHI,MF_GRAYED invoke EnableMenuItem,hmenu,IDM_ZANTING,MF_ENABLED ;自動下落計時器開始計時,根據等級確定時間 .if jibie=1 invoke SetTimer,NULL,NULL,500,addr DownTimerFunction mov downTimer,eax .elseif jibie=2 invoke SetTimer,NULL,NULL,450,addr DownTimerFunction mov downTimer,eax .elseif ji

29、bie=3 invoke SetTimer,NULL,NULL,400,addr DownTimerFunction mov downTimer,eax .elseif jibie=4 invoke SetTimer,NULL,NULL,350,addr DownTimerFunction mov downTimer,eax .elseif jibie=5 invoke SetTimer,NULL,NULL,300,addr DownTimerFunction mov downTimer,eax .elseif jibie=6 invoke SetTimer,NULL,NULL,250,add

30、r DownTimerFunction mov downTimer,eax .elseif jibie=7 invoke SetTimer,NULL,NULL,200,addr DownTimerFunction mov downTimer,eax .elseif jibie=8 invoke SetTimer,NULL,NULL,150,addr DownTimerFunction mov downTimer,eax .elseif jibie=9 invoke SetTimer,NULL,NULL,100,addr DownTimerFunction mov downTimer,eax .

31、elseif jibie=10 invoke SetTimer,NULL,NULL,50,addr DownTimerFunction mov downTimer,eax .endif .ELSEIF ax=IDM_ZANTING mov gamestate,2;將游戲狀態設為暫停 ;關閉自動下落計時器 invoke KillTimer,NULL,downTimer ;設置游戲暫停時間 invoke GetTickCount mov gamezantingtime,eax ;停止播放音樂 invoke PlaySound, NULL, hInstance, SND_ASYNC or SND_L

32、OOP invoke EnableMenuItem,hmenu,IDM_KAISHI,MF_ENABLED invoke EnableMenuItem,hmenu,IDM_ZANTING,MF_GRAYED .ELSEIF ax=IDM_TUICHU invoke PostQuitMessage,NULL .ELSEIF ax=IDM_BEIJINGYINYUE;根據yinyuepanduan全局變量,實現點擊該菜單項時循環播放和取消音樂 ;* inc yinyuepanduan mov eax,yinyuepanduan mov edx,0 mov ebx,2 div ebx .if edx

33、=1 mov menuiteminfo.cbSize,sizeof menuiteminfo mov menuiteminfo.fMask,MIIM_STATE mov menuiteminfo.fState,MFS_CHECKED invoke SetMenuItemInfo,hmenu,IDM_BEIJINGYINYUE,FALSE,addr menuiteminfo mov yinyuepanduan,1 .if gamestate=1 invoke PlaySound, addr yinyue, hInstance, SND_ASYNC or SND_LOOP;開始播放 .endif

34、.elseif edx=0 mov menuiteminfo.cbSize,sizeof menuiteminfo mov menuiteminfo.fMask,MIIM_STATE mov menuiteminfo.fState,MFS_UNCHECKED invoke SetMenuItemInfo,hmenu,IDM_BEIJINGYINYUE,FALSE,addr menuiteminfo invoke PlaySound, NULL, hInstance, SND_ASYNC or SND_LOOP ;停止播放 mov yinyuepanduan,0 .endif ;* ;對游戲級別

35、進行設置,里面包含大量對游戲級別菜單項操作;* .ELSEIF ax=IDM_DIJI mov youxidengji,1 mov menuiteminfo.cbSize,sizeof menuiteminfo mov menuiteminfo.fMask,MIIM_STATE mov menuiteminfo.fState,MFS_CHECKED invoke SetMenuItemInfo,hmenu,IDM_DIJI,FALSE,addr menuiteminfo mov menuiteminfo.cbSize,sizeof menuiteminfo mov menuiteminfo.f

36、Mask,MIIM_STATE mov menuiteminfo.fState,MFS_UNCHECKED invoke SetMenuItemInfo,hmenu,IDM_ZHONGJI,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_GAOJI,FALSE,addr menuiteminfo .ELSEIF ax=IDM_ZHONGJI mov youxidengji,2 mov menuiteminfo.cbSize,sizeof menuiteminfo mov menuiteminfo.fMask,MIIM_STATE

37、 mov menuiteminfo.fState,MFS_UNCHECKED invoke SetMenuItemInfo,hmenu,IDM_DIJI,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_GAOJI,FALSE,addr menuiteminfo mov menuiteminfo.cbSize,sizeof menuiteminfo mov menuiteminfo.fMask,MIIM_STATE mov menuiteminfo.fState,MFS_CHECKED invoke SetMenuItemInfo

38、,hmenu,IDM_ZHONGJI,FALSE,addr menuiteminfo .ELSEIF ax=IDM_GAOJI mov youxidengji,3 mov menuiteminfo.cbSize,sizeof menuiteminfo mov menuiteminfo.fMask,MIIM_STATE mov menuiteminfo.fState,MFS_UNCHECKED invoke SetMenuItemInfo,hmenu,IDM_DIJI,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_ZHONGJI

39、,FALSE,addr menuiteminfo mov menuiteminfo.cbSize,sizeof menuiteminfo mov menuiteminfo.fMask,MIIM_STATE mov menuiteminfo.fState,MFS_CHECKED invoke SetMenuItemInfo,hmenu,IDM_GAOJI,FALSE,addr menuiteminfo ;* .ELSEIF ax=IDM_BAI mov BlockColor,0 mov menuiteminfo.cbSize,sizeof menuiteminfo mov menuiteminf

40、o.fMask,MIIM_STATE mov menuiteminfo.fState,MFS_CHECKED invoke SetMenuItemInfo,hmenu,IDM_BAI,FALSE,addr menuiteminfo mov menuiteminfo.cbSize,sizeof menuiteminfo mov menuiteminfo.fMask,MIIM_STATE mov menuiteminfo.fState,MFS_UNCHECKED invoke SetMenuItemInfo,hmenu,IDM_HEI,FALSE,addr menuiteminfo invoke

41、SetMenuItemInfo,hmenu,IDM_HONG,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_HUANG,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_LV,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_LAN,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_ZI,FALSE,addr menuiteminfo i

42、nvoke SetMenuItemInfo,hmenu,IDM_ZONG,FALSE,addr menuiteminfo .ELSEIF ax=IDM_HEI mov BlockColor,1 mov menuiteminfo.cbSize,sizeof menuiteminfo mov menuiteminfo.fMask,MIIM_STATE mov menuiteminfo.fState,MFS_CHECKED invoke SetMenuItemInfo,hmenu,IDM_HEI,FALSE,addr menuiteminfo mov menuiteminfo.cbSize,size

43、of menuiteminfo mov menuiteminfo.fMask,MIIM_STATE mov menuiteminfo.fState,MFS_UNCHECKED invoke SetMenuItemInfo,hmenu,IDM_BAI,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_HONG,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_HUANG,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hme

44、nu,IDM_LV,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_LAN,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_ZI,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_ZONG,FALSE,addr menuiteminfo .ELSEIF ax=IDM_HONG mov BlockColor,2 mov menuiteminfo.cbSize,sizeof menuiteminfo mo

45、v menuiteminfo.fMask,MIIM_STATE mov menuiteminfo.fState,MFS_CHECKED invoke SetMenuItemInfo,hmenu,IDM_HONG,FALSE,addr menuiteminfo mov menuiteminfo.cbSize,sizeof menuiteminfo mov menuiteminfo.fMask,MIIM_STATE mov menuiteminfo.fState,MFS_UNCHECKED invoke SetMenuItemInfo,hmenu,IDM_BAI,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_HEI,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_HUANG,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_LV,FALSE,addr menuiteminfo invoke SetMenuItemInfo,hmenu,IDM_LAN,FALSE,addr menuiteminfo invoke Se

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論