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

正文內(nèi)容

匯編語言課程設(shè)計粒子運(yùn)動動畫報告-wenkub.com

2024-08-22 11:37 本頁面
   

【正文】 系統(tǒng)參數(shù)設(shè)置對話框過程 SyspProc proc hDlg:DWORD, uMsg:DWORD, wParam:DWORD, lParam:DWORD .if uMsg == WM_INITDIALOG invoke setIPs, hDlg, IDC_EDIT01, seed invoke setIPs, hDlg, IDC_EDIT02, astep invoke setIPs, hDlg, IDC_EDIT03, speed mov eax, smode add eax, IDC_RADIO1 invoke SendDlgItemMessage, hDlg, eax, BM_SETCHECK, BST_CHECKED, 0 mov eax, mf add eax, IDC_RADIO1+2 invoke SendDlgItemMessage, hDlg, eax, BM_SETCHECK, BST_CHECKED, 0 mov eax, view add eax, IDC_RADIO1+6 invoke SendDlgItemMessage, hDlg, eax, BM_SETCHECK, BST_CHECKED, 0 jmp ItRet0 .elseif uMsg == WM_COMMAND .if wParam == IDOK mov seedxch, 0 invoke getIPs, hDlg, IDC_EDIT01 。 保存位圖文件選擇框,獲取有效的全路徑文件名 saveBmDlgproc fname$:DWORD, tname$:DWORD mov , OFFSET bmFilter mov , OFFSET bmDefExt mov eax, fname$ mov word ptr [eax], 0 mov edx, tname$ mov word ptr [edx], 0 mov , eax mov , edx mov , OFN_OVERWRITEPROMPT invoke GetSaveFileName, OFFSET ofn ret saveBmDlgendp 。 mov eax, 10 mul ecx sub ebx, 030H mov ecx, eax add ecx, ebx inc edi mov bl, [edi] .endw mov edx, v$ mov [edx], ecx mov eax, edi pop ebx pop edi ret getV10 endp 。 amp。 繪制當(dāng)前狀態(tài)(向 hDc 設(shè)備繪制一點(diǎn)) movzx eax, [ebx]. movzx edx, [ebx]. .if view != 3 invoke SetPixel,hdcT,eax,edx,[ebx]. .endif add ebx, sizeof ATOMST dec _k .endw pop ecx inc ecx .endw .if view == 3 push esi push edi mov esi, offset ats mov edi, offset att mov ebx, seed .while ebx invoke drawLine,[edi].,[edi].,[esi].,[esi].,[esi]. add esi, 8 add edi, 4 dec ebx .endw pop edi pop esi .endif ret Step endp 。 向左行走一個像素的距離 .elseif eax == 3 inc [ebx]. 。 單步 (n 個像素距離內(nèi)的 )隨機(jī)行走 Step proc uses ebx, hdcT:HDC, _n:DWORD LOCAL _k:DWORD .if view == 3 mov ebx, offset ats mov edx, offset att mov ecx, seed .while ecx mov eax, [ebx] mov [edx], eax add ebx, 8 add edx, 4 dec ecx .endw .endif mov ecx, 0 .while ecx _n push ecx mov ebx, offset ats mov eax, seed mov _k, eax .while _k call rnd 。 計算較大的方向長度 .if (eax = edx) shl edx, 1 mov esi, edx mov ecx, eax sub esi, eax shl eax, 1 。 計算兩個方向的畫線距離 movzx eax, _xx movzx edx, _x sub eax, edx 。2 。 eax = a*r add eax, rb 。 將內(nèi)存設(shè)備數(shù)據(jù)區(qū)用 color 進(jìn)行覆蓋 bkSetcolor proc _m:DWORD, _color:DWORD LOCAL _k:DWORD, _N:DWORD mov edx, _m mov eax, mov _N, eax .while _N mov eax, mov _k, eax mov eax, _color .while _k mov DWORD PTR [edx], eax add edx, 4 dec _k .endw dec _N .endw ret bkSetcolor endp 。 eax = a*r+b cdq mov tn, eax idiv xClient mov [ebx]., dx mov eax, tn mul ra add eax, rb cdq mov tn, eax idiv yClient mov [ebx]., dx mov eax, tn mul ra add eax, rb mov tn, eax mov edx, eax shr edx, 8 and edx,7F7F7FH 。 初始化種子 initSeed proc uses ebx, _n:DWORD LOCAL x0:SDWORD,y0:SDWORD, tt mov ecx, seed mov ebx, offset ats mov eax, tn .if !smode 。 種子數(shù)組 att DWORD 10000 dup(?) crCustColors DWORD 16 dup(?) .const szClassName db 39。 隨機(jī)數(shù)向右移位的次數(shù) ma DWORD 3 。 隨機(jī)數(shù)初始值的工作變量 ra DWORD 19 。 種子數(shù) astep DWORD 16 。 客戶區(qū)寬度 yClient DWORD 400 。 在劉 樹群老師的辛勤的指導(dǎo)與小組成員的共同努力下,此次匯編語言課程設(shè)計終于順利完成!其間遇到的許多問題都游逆而解!同時,從劉樹群老師的身上我學(xué)到了許多知識,在此我向劉老師表示我深切的感謝之情!與此同時,對我們小組內(nèi)的各成員以及給過我?guī)椭乃型瑢W(xué)與老師也表示我忠心的祝福與感謝! 附錄:程序清單 .486 .model flat,stdcall option casemap:none 。 差不多一周的時間過去了,回顧這段日子,至今我仍感慨良多。 通過這次課程設(shè)計,我懂得了理論和實際相結(jié)合的重要性,在理論方面,看上去很容易實現(xiàn)的東西,實際操作起來,并沒有那么容易。 這次實驗讓我明白了流程圖的重要性,剛開始寫程序的時候,直接就動手了,結(jié)果程序?qū)懙暮軄y,執(zhí)行起來的效果也不好。 圖 4— 3運(yùn)行圖( 2) 2)如圖程序?qū)崿F(xiàn)了對粒子種子的范圍劃定。完成此部分后,我對子程序設(shè)計方法有了更進(jìn)一步的了解,對于跳轉(zhuǎn)語句的使用更加熟練,程序設(shè)計的能力也有所提升,思維更加嚴(yán)謹(jǐn)。 mov [edi], ebx ret drawLine endp (2) 隨機(jī)數(shù)發(fā)生器子程序 此程序用于產(chǎn)生隨機(jī)數(shù),對應(yīng)種子時間內(nèi)的路徑。 dx = xx x movzx edx, _y movzx ecx, _yy sub edx, ecx 。利用坐標(biāo)點(diǎn)繪制直線來實現(xiàn)橫向和豎向的運(yùn)動軌跡。 垂直方向上的越界檢查(也做回繞處理) movsx edx, [ebx]. .if edx SDWORD PTR 0 mov edx, yClient dec edx mov [ebx]., dx .elseif edx = yClient mov edx, 0 mov [ebx]., dx .endif 。 向左行走一個像素的距離 .elseif eax == 3 inc [ebx]. 。該子程序是整個程序的核心部分,具體實現(xiàn)代碼如下: 第一部分: Step proc uses ebx, hdcT:HDC, _n:DWORD LOCAL _k:DWORD .if view == 3 mov ebx, offset ats mov edx, offset att mov ecx, seed .while ecx mov eax, [ebx] mov [edx], eax add ebx, 8 add edx, 4 dec ecx .endw .endif mov ecx, 0 .while ecx _n push ecx mov ebx, offset ats mov eax, seed mov _k, eax .while _k call rnd 。,0 。 位 0:方向數(shù)(取值 4 或 8),位 1:絕對方向行走模式還是相對模式( A 或 R) bkcolor DWORD 0FFFFFFH bmFile BITMAPFILEHEADER 04D42H, 0, 0, 0, 54 bmInfo BITMAPINFOHEADER sizeof(BITMAPINFOHEADER), 800, 600, 1, 32, BI_RGB, 0, 0, 0, 0, 0 bmFilter BYTE 位圖文件 (*.BMP), 0, *.BMP, 0, 所有文件 (*.*), 0, *.*, 0, 0 bmDefExtBYTE BMP, 0 szCap BYTE 粒子運(yùn)動動畫 , 0 format BYTE %u,0 .data? hInstanceDWORD ? hWinMain DWORD ? hdcTemp HDC ? seedxch DWORD ? strtemp BYTE1024 dup (?) hBitmapTemp HBITMAP ? mTemp DWORD ? bitmapTemp BITMAP ? 。 隨機(jī)數(shù)平移 rn DWORD 0A2F59C2Eh 。 速度控制值(毫秒) ftime DWORD 0 。 生成模式: 0 無軌跡模式, 1 拖軌模式, 2 軌跡模式 smode DWORD 1 。在主程序中,設(shè)定了變量的值,然后調(diào)用子程序,依次實現(xiàn)動畫效果。在一個程序的不同部分,往往要用到類似的程序段,這些程序段的功能和結(jié)構(gòu)形式都相同,只是某些變量的賦值不同,此時就可以把這些程序段寫成子程序的形式,以便需要時可以調(diào)用它。 (3)呈現(xiàn)游走動畫效果 此模塊主要是想呈現(xiàn)一個 游走動畫 效果,聯(lián)想現(xiàn)實生活中的動畫,物體要車呈現(xiàn)一定規(guī)律,想要使程序呈現(xiàn)出這種動態(tài)效果,必須是人眼看到粒子是在移動的,而產(chǎn)生移動效果則可通過繪制不同方向的軌跡來實現(xiàn),同樣也需要采用延時,才能顯示出更好的效果,本程序基本設(shè)計為粒子的隨機(jī)移動。 (2)生成種子 此模塊主要是想實現(xiàn)多種子在窗口內(nèi)的生成。首先要選用 ProcWinMain定義主要的窗口函數(shù),在用 PAINT 消息完成客戶區(qū)的更新或失效區(qū)域的繪制,然后建立窗口。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1