紙牌游戲課程設計報告書_第1頁
紙牌游戲課程設計報告書_第2頁
紙牌游戲課程設計報告書_第3頁
紙牌游戲課程設計報告書_第4頁
紙牌游戲課程設計報告書_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

wordword完美格式攀枝花學院課程設計題目:紙牌游戲的設計與實現(xiàn)院(系):年級專業(yè):姓名:學號:指導教師:二OO九年十二月十四日攀枝花學院教務處制攀枝花學院本科學生課程設計任務書題目紙牌游戲的設計與實現(xiàn)1、課程設計的目的培養(yǎng)學生用學到的書本知識解決實際問題的能力;培養(yǎng)實際工作所需要的動手能力;培養(yǎng)學生以科學理論和工程上能力的技術(shù),規(guī)范地開發(fā)大型、復雜、高質(zhì)量的應用軟件和系統(tǒng)軟件具有關鍵性作用;通過課程設計的實踐,學生可以在程序設計方法、上機操作等基本技能和科學作風方面受到比較系統(tǒng)和嚴格的訓練2、課程設計的內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)要求、工作要求等)任務:編號為1-52張牌,正面向上,從第2張開始,以2為基數(shù),是2的倍數(shù)的牌翻一次,直到最后一張牌;然后,從第3張開始,以3為基數(shù),是3的倍數(shù)的牌翻一次,直到最后一張牌;然后…從第4張開始,以4為基數(shù),是4的倍數(shù)的牌翻一次,直到最后一張牌;…再依次5的倍數(shù)的牌翻一次,6的,7的直到以52為基數(shù)的翻過,輸出:這時正面向上的牌有哪些?

3、主要參考文獻嚴蔚敏?《數(shù)據(jù)結(jié)構(gòu)C語言》?清華大學出版社譚浩強.《c語言程序設計》?清華大學出版社《數(shù)據(jù)結(jié)構(gòu)》?高教出版社李春保?《數(shù)據(jù)結(jié)構(gòu)習題》?清華大學出版社⑸嚴蔚敏?《數(shù)據(jù)結(jié)構(gòu)習題》?清華大學出版社4、課程設計工作進度計劃第1天完成方案設計與程序框圖第2、3天編寫程序代碼第4天程序調(diào)試分析和結(jié)果第5天課程設計報告和總結(jié)指導教師(簽字)日期年月日教研室意見:年月日學生(簽字):接受任務時間:年月日注:任務書由指導教師填寫。

課程設計(論文)指導教師成績評定表題目名稱紙牌游戲的設計與實現(xiàn)評分項目分值得分評價內(nèi)涵工作表現(xiàn)20%01學習態(tài)度6遵守各項紀律,工作刻苦努力,具有良好的科學工作態(tài)度。02科學實踐、調(diào)研7通過實驗、試驗、查閱文獻、深入生產(chǎn)實踐等渠道獲取與課程設計有關的材料。03課題工作量7按期圓滿完成規(guī)定的任務,工作量飽滿。能力水平35%04綜合運用知識的能力10能運用所學知識和技能去發(fā)現(xiàn)與解決實際問題,能正確處理實驗數(shù)據(jù),能對課題進行理論分析,得出有價值的結(jié)論。05應用文獻的能力5能獨立查閱相關文獻和從事其他調(diào)研;能提出并較好地論述課題的實施方案;有收集、加工各種信息及獲取新知識的能力。06設計(實驗)能力,方案的設計能力5能正確設計實驗方案,獨立進行裝置安裝、調(diào)試、操作等實驗工作,數(shù)據(jù)正確、可靠;研究思路清晰、完整。07計算及計算機應用能力5具有較強的數(shù)據(jù)運算與處理能力;能運用計算機進行資料搜集、加工、處理和輔助設計等。08對計算或?qū)嶒灲Y(jié)果的分析能力(綜合分析能力、技術(shù)經(jīng)濟分析能力)10具有較強的數(shù)據(jù)收集、分析、處理、綜合的能力。成果質(zhì)量45%09插圖(或圖紙)質(zhì)量、篇幅、設計(論文)規(guī)范化程度5符合本專業(yè)相關規(guī)范或規(guī)定要求;規(guī)范化符合本文件第五條要求。10設計說明書(論文)質(zhì)量30綜述簡練完整,有見解;立論正確,論述充分,結(jié)論嚴謹合理;實驗正確,分析處理科學。11創(chuàng)新10對前人工作有改進或突破,或有獨特見解。成績

