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

正文內(nèi)容

基于java的俄羅斯方塊-文庫吧資料

2025-05-15 20:07本頁面
  

【正文】 有關(guān) 要求,保存 與 畢業(yè)設(shè)計(論文) 有關(guān) 的電子 和紙質(zhì) 文檔; 做好本院(部)學(xué)生 畢業(yè)設(shè)計(論文)總結(jié) 與評估 工作。 (二)院(部) 畢業(yè)設(shè)計(論文)管理工作職責(zé) : 各 院(部) 成立畢業(yè)設(shè)計(論文) 工作 領(lǐng)導(dǎo)小組, 確定 畢業(yè)設(shè)計(論文) 指導(dǎo)教師, 布置畢業(yè)設(shè)計(論文)工作任務(wù),檢查 本院(部) 畢業(yè)設(shè)計(論文) 工作落實(shí)情況。 五 、畢業(yè)設(shè)計(論文)的領(lǐng)導(dǎo)與 管理 全 校 畢業(yè)設(shè)計(論文)在 分 管教學(xué) 副校長 領(lǐng)導(dǎo)下進(jìn)行,分級管理,層層負(fù)責(zé)。 三 、畢業(yè)設(shè)計(論文) 的工作程序 畢業(yè)設(shè)計(論文) 工作程序分 為選題 、 開題 、 撰寫論文或設(shè)計 、 中期檢查 、 答辯 、 歸檔 等環(huán)節(jié) 。 一、 畢業(yè)設(shè)計(論文)的 主要目的 (一) 培養(yǎng)學(xué)生運(yùn)用所學(xué)知識獨(dú)立地分析和解決 本專業(yè)范圍內(nèi)一般 問題的能力,培養(yǎng)學(xué)生的創(chuàng)新意識和實(shí)踐能力,使學(xué)生 從事學(xué)術(shù)研究的能力 得到 初步 的訓(xùn)練; (二) 培養(yǎng)學(xué)生理論聯(lián) 系 實(shí)際的工作作風(fēng)和嚴(yán)謹(jǐn)認(rèn)真的科學(xué)態(tài)度; (三)培養(yǎng) 學(xué)生分析設(shè)計能力、研究實(shí)驗?zāi)芰?、工程?shí)踐能力、經(jīng)濟(jì)分析能力、 外文閱讀能力和計算機(jī)的運(yùn)用能力,以及社會調(diào)查、文獻(xiàn)資料查閱和 論文寫作能力 。 22 參考文獻(xiàn) [1].齊治昌、譚慶平、寧洪編著,《軟件工程》 北京:高等教育出版社 1997 年 7 月 [2].印旻編著,《 java 語言與面向?qū)ο蟪绦蛟O(shè)計》 北京:清華大學(xué)出版社 2021 年 9 月 [3].榮欽科技編著,《 Java 2 游戲設(shè)計》 北京:清華大學(xué)出版社 2021 年 11 月 [4].朱福喜編著,《 Java 程序設(shè)計技巧與開發(fā)實(shí)例》 北京:人民郵電出版社 2021 年 2 月 23 **本科畢業(yè)設(shè)計(論文)管 理暫行規(guī)定 畢業(yè)設(shè)計(論文)是本科人才培養(yǎng)的重要實(shí)踐性教學(xué)環(huán)節(jié),也是學(xué)士學(xué)位評定的重要依據(jù)。 總的來說,我自認(rèn)為還是比較成功的,這也是我在大學(xué)三年來完成的一個比較全面的實(shí)際例子。但由于我對這樣的軟件開發(fā)還只是一個開始,了解的不多,這其中或許還有很多的不足,有些模塊做得不是很好,有些功能還不能夠完全的實(shí)現(xiàn),如不能把要裝載的方塊提前顯示出來。通過這次自己制作的軟件 ,豐富了自己的實(shí)踐技能 ,擴(kuò)展了本專業(yè)的知識面 ,使我受益非淺 ,同時也體驗到了搞軟件開發(fā)的困難度。 經(jīng)過半個月的不斷努力 ,結(jié)課設(shè)計內(nèi)容已經(jīng)基本上完成了。 第三,作是一個不斷學(xué)習(xí)新鮮事物的過程,從設(shè)計初的不懂到最后能夠順利完成,我體會到在實(shí)踐中學(xué)習(xí)的重要性,這對于將來我走上工作崗位具有重要意義。這個程序就是在這樣反復(fù)過程序中一點(diǎn)一點(diǎn) 的完成的。 第二,完成了從“小而全”,到“全而精”的轉(zhuǎn)變。但最終都被我一一解決,對其中比較主要的幾點(diǎn)體會總結(jié)如下。這次通過做結(jié)課設(shè)計,我完成了俄羅斯游戲的軟件開發(fā)任務(wù)。 保存方塊坐標(biāo)( save()) save()方法 將活動方塊的之前坐標(biāo)保 存,在方塊移動后,它就起到清除 舊圖形的重要作用,就是如些使顯示界面不用不斷的刷新,然后再去繪制新圖,這樣可以使得屏幕不會變得太閃爍。其實(shí)消除屏幕只是將屏幕重新畫一次而己,清除成績和關(guān)數(shù),也只是在有顯示成績和關(guān)數(shù)的地方畫一個白色的框而己。顯示控制時先看之前是否發(fā)生過消行事件,如果發(fā)生了清除屏幕所有方塊、成績和關(guān)數(shù),全部重新繪置,使得消行視覺化。 } j。i++) screen[i][j]=screen[i][jk]。//向上查找不是滿行的數(shù)據(jù) ,k 是統(tǒng)計間隔數(shù) if (k0)//有消行,使屏幕方塊向下移動 { for(i=0。 例 處理消行及方塊下移 j=18。當(dāng)本行滿時,則以間隔為 1向上查找,當(dāng)遇到所查找的行也是滿行,那么它的間隔自增 1,然后繼續(xù)向上查找,直到那一行不是滿行的情況,則將此行所有數(shù)據(jù)信息移到本行,以后本行以上的每行都會以這個間隔去判斷它將獲得的那行數(shù)據(jù),可以則繼承,不然和上述一樣操作。最后再向上查找滿行情況直到本行為空時為止。然后再判斷是否有行滿的情況,否的話就繼續(xù)檢查上一行。接上圖 2 點(diǎn) 19 就不必要向上查找了。 沒有達(dá)到過關(guān)分?jǐn)?shù)或者沒有滿行, 則加載下一個方塊繼續(xù) 游戲。 統(tǒng)計分?jǐn)?shù):在消行處理里面有一個專門用來統(tǒng)計消行數(shù)的變量,然后根據(jù)變 量的值決定分?jǐn)?shù)的多少,程序統(tǒng)計分?jǐn)?shù)是:消一行得 10 分,同時消 4 行得 40分,沒有定義因為同時消多行而得多分?jǐn)?shù)的情況??赡軙柕椒綁K下降時會不會把這些己經(jīng)堆積在屏幕上的圖形清除,關(guān)于這方面我在方塊發(fā)生任何運(yùn)動之前都會做一次障礙物判斷,也就是判斷它即將要到達(dá)的那一點(diǎn)是否有小方塊的存在(那一點(diǎn) 的坐標(biāo)是否為真),存在則不移動,不存在才會移動。 screen[x[j]][y[j]]=true 只是將每個小方塊所在位置記錄下來,使方塊能夠堆積在一起。//將到達(dá)的活動方塊賦給屏幕控制數(shù)組 row[x[j]]++。j4。 到達(dá)事件一觸動就證明了方塊到達(dá)目的地,那么就將方塊進(jìn)行堆積。調(diào)用游戲初始化 gameinit()開始新的一關(guān) 裝載圖形(調(diào)用 begin()) 、處理消行、堆積方塊向下移動 17 哪列上存在著小方塊,能描述方塊在屏幕上的準(zhǔn)確位置。 在這 里還有一點(diǎn)要做詳細(xì)的解說,屏幕是如何實(shí)現(xiàn),為什么方塊能夠堆積之類的問題: 屏幕采用的是一個二維的邏輯數(shù)組,主要描述第幾行第幾列上是否存在方塊,如果存在則這個邏輯變量的值將會為真,否則為假。 處理到達(dá)事件 處理方塊到達(dá)圖 reach()事件是在方塊自動下降或是按鍵下降時 ,當(dāng)方塊新坐標(biāo)遇到障礙或是到達(dá)底部時調(diào)用此事件。否則就為了清除舊圖而保存方塊當(dāng)前坐標(biāo), 然后方塊再向下移動一行。如果游戲還沒開始那么在這里下降功能將被鎖定,因為游戲都沒有開始,在這里處理自動下降有點(diǎn)說不過去。 ()是游戲休眠,括號中的數(shù)字將決定休眠的時間,也是方 塊在此行停留的時間。可以說控制游戲的關(guān)數(shù),也就是控制速度,也可以說是對休眠時間長短的控制,休眠時間越短則游戲關(guān)數(shù)越高,游戲速度就越快。至于處理障礙物的方式與處理方塊向左運(yùn)動的方式差不多,所以在這不做詳細(xì)的解說。還有兩個 Z 字形和一字形變化不是很規(guī)范,但沒有太大的問題,所以為了避免麻煩我就沒有處理這些問題。y=2x的逆時針旋轉(zhuǎn)規(guī)則產(chǎn)生新坐標(biāo) 新點(diǎn)坐標(biāo)賦給控制方塊變量 方塊變化(按向上鍵) 檢查可變性 不發(fā)生任何改變 15 變,即按下向上鍵時,不對田字型的做改變。但田字形的方塊用上面的變化規(guī)則時,方塊晃動的厲害,所以上面的規(guī)則只能作用與其他 6種圖形。 其中 x,y代表方塊變化前的坐標(biāo), x1,y1 代表方塊變化后的坐標(biāo),這樣使方塊成功的變化。常見的方塊有 7種 (長條形、 Z字形、反 Z形、田字形、 7字形、反 7形、 T字型 ),所有圖形都是用兩個一維數(shù)組來統(tǒng)計它的橫坐標(biāo)和縱坐標(biāo),每個方塊有 4種不同的變化形狀,所以我對 7種圖形都做要詳細(xì)的研究和分析,得到了一個方塊逆時針旋轉(zhuǎn)結(jié)論: x1=y。 //方塊向左移動 break。i5。i++) if (x[i]1 || screen[x[i]1][y[i]]) //判斷是否到達(dá)屏幕最左邊或要到的左邊有沒有方塊 break。 例 向左鍵的障礙物判斷及處理: for(i=0。再把方塊的位置顯示在屏幕上。每當(dāng)有按鍵,也就是方塊要產(chǎn)生變化時,先保存方塊的坐標(biāo),便于清理舊方塊,顯示新方塊。這樣做是為了在游戲開始時再按下 S 鍵,游戲不會重新開始,即游戲開始后, S上 左 右 下 是 否 判斷是否是 S鍵且游戲游戲還沒開始 按鍵 等待 開啟游戲開關(guān) 判斷按鍵 圖形變化調(diào)用change()方法 1. 判斷可移動性 2. 可以則移動 性 再向下移 以則向下移 調(diào)用 xian()將發(fā)生變化后的方塊顯示在屏幕上 用 save()保存原有坐標(biāo) 14 鍵就沒有用了。 是 否 7 6 5 4 3 2 1 隨機(jī)抽取一個數(shù) 隨機(jī)數(shù) 一字形 Z 字形 反 Z 形 7 字形 反 7 形 倒 T形 田字型 游戲是否結(jié)束 保存當(dāng)前方塊坐標(biāo) 顯示方塊于屏幕上 游戲結(jié)束 調(diào)用 destroy() 關(guān)數(shù)初始化 返回開始界面 13 處理鍵盤事件 鍵盤事件功能圖( KeyDown()) keyDown()是處理按鍵的事件,剛開始運(yùn)行程序時,游戲還沒有開始,這時除 S鍵(解鍵盤鎖的鍵)是有用外,其他的鍵都給鎖住,這樣可以避免鍵盤過早的控制游戲。沒有則先把方塊坐標(biāo)保存,這是為了在方塊向下移動的時 候在它的后面不會有虛假的方塊,因為方塊向下運(yùn)動,記錄的是新一行的方塊坐標(biāo),但舊一行的沒有消掉,所以要先舊方塊的坐標(biāo)保存起來,搽掉舊方塊再顯示方塊。也不會因為變形而方塊在游戲地圖中的變動很厲害,出現(xiàn)瞬移的現(xiàn)象?;c(diǎn)坐標(biāo)在加載方塊是加載,基點(diǎn)的存儲空間在加載每個方塊數(shù)組的最后定義。這就 好象方塊存在于一個三行三列大小的圖形中而夠成的一張圖片。每一種方塊都是由兩個一維數(shù)組 (x, y)表示的,其中一個用來保存方塊所在行,另一個數(shù)組用來保存方塊所在列,這樣有利于方塊在屏幕上準(zhǔn)確而有活動的定位。也把每行方塊數(shù)初始化,分?jǐn)?shù)初始化,打開游戲地圖清屏開關(guān),再調(diào)用裝載游戲方塊 begin()方法。有關(guān) xian()方法的使用,將在后面的顯示控制中提到。所以我另外定義了一個 制作圖形變量 (Graphics gg),這個變量只要被激活 (gg = getGraphics()),就可以擁有繪圖的所有功能。 Paint()方法還可在前面加 re,即 repaint(),該方法可以將整個屏幕清屏,再重新畫一個游戲界面。該方法中還設(shè)置了一把鎖,是游戲是否開始的鎖,如果還沒開始則會在黑色框中提示游戲開始的方法。 8 游戲流程圖 頂層圖 圖 1 按 S 鍵 關(guān) 開 1. 游戲開始 控制游戲開關(guān) 2. 鍵盤控制臺 循環(huán)運(yùn)行 程 序 運(yùn) 行 否 是 否 是 否 是 游戲開始 接受按鈕的控制信息 1. 檢查滿行 2. 刪除滿行 3. 重新裝載方塊 產(chǎn)生控制方塊下降的執(zhí)行信息 移動方塊 顯示方塊于屏幕中 ,檢查方塊在屏幕上是否有阻礙發(fā)生 方塊移動時是否有阻礙 方塊是否無法下移 游戲結(jié)束 9 圖 2 無效 有效 按鍵 保持不動 可動 檢查按鍵 檢查可移動性 10 第五章 詳細(xì)設(shè)計 總體設(shè)計 程序流程圖 序號 方法名 作用 1 Main() 定義窗口 2 Init() 創(chuàng)建變量 3 start() 打開線程 4 paint() 游戲界面初始化和游戲開始開關(guān) 5 run() 控制游戲速度 6 gameinit() 游戲變量初始化 7 begin() 裝載圖形 過關(guān) 游戲結(jié)束 重新游戲 下一個圖行 達(dá)到提定位置 達(dá)到提定位置 顯示屏幕信息 按向上鍵 游戲開始 否 按 s 鍵游戲開始 按鍵 () () () () () () () () () () () () Main() () 11 8 save() 保存上一個圖形的坐標(biāo) 9 xian() 屏幕顯示 10 reach() 處理到達(dá)后的圖形,進(jìn)行加分, 滿行判斷及消行處理等 11 keyDown() 控 制按鍵信息 12 change() 控制圖形變化 13 destroy() 游戲結(jié)束 屏幕信息初始化( paint()) 游戲開關(guān)控制圖(在 panint()內(nèi)實(shí)現(xiàn)) paint()方法 是繪制游戲地圖的方法,先指明是什么顏色,再定義顏色范圍,本游戲是先用紅色畫了一個大的實(shí)心矩形框,再在紅色中畫一個比紅色小一點(diǎn)的黑色實(shí)心矩形框,這樣黑色的框便會把原來紅色的部分遮掉,讓人看起來就是黑色的框周圍圍了一圈紅色。 注意事項 游戲在設(shè)計時除了將程序切割成多個對象外,在游戲的邏輯運(yùn)算上應(yīng)盡可能做到彈性化。 繪圖會因為顯示平的不同而有所不
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1