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

正文內(nèi)容

基于wpf的數(shù)獨游戲的開發(fā)畢業(yè)設(shè)計(編輯修改稿)

2025-07-16 12:43 本頁面
 

【文章內(nèi)容簡介】 使遞歸算法時間縮短,這個處理可以稱為“有限遞推”[13] 雷蕾,沈富可. 關(guān)于數(shù)獨問題的算法的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù):481482.[14] Victor Gaudioso. Foundation Expression Blend 2 Building Applications in WPF and Silverlight[M]. and friends of ED,2008.[15] Lucas [EB/OL] Development of the Sudoku Game Based on WPFMathematics and Computer Science Department Major: Computer Science and Technology118532006068  Cai Chunsheng Instructor:Lin Weiwei【Abstract】Sudoku , the name suggests each number can only appear once. Players must fill an nn matrix, which contains some given entries, so that each row, columns, and the boxes contains each interger 1 through n exactly once. This game is fully challenge player’s observation and logic ability. Although games are played simple, the figure is everchanging arrangement. Therefore, many educators think that Sudoku is a great way to train the brain. Therefore, some scientists and researchers have suggested that the number of independent games as a part of daily activities. The game will be developed under .NET Framework . The main technology is WPF (Windows Presentation Foundation), which is Microsoft39。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。 WPF。 C 。 XAML,算法的大致流程圖如圖表 44數(shù)獨遞歸算法流程圖:圖表 44數(shù)獨遞歸算法流程圖算法主要如下:(1)建立一個數(shù)獨棋盤結(jié)構(gòu)的候選數(shù)列表里面包含了每個數(shù)格的候選數(shù),對于已經(jīng)有已知數(shù)的,列表里就只有一個已知數(shù)。對于待填數(shù)格,則將所有可能的候選數(shù)填入。(2)然后,“有限遞推”預(yù)處理算法查詢候選數(shù)列表每一行、列和宮格查找已知數(shù)和候選數(shù)有沖突的項,并將其從列表移走。執(zhí)行一次就可能確定下一些原來沒有確定的數(shù)字,那么此時,原始的候選數(shù)列表的值必然改變。再在次執(zhí)行此過程修訂列表,而修訂之后若還有數(shù)據(jù)改變,那么就在執(zhí)行此過程了,直到候選數(shù)列表的值不再變化。如此循環(huán)下去,就能最大限度地確定下題目本身含義與規(guī)則而確定下的內(nèi)容。(3)接著,解題器查找包含有最少候選數(shù)的列表,并隨機選取一個數(shù)作為正確的數(shù)進行猜想。(4)在每一次可能的猜測過程中,解題器通過深拷貝并實現(xiàn)遞歸回到步驟(2)。通過這種方式,若當(dāng)前情況無解的時候回溯,直到所有的候選數(shù)列表有唯一候選數(shù)。(5)當(dāng)所有的猜測都嘗試之后如果沒有解,則返回false。相反,如果棋盤都被填滿之后,并且驗證通過,則表示數(shù)獨謎題有解。圖表 45解題器類的UML圖解題器的類如圖表 45解題器類的UML圖,該解題器類中包含了解題算法的入口點方法Solve(),外部可直接調(diào)用此公共方法進行解題。Solve()方法中則調(diào)用解題器類私有的遞歸解題方法RecursiveSolve(),在每次遞歸解題方法調(diào)用自己前,需要使用深度拷貝方法DeepCopy()將當(dāng)前對象的所有字段進行執(zhí)行逐位復(fù)制使其支持遞歸回溯。在把所有候選數(shù)都猜測完后,調(diào)用驗證方法Validate()進行驗證。 UI界面設(shè)計游戲的用戶交互界面主要在一個窗口中呈現(xiàn),方便用戶操作。標題游戲菜單游戲棋盤計時器解題器插件圖表 46游戲界面布局如圖表 46游戲界面布局頂端顯示標題,左邊是游戲菜單,右邊是游戲計時信息,底部是解題器插件,中間是游戲棋盤。當(dāng)然,這些面板都應(yīng)該與分辨率無關(guān),以適應(yīng)不同用戶的顯示器。 游戲棋盤設(shè)計位于中間的游戲棋盤是本游戲的重點。游戲棋盤默認繪制的是99的標準棋盤,同時還提供了44和166規(guī)格的棋盤。棋盤主要通過自定義控件SudokuBoard來實現(xiàn)。SudokuBoard是通過一系列的嵌套的ItemsControl控件來繪制展現(xiàn)棋盤。這樣就可以設(shè)置游戲規(guī)格,選擇不同數(shù)目的數(shù)格來實現(xiàn)生成。除了生成指定大小的棋盤,它至少應(yīng)該具備以功能:(1)迷局生成時候,棋盤的已知數(shù)是只讀的,亦不可以填入數(shù)字的;(2)在空白的數(shù)格上應(yīng)該可以填入數(shù)字。(3)驗證填入數(shù)字合法性,可以根據(jù)當(dāng)前所填數(shù)字的合法性將文字設(shè)為不同的顏色,如果填入的數(shù)字有沖突,則將有沖突的數(shù)字顏色設(shè)為紅色。 游戲菜單設(shè)計游戲菜單放在主窗口的左邊,其中包括了游戲主菜單和游戲室設(shè)置,它們都被放置在Expander控件內(nèi),類似于Windows操作系統(tǒng)中窗口左邊的任務(wù)欄,可以展開和收縮。游戲主菜單中包含了新游戲按鈕、讀取游戲按鈕、保存游戲按鈕和退出按鈕。游戲設(shè)置菜單中則包含了游戲隨機生成方法,通過單選按鈕玩家可以選擇游戲的生成方式,一種是快速生成游戲,一種是使用解題器的,后者可以保證生成的數(shù)獨謎語有答案,不過生成速度慢。下面是時間難度設(shè)置,玩家可以通過單選按鈕選擇不計時的方式或簡單、中等和困難的時間難度。再來是,游戲規(guī)格菜單通過下拉框?qū)崿F(xiàn),默認選項是99的標準游戲規(guī)格。同時還有44的入門級規(guī)格和挑戰(zhàn)型的1616規(guī)格。 計時器設(shè)計右邊面板放置的計時器,以一個時鐘的方式實現(xiàn)。在玩家選擇有時間難度的游戲后,計時器將在新游戲開始時候自動倒計時。游戲過程中,當(dāng)被再次點擊之后顏色變暗可以暫停時間,當(dāng)再次點擊時可以恢復(fù)倒計時。同時這里也提供了數(shù)字的電子碼表,計算精度可達60分之1秒。 解題器插件設(shè)計解題器位于主窗口的底部,它也是被放置于Expander控件內(nèi),默認情況下是收縮的。在其里面,左部是一個ListBox列出了所有的解題器,用戶可以選擇相應(yīng)的解題器用于生成題目和解題。當(dāng)選擇了相應(yīng)的解題器后,將在右邊出現(xiàn)解題器的相關(guān)信息。ListBox下有一個AI對戰(zhàn)按鈕,按下之后,將在獨立線程解題,解題完成后會將結(jié)果以槽的形式顯示在其右邊。由于是采用獨立線程解題,所以在解題期間,玩家還可以繼續(xù)做題。 其他界面設(shè)計由于生成題目可能需要較長時間,因此設(shè)計了一個友好的對話框,當(dāng)選擇新游戲時候,將在生成游戲期間,彈出一個對話框提示玩家。在游戲填充完成并且正確的情況下,將會彈出對話框,以告訴玩家填充正確。同時在指定時間內(nèi),如果玩家沒有把題目解完,也將彈出時間結(jié)束的對話框以告訴玩家。為了不使游戲界面單調(diào),采用動畫的效果讓游戲的背景脈動起來,擁有類似水波蕩漾的效果。 用戶功能實現(xiàn)用戶功能模塊是用戶可以直接使用的模塊,主要通過鼠標進行點擊按鈕,調(diào)用相應(yīng)的事件來處理,這些功能的實現(xiàn)相對簡單。復(fù)雜一些的如讀取游戲、保存游戲功能,需要使用系統(tǒng)的文件服務(wù)來實現(xiàn)。這些實現(xiàn)都需要使用具體的代碼來描述,將在第五章詳細描述。5. 系統(tǒng)實現(xiàn)系統(tǒng)的實現(xiàn)主要是通過使用集成開發(fā)工具Visual Studio 2008進行編碼,結(jié)合Expression Blend進行用戶界面的設(shè)計。編碼工作主要包括了一些游戲的數(shù)據(jù)結(jié)構(gòu)的編寫、游戲的解題器算法的編寫,還有用戶功能的編寫。通過XAML語言實現(xiàn)了游戲的UI界面。最后通過數(shù)據(jù)綁定和依賴屬性把后臺數(shù)據(jù)呈現(xiàn)在UI界面上。 數(shù)獨的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)數(shù)獨棋盤的數(shù)據(jù)都存放Cell類中,而Box類的成員GridRows是一個動態(tài)集合里面放的是Cell,Board類的成員GridRows則放置Box。Cell類的實現(xiàn),為了能讓其數(shù)據(jù)成員實現(xiàn)與UI的數(shù)據(jù)綁定,在此聲明屬性以提供公共數(shù)據(jù)成員便利。通過使用 set訪問器為數(shù)據(jù)成員賦值,使用get訪問器檢索數(shù)據(jù)成員的值。通過讓Cell類實現(xiàn)INotifyPropertyChanged接口,在更改屬性值時引發(fā)PropertyChanged事件,這樣只要數(shù)據(jù)有改變,即可告知監(jiān)視者,通過實現(xiàn)INotifyPropertyChanged接口從而實現(xiàn)了觀察者模式。下面是以屬性Value為例:public int? Value{get { return valueValue。 }set { if (valueValue != value){valueValue = value。if (PropertyChanged != null)PropertyChanged(this, new PropertyChangedEventArgs(Value))。}}}宮格Box類也實現(xiàn)了INotifyPropertyChanged接口,定義兩個動
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1