指導教師評語指導教師簽名:年月曰摘要紙牌游戲是數(shù)據(jù)結(jié)構(gòu)大作業(yè)中比較經(jīng)典的一個大作業(yè),通過此課程設計能夠啟發(fā)我們的思維,對數(shù)據(jù)結(jié)構(gòu)中的函數(shù)有更加清楚的認識,建立我們對數(shù)據(jù)結(jié)構(gòu)的興趣,通過此課程設計設同時也能夠使我們對各方面的知識有了更加全面的認識與了解,豐富了我們的知識面,擴展了我們的思維。通過課程設計的實踐,我們可以在程序設計方法、上機操作等基本技能和科學作風方面受到比較系統(tǒng)和嚴格的訓練。當前計算機軟件技術(shù)和網(wǎng)絡技術(shù)正飛速發(fā)展,軟件系統(tǒng)日趨大型化、復雜化,軟件對于一個計算機系統(tǒng)是至關重要的。因此社會對軟件開發(fā)者提出了比以往更高的要求,相應的系統(tǒng)要求也有了很大的提高。本系統(tǒng)用C++作為程序語言,設計出的系統(tǒng)功能強大,操作方便靈活。關鍵詞紙牌游戲,數(shù)據(jù)結(jié)構(gòu),軟件,系統(tǒng)-I-目錄摘要I1需求分析………………………1需求來源……………………11.2設計目的……………………11.3設計要求……………………12功能需求描述…………………13總體設計………………………11設計思想…………………12系統(tǒng)模塊結(jié)構(gòu)……………23系統(tǒng)總設計流程圖………………………2概要設計………………………41抽象數(shù)據(jù)類型定義…………42本程序所包含模塊…………53系統(tǒng)功能的實現(xiàn)…………5模塊設計………………………6洗牌模塊………………6翻牌模塊…………6運行與分析……………………66.1運行結(jié)果……………………66.2結(jié)果分析……………………7致謝……………………8參考文獻………………………9源程序……………………10需求分析1.1需求來源在本系統(tǒng)的需求分析環(huán)節(jié)中,會對軟件開發(fā)的意圖、開發(fā)的目標、作用范圍和有關該軟件開的背景材料進行詳細的分析。紙牌游戲作為一個用來娛樂的應用軟件,在對其進行需求分析的過程中,需用要充分考慮系統(tǒng)的可用性和簡單易用性,聯(lián)系實際娛樂需要,從而得到合理的需求分析結(jié)論。1.2設計目的該軟件為用戶提供一個在Windows系統(tǒng)上運行的紙牌游戲小系統(tǒng)。應達到的目的是:編號為1-52張牌,正面向上,從第2張開始,以2為基數(shù),是2的倍數(shù)的牌翻一次,直到最后一張牌;然后,從第3張開始,以3為基數(shù),是3的倍數(shù)的牌翻一次,直到最后一張牌;然后…從第4張開始,以4為基數(shù),是4的倍數(shù)的牌翻一次,直到最后一張牌;...再依次5的倍數(shù)的牌翻一次,6的,7的直到以52為基數(shù)的翻過。1.3設計要求任意輸出一組牌,輸出最后正面向上的牌。功能需求描述紙牌游戲是一個用來娛樂的系統(tǒng)軟件,此軟件操作簡單,每個新手都可以直接使用,不需要登陸注冊,按游戲規(guī)則游戲即可。游戲使用者主要功能需求如下:系統(tǒng)洗牌后,猜測正面向上的牌,然后系統(tǒng)按設計的規(guī)則進行翻牌。洗牌后,使用者就可以看到自己猜得正面向上的牌是否與系統(tǒng)一樣了。若一樣,則勝利,否則失敗。游戲很簡單,使用者只要掌握好游戲規(guī)則就很容易取勝??傮w設計3.1設計思想在對紙牌游戲進行合理的需求分析之后,對整個系統(tǒng)進行總體設計。首先確定開發(fā)與設計的總體思想,在此基礎上,用圖表的方式給出系統(tǒng)總體的設計架構(gòu),繪制系統(tǒng)模型結(jié)構(gòu)圖,并且通過模塊功能圖對每個模塊進行總體設計。開發(fā)本設計的總體思想:紙牌游戲是一個簡易的游戲系統(tǒng)。開發(fā)設計的重點在于對紙牌的洗牌和翻牌按設計要求進行設計,不得出錯。紙牌小游戲是供大眾娛樂的小游戲,所以無需考慮安全問題。對于洗牌翻牌這兩環(huán)節(jié)要用到程序設計思想中的循環(huán)結(jié)構(gòu)。系統(tǒng)采用結(jié)構(gòu)化的設計方法進行設計,采用C語言進行開發(fā)。3.2系統(tǒng)模塊結(jié)構(gòu)依據(jù)需求分析結(jié)果,紙牌游戲總體上說就一個模塊:翻牌。詳細一點可分為2個模塊:洗牌模塊、翻牌模塊。其中翻牌模塊就是洗牌的最后一個步驟,即屏幕上顯示得最后幾張牌。也是用戶應該猜得最后結(jié)果。系統(tǒng)模塊結(jié)構(gòu)如下圖:翻牌模塊圖3-2-1?專業(yè)?專業(yè)?專注?3.3系統(tǒng)總設計流程圖i=l?N結(jié)束是否繼續(xù)k=ji=2j=2kv牌的張數(shù)?word完美格式牌的張數(shù)自詭牌的張數(shù)自減將第i'張牌設置為第j張牌的牌號將第i=l?N結(jié)束是否繼續(xù)k=ji=2j=2kv牌的張數(shù)?word完美格式牌的張數(shù)自詭牌的張數(shù)自減將第i'張牌設置為第j張牌的牌號將第i'張牌設置為正面朝上,i'++將第k+1張牌向前移動一位將每張牌的牌號設置為1~52開始第一輪游戲牌的張數(shù)自減1j=隨機數(shù)%52+1輸出牌號k++?專業(yè)?專業(yè)?專注?wordword完美格式圖3-3-14圖3-3-14概要設計4.1抽象數(shù)據(jù)類型定義⑴對紙牌進行按規(guī)則翻牌AllCards*RandArrange(){}voidTurn_Over(AllCards*C){}⑵查詢翻牌剩下的最后7張牌voidSearch(AllCards*C){}⑶主函數(shù)voidmain(){}根據(jù)設計要求,我們知道設計中所有用到的數(shù)據(jù)記錄有紙牌翻轉(zhuǎn)信息,因此要定義相關的數(shù)據(jù)類型:紙牌最大個數(shù)定義為CARDNUM52,翻轉(zhuǎn)狀態(tài)存儲在boolisup中,紙牌放在數(shù)組Cards[CARDNUM+1]中等。4.2本程序包含模塊⑴主程序模塊#defineCARDNUM52給數(shù)組定義一個空間typedefstruct{}Indexcode;紙牌的信息typedefstruct{}PreCard;翻轉(zhuǎn)紙牌typedefstruct{}AllCards;存儲紙牌的數(shù)組⑵洗牌模塊⑶紙牌翻轉(zhuǎn)模塊——翻轉(zhuǎn)紙牌各模塊關系如下:程序模塊:牌的洗牌模塊牌的翻轉(zhuǎn)模塊<Z\xU工]標記]圖4-2-14.3系統(tǒng)功能的實現(xiàn)要實現(xiàn)紙牌按此要求翻轉(zhuǎn),首先要將52張紙牌序號i為1到52,定義正面朝上的狀態(tài)Cards[i].isup為true;對52張牌(序號放在i里)對2,3???52(放在j里)按i+1是否是j的倍數(shù)進行狀態(tài)翻轉(zhuǎn)。如果對序號從1到52的牌,對翻轉(zhuǎn)處理后狀態(tài)仍然是正面的將其輸出,一直進行下去,直到以52的基礎翻過。5模塊設計5.1洗牌模塊該模塊案設計要求洗牌,是用戶進行游戲的前提。該模塊主要是按要求進行循環(huán)翻牌的過程,要求為:“從第2張開始,以2為基數(shù),是2的倍數(shù)的牌翻一次,直到最后一張牌;然后,從第3張開始,以3為基數(shù),是3的倍數(shù)的牌翻一次,直到最后一張牌;然后…從第4張開始,以4為基數(shù),是4的倍數(shù)的牌翻一次,直到最后一張牌;...再依次5的倍數(shù)的牌翻一次,6的,7的,直到以52為基數(shù)的翻過,輸出”。

