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

正文內(nèi)容

基于wpf的數(shù)獨(dú)游戲的開發(fā)畢業(yè)設(shè)計(jì)-預(yù)覽頁(yè)

 

【正文】 e 5上,但是不能用在瀏覽器內(nèi)。 WPF技術(shù)的開發(fā)優(yōu)勢(shì)使用WPF技術(shù)進(jìn)行開發(fā)有很多優(yōu)勢(shì),其優(yōu)勢(shì)如下:A. 充分使用現(xiàn)代的硬件——硬件在近十年改變了很多,但是想利用硬件要求專業(yè)化的編碼,可能需要使用DirectX或OpenGL。D. 簡(jiǎn)化編碼——有許多IDE對(duì)WPF的開發(fā)提供支持,比如Visual Studio和Expression Blend,這些工具將為程序員與設(shè)計(jì)人員節(jié)省更多的編碼時(shí)間。首先,根據(jù)橫列、豎列和宮格的限制條件排除各個(gè)數(shù)格不可能出現(xiàn)的數(shù)字,并從1-9將各個(gè)可能的候選數(shù)用小字體逐個(gè)寫進(jìn)每個(gè)空白的格子。基礎(chǔ)摒除法的提升方法是區(qū)塊摒除法,是直觀法中使用頻率最高的方法之一。3. 可行性分析與需求分析 系統(tǒng)軟件開發(fā)環(huán)境系統(tǒng)環(huán)境:Windows Vista或Windows 7以上版本或者Windows Framework 硬件環(huán)境:支持DirectX9/10的顯卡支持開發(fā)語(yǔ)言:C和XAMLIDE:Microsoft Visual Studio 200Expression Blend 系統(tǒng)任務(wù)的可行性分析 經(jīng)濟(jì)可行性本游戲使用面向?qū)ο缶幊趟枷朐O(shè)計(jì),易于編寫和維護(hù),總體開發(fā)成本低。AI算法方面,將建立解題器插件,可以提供多種算法來解決數(shù)獨(dú)謎題。.NET Framework 的垃圾回收機(jī)制,通過回收器管理應(yīng)用程序的內(nèi)存分配和釋放,從而使內(nèi)存得到優(yōu)化。游戲界面(UI)功能,向用戶顯示游戲的信息,包括數(shù)獨(dú)棋盤、計(jì)時(shí)器、游戲菜單等。B. 保存游戲:保存當(dāng)前游戲狀態(tài)。4. 系統(tǒng)設(shè)計(jì) 系統(tǒng)模塊劃分根據(jù)上一章的需求分析的結(jié)果采用模塊化程序設(shè)計(jì)法,將系統(tǒng)分為三大模塊:用戶功能模塊、用戶界面UI模塊和數(shù)據(jù)處理模塊。游戲內(nèi)核包括所有游戲信息,全部為類的成員數(shù)據(jù),而它的各個(gè)模塊則為類的方法(函數(shù))用于相應(yīng)用戶的按鍵事件。AI模塊由很多松散的方法組成,各個(gè)函數(shù)實(shí)現(xiàn)單一的功能,便于修改和移植。圖表 43數(shù)獨(dú)結(jié)構(gòu)圖通過觀察一個(gè)典型的99數(shù)獨(dú)如圖表 43數(shù)獨(dú)結(jié)構(gòu)圖,數(shù)獨(dú)是由33個(gè)宮格組成,而每個(gè)宮格又可以由33個(gè)數(shù)格組成,在此將其棋盤抽象為最小的數(shù)格。(2)宮格用Box類定義。 邏輯處理設(shè)計(jì)邏輯處理部分主要涉及到的是題目的生成方法,默認(rèn)的題目生成方式采用隨機(jī)生成的方法,速度較快,但生成的題目不一定有解。 Frazer Jarvis. There are 6670903752021072936960 Sudoku grids[EB/OL]. 。如果不要求對(duì)稱,給定的數(shù)字是17個(gè)就可以產(chǎn)生有解的數(shù)獨(dú)題目,通過使用17個(gè)已知數(shù),數(shù)學(xué)家Gordon Royle發(fā)現(xiàn)了35396這樣不同的難題[12] Gordon Royle. Minimum Sudoku[EB/OL].~gordon/.。如果沒有此數(shù)則賦值,否則跳出。這種方法將花費(fèi)比較長(zhǎng)的時(shí)間,主要取決于解題器算法的效率。但由于處理的數(shù)獨(dú)游戲數(shù)據(jù)量較小,同時(shí)現(xiàn)在計(jì)算機(jī)的高性能也減小了遞歸回溯對(duì)時(shí)間的影響。s nextgeneration graphics systems. Based on DirectX 9 / 10 technology, WPF has not only brought unprecedented 3D interface, and its vector graphics rendering engine is also greatly improved the traditional 2D interface. Through the WPF, .NET Framework provides a more plete and consistent solution for problems of user interface. With WPF, programmers will be more effective work to develop parable Mac program’s cool interface. This paper focuses on WPF technology, to develop a beautiful Windows games Sudoku. This paper describes the WPF technology and structural analysis of this program and the realization of specific functions. 【Key words】Sudoku。對(duì)于待填數(shù)格,則將所有可能的候選數(shù)填入。如此循環(huán)下去,就能最大限度地確定下題目本身含義與規(guī)則而確定下的內(nèi)容。(5)當(dāng)所有的猜測(cè)都嘗試之后如果沒有解,則返回false。在把所有候選數(shù)都猜測(cè)完后,調(diào)用驗(yàn)證方法Validate()進(jìn)行驗(yàn)證。 游戲棋盤設(shè)計(jì)位于中間的游戲棋盤是本游戲的重點(diǎn)。這樣就可以設(shè)置游戲規(guī)格,選擇不同數(shù)目的數(shù)格來實(shí)現(xiàn)生成。游戲主菜單中包含了新游戲按鈕、讀取游戲按鈕、保存游戲按鈕和退出按鈕。同時(shí)還有44的入門級(jí)規(guī)格和挑戰(zhàn)型的1616規(guī)格。同時(shí)這里也提供了數(shù)字的電子碼表,計(jì)算精度可達(dá)60分之1秒。ListBox下有一個(gè)AI對(duì)戰(zhàn)按鈕,按下之后,將在獨(dú)立線程解題,解題完成后會(huì)將結(jié)果以槽的形式顯示在其右邊。同時(shí)在指定時(shí)間內(nèi),如果玩家沒有把題目解完,也將彈出時(shí)間結(jié)束的對(duì)話框以告訴玩家。這些實(shí)現(xiàn)都需要使用具體的代碼來描述,將在第五章詳細(xì)描述。最后通過數(shù)據(jù)綁定和依賴屬性把后臺(tái)數(shù)據(jù)呈現(xiàn)在UI界面上。通過讓Cell類實(shí)現(xiàn)INotifyPropertyChanged接口,在更改屬性值時(shí)引發(fā)PropertyChanged事件,這樣只要數(shù)據(jù)有改變,即可告知監(jiān)視者,通過實(shí)現(xiàn)INotifyPropertyChanged接口從而實(shí)現(xiàn)了觀察者模式。}}}宮格Box類也實(shí)現(xiàn)了INotifyPropertyChanged接口,定義兩個(gè)動(dòng)態(tài)數(shù)據(jù)集合ObservableCollection的容器,用于獲取Cell的實(shí)例。return Rows[row][col]。在判斷玩合法性后,將棋盤的數(shù)格都置空。int col = (size)。givenFound = true。int r = (size)。 = null。 i = (0)。for (int r = 0。 c size。 c++){ if (board[r, c].Count 1) { foreach (int i in toRemove) { if (board[r, c].Remove(i)) changeMade = true。 r++){for (int c = 0。amp。}}}(4)在每一次可能的猜測(cè)過程中,解題器通過深拷貝DeepCopy并實(shí)現(xiàn)遞歸。}(5)當(dāng)所有的猜測(cè)都嘗試之后如果沒有解,則返回false。為此采用使用DockPanel,它可以用于沿布局容器的邊緣定位子內(nèi)容,這樣當(dāng)游戲窗口變大了,窗口中的面板布局也不會(huì)亂掉。游戲設(shè)置菜單如圖表 52游戲設(shè)置菜單:圖表 52游戲設(shè)置菜單游戲的生成方法,通過單選按鈕(RadioButton)來選擇,選項(xiàng)有快速生成和使用解題器的生成方法:RadioButton IsChecked =True x:Name =FastGenRadio快速生成(可能解)/RadioButtonRadioButton x:Name=SolverGenRadio使用解題器/RadioButton游戲的時(shí)間難度選擇,通過單選按鈕實(shí)現(xiàn)。然后在主游戲面板加入以下代碼,便可繪制棋盤。 圖表 53游戲棋盤與填充菜單當(dāng)玩家填充的數(shù)字是有沖突的,即所填數(shù)字的是IsVaild的值為false時(shí)候,顏色將變?yōu)榧t色。未啟用計(jì)時(shí)器則是通過禁用計(jì)時(shí)器面板。ListBox下有一個(gè)AI對(duì)戰(zhàn)按鈕,用于人機(jī)對(duì)戰(zhàn),按下之后,將在獨(dú)立線程解題,解題完成后會(huì)將結(jié)果以槽的形式顯示在其中間。程序的開始運(yùn)行時(shí)標(biāo)題的特效也是通過LinearDoubleKeyFram使用線性內(nèi)插,在前一個(gè)關(guān)鍵幀和自己的 Value 之間進(jìn)行動(dòng)畫處理來實(shí)現(xiàn)。使用解題器的方式由于耗時(shí)較多,因此定義了一個(gè)BackgroundWorker使得生成謎題時(shí)候算法在單獨(dú)的線程上執(zhí)行操作,主要代碼如下:ISudokuSolver sol = as ISudokuSolver。 += new RunWorkerCompletedEventHandler(delegate(object rwcsender, RunWorkerCompletedEventArgs rwce) {//當(dāng)后臺(tái)操作已完成時(shí) += new ChangedEventHandler(GameBoard_PropertyChanged)。IFormatter f = new BinaryFormatter()。當(dāng)選擇打開后,若讀取失敗后通過消息框提示。如果有選擇時(shí)間難度,則根據(jù)所選項(xiàng),進(jìn)行時(shí)間的相應(yīng)設(shè)置,將時(shí)間設(shè)置為不同的長(zhǎng)度。 解題器插件實(shí)現(xiàn)解題器里有一個(gè)ListBox列出了所有的解題器,用戶可以選擇相應(yīng)的解題器用于生成題目和解題。 在題目解出后,會(huì)將時(shí)間以狀態(tài)條的形式顯示出來,狀態(tài)條上繪制有相應(yīng)的時(shí)間,如圖表 57解題器繪制的狀態(tài)條:圖表 57解題器繪制的狀態(tài)條6. 測(cè)試打包的過程 打包在使用Visual Studio完成代碼的編碼與調(diào)試后,生成 WPF應(yīng)用程序后,需要部署它們,在此采用Windows Installer 進(jìn)行部署。在“文件系統(tǒng)”的“目標(biāo)計(jì)算機(jī)上的文件系統(tǒng)”節(jié)點(diǎn)下選中“應(yīng)用程序文件夾”,添加一個(gè)名為“Sudoku”的文件夾。在“Sudoku”文件夾下選擇要添加的內(nèi)容文件,單擊“打開”按鈕即可將選中的內(nèi)容文件添加到安裝項(xiàng)目中,這里需要添加的是解題器Solvers的文件夾和自制的題庫(kù)。圖表 62 SudokuSetup軟件包由于測(cè)試在編碼調(diào)試過程中已經(jīng)基本完成,所以本階段的測(cè)試是在程序打包后,將游戲分發(fā)給不同玩家使用,以期望發(fā)現(xiàn)BUG。不過可能出現(xiàn)“死遞歸”,即一直遞歸下去。在后期,將考慮數(shù)獨(dú)問題轉(zhuǎn)換為精確覆蓋的問題,采用Knuth的Dancing Links算法進(jìn)行求解。WPF所用到的動(dòng)畫是使用了基于幀的動(dòng)畫技術(shù)。//設(shè)置每秒傳輸幀數(shù)5幀 未完善的功能到目前為止,這已經(jīng)是一個(gè)功能較為完善的數(shù)獨(dú)游戲了。使游戲具有背景音樂和聲音效果。目前本游戲還是單機(jī)版游戲,后期可在原有XAML和C代碼的基礎(chǔ)上移植到瀏覽器中,即開發(fā)出Silver Light版本是更多玩家能夠跨平臺(tái)享受本游戲的樂趣。與此同時(shí),不可避免的又要考慮到系統(tǒng)安全問題、線程等概念。在設(shè)計(jì)初期,需要翻譯查看許多國(guó)外的電子書籍和開發(fā)人員的博客。參考文獻(xiàn)
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1