紙牌游戲課程設(shè)計(jì)報(bào)告書_第1頁
紙牌游戲課程設(shè)計(jì)報(bào)告書_第2頁
紙牌游戲課程設(shè)計(jì)報(bào)告書_第3頁
紙牌游戲課程設(shè)計(jì)報(bào)告書_第4頁
紙牌游戲課程設(shè)計(jì)報(bào)告書_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

指導(dǎo)教師評(píng)語指導(dǎo)教師簽名:年月曰摘要紙牌游戲是數(shù)據(jù)結(jié)構(gòu)大作業(yè)中比較經(jīng)典的一個(gè)大作業(yè),通過此課程設(shè)計(jì)能夠啟發(fā)我們的思維,對(duì)數(shù)據(jù)結(jié)構(gòu)中的函數(shù)有更加清楚的認(rèn)識(shí),建立我們對(duì)數(shù)據(jù)結(jié)構(gòu)的興趣,通過此課程設(shè)計(jì)設(shè)同時(shí)也能夠使我們對(duì)各方面的知識(shí)有了更加全面的認(rèn)識(shí)與了解,豐富了我們的知識(shí)面,擴(kuò)展了我們的思維。通過課程設(shè)計(jì)的實(shí)踐,我們可以在程序設(shè)計(jì)方法、上機(jī)操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)和嚴(yán)格的訓(xùn)練。當(dāng)前計(jì)算機(jī)軟件技術(shù)和網(wǎng)絡(luò)技術(shù)正飛速發(fā)展,軟件系統(tǒng)日趨大型化、復(fù)雜化,軟件對(duì)于一個(gè)計(jì)算機(jī)系統(tǒng)是至關(guān)重要的。因此社會(huì)對(duì)軟件開發(fā)者提出了比以往更高的要求,相應(yīng)的系統(tǒng)要求也有了很大的提高。本系統(tǒng)用C++作為程序語言,設(shè)計(jì)出的系統(tǒng)功能強(qiáng)大,操作方便靈活。關(guān)鍵詞紙牌游戲,數(shù)據(jù)結(jié)構(gòu),軟件,系統(tǒng)-I-目錄摘要I1需求分析………………………1需求來源……………………11.2設(shè)計(jì)目的……………………11.3設(shè)計(jì)要求……………………12功能需求描述…………………13總體設(shè)計(jì)………………………11設(shè)計(jì)思想…………………12系統(tǒng)模塊結(jié)構(gòu)……………23系統(tǒng)總設(shè)計(jì)流程圖………………………2概要設(shè)計(jì)………………………41抽象數(shù)據(jù)類型定義…………42本程序所包含模塊…………53系統(tǒng)功能的實(shí)現(xiàn)…………5模塊設(shè)計(jì)………………………6洗牌模塊………………6翻牌模塊…………6運(yùn)行與分析……………………66.1運(yùn)行結(jié)果……………………66.2結(jié)果分析……………………7致謝……………………8參考文獻(xiàn)………………………9源程序……………………10需求分析1.1需求來源在本系統(tǒng)的需求分析環(huán)節(jié)中,會(huì)對(duì)軟件開發(fā)的意圖、開發(fā)的目標(biāo)、作用范圍和有關(guān)該軟件開的背景材料進(jìn)行詳細(xì)的分析。紙牌游戲作為一個(gè)用來娛樂的應(yīng)用軟件,在對(duì)其進(jìn)行需求分析的過程中,需用要充分考慮系統(tǒng)的可用性和簡(jiǎn)單易用性,聯(lián)系實(shí)際娛樂需要,從而得到合理的需求分析結(jié)論。1.2設(shè)計(jì)目的該軟件為用戶提供一個(gè)在Windows系統(tǒng)上運(yùn)行的紙牌游戲小系統(tǒng)。應(yīng)達(dá)到的目的是:編號(hào)為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設(shè)計(jì)要求任意輸出一組牌,輸出最后正面向上的牌。功能需求描述紙牌游戲是一個(gè)用來娛樂的系統(tǒng)軟件,此軟件操作簡(jiǎn)單,每個(gè)新手都可以直接使用,不需要登陸注冊(cè),按游戲規(guī)則游戲即可。游戲使用者主要功能需求如下:系統(tǒng)洗牌后,猜測(cè)正面向上的牌,然后系統(tǒng)按設(shè)計(jì)的規(guī)則進(jìn)行翻牌。洗牌后,使用者就可以看到自己猜得正面向上的牌是否與系統(tǒng)一樣了。若一樣,則勝利,否則失敗。游戲很簡(jiǎn)單,使用者只要掌握好游戲規(guī)則就很容易取勝??傮w設(shè)計(jì)3.1設(shè)計(jì)思想在對(duì)紙牌游戲進(jìn)行合理的需求分析之后,對(duì)整個(gè)系統(tǒng)進(jìn)行總體設(shè)計(jì)。首先確定開發(fā)與設(shè)計(jì)的總體思想,在此基礎(chǔ)上,用圖表的方式給出系統(tǒng)總體的設(shè)計(jì)架構(gòu),繪制系統(tǒng)模型結(jié)構(gòu)圖,并且通過模塊功能圖對(duì)每個(gè)模塊進(jìn)行總體設(shè)計(jì)。開發(fā)本設(shè)計(jì)的總體思想:紙牌游戲是一個(gè)簡(jiǎn)易的游戲系統(tǒng)。開發(fā)設(shè)計(jì)的重點(diǎn)在于對(duì)紙牌的洗牌和翻牌按設(shè)計(jì)要求進(jìn)行設(shè)計(jì),不得出錯(cuò)。紙牌小游戲是供大眾娛樂的小游戲,所以無需考慮安全問題。對(duì)于洗牌翻牌這兩環(huán)節(jié)要用到程序設(shè)計(jì)思想中的循環(huán)結(jié)構(gòu)。系統(tǒng)采用結(jié)構(gòu)化的設(shè)計(jì)方法進(jìn)行設(shè)計(jì),采用C語言進(jìn)行開發(fā)。3.2系統(tǒng)模塊結(jié)構(gòu)依據(jù)需求分析結(jié)果,紙牌游戲總體上說就一個(gè)模塊:翻牌。詳細(xì)一點(diǎn)可分為2個(gè)模塊:洗牌模塊、翻牌模塊。其中翻牌模塊就是洗牌的最后一個(gè)步驟,即屏幕上顯示得最后幾張牌。也是用戶應(yīng)該猜得最后結(jié)果。系統(tǒng)模塊結(jié)構(gòu)如下圖:翻牌模塊圖3-2-1?專業(yè)?專業(yè)?專注?3.3系統(tǒng)總設(shè)計(jì)流程圖i=l?N結(jié)束是否繼續(xù)k=ji=2j=2kv牌的張數(shù)?word完美格式牌的張數(shù)自詭牌的張數(shù)自減將第i'張牌設(shè)置為第j張牌的牌號(hào)將第i=l?N結(jié)束是否繼續(xù)k=ji=2j=2kv牌的張數(shù)?word完美格式牌的張數(shù)自詭牌的張數(shù)自減將第i'張牌設(shè)置為第j張牌的牌號(hào)將第i'張牌設(shè)置為正面朝上,i'++將第k+1張牌向前移動(dòng)一位將每張牌的牌號(hào)設(shè)置為1~52開始第一輪游戲牌的張數(shù)自減1j=隨機(jī)數(shù)%52+1輸出牌號(hào)k++?專業(yè)?專業(yè)?專注?wordword完美格式圖3-3-14圖3-3-14概要設(shè)計(jì)4.1抽象數(shù)據(jù)類型定義⑴對(duì)紙牌進(jìn)行按規(guī)則翻牌AllCards*RandArrange(){}voidTurn_Over(AllCards*C){}⑵查詢翻牌剩下的最后7張牌voidSearch(AllCards*C){}⑶主函數(shù)voidmain(){}根據(jù)設(shè)計(jì)要求,我們知道設(shè)計(jì)中所有用到的數(shù)據(jù)記錄有紙牌翻轉(zhuǎn)信息,因此要定義相關(guān)的數(shù)據(jù)類型:紙牌最大個(gè)數(shù)定義為CARDNUM52,翻轉(zhuǎn)狀態(tài)存儲(chǔ)在boolisup中,紙牌放在數(shù)組Cards[CARDNUM+1]中等。4.2本程序包含模塊⑴主程序模塊#defineCARDNUM52給數(shù)組定義一個(gè)空間typedefstruct{}Indexcode;紙牌的信息typedefstruct{}PreCard;翻轉(zhuǎn)紙牌typedefstruct{}AllCards;存儲(chǔ)紙牌的數(shù)組⑵洗牌模塊⑶紙牌翻轉(zhuǎn)模塊——翻轉(zhuǎn)紙牌各模塊關(guān)系如下:程序模塊:牌的洗牌模塊牌的翻轉(zhuǎn)模塊<Z\xU工]標(biāo)記]圖4-2-14.3系統(tǒng)功能的實(shí)現(xiàn)要實(shí)現(xiàn)紙牌按此要求翻轉(zhuǎn),首先要將52張紙牌序號(hào)i為1到52,定義正面朝上的狀態(tài)Cards[i].isup為true;對(duì)52張牌(序號(hào)放在i里)對(duì)2,3???52(放在j里)按i+1是否是j的倍數(shù)進(jìn)行狀態(tài)翻轉(zhuǎn)。如果對(duì)序號(hào)從1到52的牌,對(duì)翻轉(zhuǎn)處理后狀態(tài)仍然是正面的將其輸出,一直進(jìn)行下去,直到以52的基礎(chǔ)翻過。5模塊設(shè)計(jì)5.1洗牌模塊該模塊案設(shè)計(jì)要求洗牌,是用戶進(jìn)行游戲的前提。該模塊主要是按要求進(jìn)行循環(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翻牌模塊翻牌模塊其實(shí)就是洗牌模塊得最后一個(gè)步驟。該模塊就是為了顯示出最后結(jié)果,讓用戶比較一下自己的結(jié)果和系統(tǒng)輸出得結(jié)果有什么不同。6運(yùn)行與分析6.1運(yùn)行結(jié)果6.2結(jié)果分析該游戲很簡(jiǎn)單,只需按規(guī)則一步步地進(jìn)行翻牌,然后將自己所猜的結(jié)果與屏幕上的結(jié)果對(duì)比,在每輪游戲結(jié)束后,都可繼續(xù)游戲。致謝通過這次設(shè)計(jì),使我在數(shù)據(jù)結(jié)構(gòu)的邏輯特性和物理表示、數(shù)據(jù)結(jié)構(gòu)的選擇應(yīng)用、算法的設(shè)計(jì)及其實(shí)現(xiàn)等方面加深了對(duì)課程基本內(nèi)容的理解。同時(shí),在程序設(shè)計(jì)方法以及上機(jī)操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)和嚴(yán)格的訓(xùn)練。在此之前,我腦袋里面沒有數(shù)據(jù)結(jié)構(gòu)的思想,什么數(shù)據(jù)結(jié)構(gòu)對(duì)我而言就是一張空白的紙。當(dāng)時(shí)就感覺自己什么都不會(huì)做,什么也不能做,但是真正接觸后并沒有想象的那么難,有什么不懂的上網(wǎng)去搜索,這是一個(gè)信息橫流的世界,有g(shù)oogle,baidu就沒有不能解決的知識(shí)難題。在網(wǎng)上搜索點(diǎn)有關(guān)的資料后,然后再利用自己在課堂上所學(xué)的知識(shí),將所有內(nèi)容連接起來,所有問題就迎刃而解。課程設(shè)計(jì)是以學(xué)生自學(xué)為主、指導(dǎo)教師指導(dǎo)為輔,認(rèn)真、獨(dú)立地完成課程設(shè)計(jì)的任務(wù),有問題就要及時(shí)主動(dòng)與指導(dǎo)教師溝通。在老師的悉心指導(dǎo)下和同學(xué)們的幫助下,使我順利地完成了此次課程設(shè)計(jì)。所以,要特別感謝指導(dǎo)老師和各位同學(xué),我相信這短短五天的課程設(shè)計(jì)將會(huì)是我以后不管是工作還是學(xué)習(xí)不可多得的經(jīng)驗(yàn)。參考文獻(xiàn)[1]嚴(yán)蔚敏.《數(shù)據(jù)結(jié)構(gòu)C語言》.清華大學(xué)出版社譚浩強(qiáng).《c語言程序設(shè)計(jì)》?清華大學(xué)出版社《數(shù)據(jù)結(jié)構(gòu)》.高教出版社李春保.《數(shù)據(jù)結(jié)構(gòu)習(xí)題》.清華大學(xué)出版社嚴(yán)蔚敏.《數(shù)據(jù)結(jié)構(gòu)習(xí)題》.清華大學(xué)出版社⑹王立柱.《c語言與數(shù)據(jù)結(jié)構(gòu)》?清華大學(xué)出版社李春葆?《數(shù)據(jù)結(jié)構(gòu)(C語言篇)習(xí)題與解析》?清華大學(xué)出版社徐孝凱.《數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)明教程》,清華大學(xué)出版社陳文博,朱青.《數(shù)據(jù)結(jié)構(gòu)與算法》,機(jī)械工業(yè)出版社[10]晉良潁.《數(shù)據(jù)結(jié)構(gòu)》,人民郵電出版社[11]趙文靜,祁飛等.《數(shù)據(jù)結(jié)構(gòu)與算法》,科學(xué)出版社源程序:#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");個(gè)很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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論