5.2翻牌模塊翻牌模塊其實就是洗牌模塊得最后一個步驟。該模塊就是為了顯示出最后結(jié)果,讓用戶比較一下自己的結(jié)果和系統(tǒng)輸出得結(jié)果有什么不同。6運行與分析6.1運行結(jié)果6.2結(jié)果分析該游戲很簡單,只需按規(guī)則一步步地進行翻牌,然后將自己所猜的結(jié)果與屏幕上的結(jié)果對比,在每輪游戲結(jié)束后,都可繼續(xù)游戲。致謝通過這次設計,使我在數(shù)據(jù)結(jié)構(gòu)的邏輯特性和物理表示、數(shù)據(jù)結(jié)構(gòu)的選擇應用、算法的設計及其實現(xiàn)等方面加深了對課程基本內(nèi)容的理解。同時,在程序設計方法以及上機操作等基本技能和科學作風方面受到比較系統(tǒng)和嚴格的訓練。在此之前,我腦袋里面沒有數(shù)據(jù)結(jié)構(gòu)的思想,什么數(shù)據(jù)結(jié)構(gòu)對我而言就是一張空白的紙。當時就感覺自己什么都不會做,什么也不能做,但是真正接觸后并沒有想象的那么難,有什么不懂的上網(wǎng)去搜索,這是一個信息橫流的世界,有g(shù)oogle,baidu就沒有不能解決的知識難題。在網(wǎng)上搜索點有關的資料后,然后再利用自己在課堂上所學的知識,將所有內(nèi)容連接起來,所有問題就迎刃而解。課程設計是以學生自學為主、指導教師指導為輔,認真、獨立地完成課程設計的任務,有問題就要及時主動與指導教師溝通。在老師的悉心指導下和同學們的幫助下,使我順利地完成了此次課程設計。所以,要特別感謝指導老師和各位同學,我相信這短短五天的課程設計將會是我以后不管是工作還是學習不可多得的經(jīng)驗。參考文獻[1]嚴蔚敏.《數(shù)據(jù)結(jié)構(gòu)C語言》.清華大學出版社譚浩強.《c語言程序設計》?清華大學出版社《數(shù)據(jù)結(jié)構(gòu)》.高教出版社李春保.《數(shù)據(jù)結(jié)構(gòu)習題》.清華大學出版社嚴蔚敏.《數(shù)據(jù)結(jié)構(gòu)習題》.清華大學出版社⑹王立柱.《c語言與數(shù)據(jù)結(jié)構(gòu)》?清華大學出版社李春葆?《數(shù)據(jù)結(jié)構(gòu)(C語言篇)習題與解析》?清華大學出版社徐孝凱.《數(shù)據(jù)結(jié)構(gòu)簡明教程》,清華大學出版社陳文博,朱青.《數(shù)據(jù)結(jié)構(gòu)與算法》,機械工業(yè)出版社[10]晉良潁.《數(shù)據(jù)結(jié)構(gòu)》,人民郵電出版社[11]趙文靜,祁飛等.《數(shù)據(jù)結(jié)構(gòu)與算法》,科學出版社源程序:#defineCARDNUM52#include<stdio.h>#include<iomanip>#include<iostream>typedefstruct{int*elem;intlength;}Indexcode;typedefstruct{intcode;boolisup;}PreCard;

typedefstruct{PreCardCards[CARDNUM];}AllCards;AllCards*RandArrange();voidTurn_Over(AllCards*);voidSearch(AllCards*);voidmain(){system("color1a");AllCards*cards;inti=0;printf("printf("printf("printf("printf("inti=0;printf("printf("printf("printf("printf("printf("這是*****************************************\n");**\n");紙牌游戲*\n");*\n");*****************************************\n");個很easy的紙牌游戲,下面我們\n");while(1){if(!(i++))printf("開始第1輪游戲:\n");else{printf("\n和你猜的結(jié)果一樣嗎,不一樣的話,就再接再厲吧!");printf("繼續(xù)嗎?(Y/N)");scanf("%c",&c);if(c=='N'||c=='n'){printf("****************************結(jié)束***************************\n");printf("****************************結(jié)束***************************\n");return;}elseprintf("\n第%4輪游戲:\n",i);}printf("洗牌中......\n");cards=RandArrange();printf("\n按規(guī)則翻面中\(zhòng)n");Turn_Over(cards);Search(cards);}AllCards*RandArrange(){intj,k;AllCards*C=(AllCards*)malloc(sizeof(AllCards));intc[CA

溫馨提示

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

評論

0/150

提交評論