




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘摘 要要 C 語言是一種面向?qū)ο蟮恼Z言,盡管在當(dāng)前,可視化語言發(fā)展迅速,普及很 快,但 c 語言作為一種基礎(chǔ)的語言,它的優(yōu)勢依然存在,甚至有時(shí)它是不可替代 的,特別是和硬件接口技術(shù)相聯(lián)系的軟件。五子棋游戲是一種簡單的大眾的游戲, 也是一款棋類益智游戲程序,自計(jì)算機(jī)實(shí)現(xiàn)以來,深受廣大電腦玩家的喜愛。本 程序可以實(shí)現(xiàn)人人對戰(zhàn),操作采用鍵盤上的相關(guān)鍵控制棋子的上下左右移動(dòng),由 特定鍵控制下棋。游戲開始后,黑、白雙方輪流下棋,程序會(huì)根據(jù)雙方下棋的先 后順序自動(dòng)顯示不同顏色的棋子,提示當(dāng)前下棋的棋手,任何一方由五子連成一 線時(shí),游戲結(jié)束,結(jié)束時(shí)會(huì)顯示對戰(zhàn)雙方勝負(fù)情況。 關(guān)鍵詞關(guān)鍵詞:面向?qū)ο笳Z言;c
2、語言;五子棋游戲 Abstract Is an object-oriented language, C language, though in the current rapid development of the visual language, spread quickly, but the C language as a foundation of language, its advantages still exists, even sometimes it is irreplaceable, especially associated with software and hardw
3、are interface technology. Gobang game is a simple game, is also a puzzle games like chess program, since the computer implementation, was deeply loved by vast computer player. Against, this procedure can realize everyone operate using the keyboard on the pieces of the up and down or so key control m
4、ovement, controlled by the specific key to play chess. At the start of the game, black and white both sides take turns to play chess, the program will automatically according to the order of play chess both sides show pieces of different colors and prompts the chess player, either by abital connect
5、a line, the game ends, the end will show case against the two sides. Key words: Object-oriented language; c language; Gobang game 目目 錄錄 1 概述.1 1.1 開發(fā)背景.1 1.2 課題意義.2 1.3 人工智能介紹.3 1.4 設(shè)計(jì)目的 .4 2 總體設(shè)計(jì).5 2.1 需求分析 .5 2.1.1 游戲需求.5 2.1.2 功能模塊.5 3 詳細(xì)設(shè)計(jì).7 3.1 各函數(shù)的說明.7 3.1.1 main()主函數(shù).7 3.1.2 void drawqipan()畫
6、棋盤.7 3.1.3 void judgewin()判斷輸贏.8 3.1.4 void luozi()下棋子.8 3.2 函數(shù)調(diào)用圖.9 3.3 各函數(shù)功能圖 .10 4 調(diào)試分析.14 4.1 調(diào)試目的.14 4.2 調(diào)試與測試結(jié)果.15 4.2.1 初始效果.15 4.2.2 游戲界面.16 4.2.3 可以中途退出.17 5 結(jié)論.18 參考文獻(xiàn).19 致 謝.20 附錄.21 1 1 概述概述 1.11.1 開發(fā)背景開發(fā)背景 隨著計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)的飛速發(fā)展,游戲軟件是當(dāng)今世界發(fā)展最迅速,最 有影響力,最有潛力與活力的領(lǐng)域之一電腦游戲的出現(xiàn)為人們提供了新的娛樂平 臺(tái),豐富了人們的業(yè)余生
7、活。因此與游戲有關(guān)的軟件深受廣大青少年的喜愛。隨 著近幾年來軟件技術(shù)的不斷進(jìn)步、不斷發(fā)展,軟件游戲的操作要求越來越簡單, 大多數(shù)游戲普通人學(xué)幾分鐘就能會(huì)玩,甚至連老年人也慢慢愛上了它。 第二次世界大戰(zhàn)以后,電子計(jì)算機(jī)技術(shù)得到了突飛猛進(jìn)的發(fā)展在眾多國家中 美國的計(jì)算機(jī)技術(shù)發(fā)展最為迅速。1946 年 2 月,世界上第一臺(tái)電子數(shù)字計(jì)算機(jī) (ENIAC)在美國賓夕法尼亞大學(xué)建造完成。ENIAC 機(jī)的問世,表明了電子數(shù)字計(jì)算 機(jī)時(shí)代的到來,具有劃時(shí)代的偉大意義,是科學(xué)技術(shù)發(fā)展史上的重大里程碑。我 國也不落后,在 1956 年研制成功國產(chǎn)計(jì)算機(jī)的。1958 年和 1959 年我國先后自主 研制成功國產(chǎn)小型
8、和大型電子管計(jì)算機(jī)。后來出現(xiàn)了集成電路和大規(guī)模集成電路,使 電子子計(jì)算機(jī)一代一代實(shí)現(xiàn)更新,性能越來越高,計(jì)算速度越來越快,硬件方面 的不斷發(fā)展促使了軟件技術(shù)也迅速發(fā)展。在美國,集中了許多計(jì)算機(jī)軟件的設(shè)計(jì) 人才,他們工作之余,時(shí)常喜愛編一種能與人斗智的“游戲”,以此來鍛煉編程的 能力這種“游戲”花樣繁多,但其特點(diǎn)都是利用計(jì)算機(jī)軟件事先設(shè)計(jì)好的“分析” “判斷”能力反過來與人較量由于不斷修改更新,使計(jì)算機(jī)的“智力”水平與 人難分高低到了 90 年代,游戲軟件已經(jīng)為世界各國的人使用,所謂游戲軟件通 常是指用各種程序和動(dòng)畫效果相結(jié)合起來的軟件產(chǎn)品,我們稱之為游戲軟件。 目前,在網(wǎng)絡(luò)上我們經(jīng)??吹降拇笮?/p>
9、 3D 網(wǎng)絡(luò)游戲和 WEBGAME 網(wǎng)頁游戲等都是通 過用3DMAX、MAYA、FLASH、等動(dòng)畫軟件和 JAVA、C+、VB、等程序語言相結(jié)合而 開發(fā)出來的,所以叫游戲軟件。其中 BLACKISLAND 和 Blizzard.這兩個(gè)強(qiáng)大的游 戲制作組對游戲軟件的發(fā)展起到了巨大的帶動(dòng)作用,還有中國的洛河工作室在國 內(nèi)也起到了巨大作用,他們讓很多很多人喜歡上了游戲軟件,打開了這個(gè)市場。 如今游戲軟件產(chǎn)業(yè)已經(jīng)受到了廣泛的關(guān)注,它年輕有潛力而且吸引人,讓人們?nèi)?益豐富的生活需求得以滿足。 而五子棋游戲的誕生更是吸引著不同年齡段的人群,無論男女老少都可以玩, 都喜歡玩,而當(dāng)前微型計(jì)算機(jī)已經(jīng)是在廣大人群
10、中流行著,用電腦來下五子棋更 是一種時(shí)尚?,F(xiàn)在網(wǎng)絡(luò)上出現(xiàn)了各種各樣的五子棋軟件,有大師級的、新手級的 等等。所有這些都滿足了不同人群的需要,所以當(dāng)前五子棋越來越被許多人所熟 悉。目前的五子棋程序的發(fā)展也非???,從最初的雙人發(fā)展到人機(jī)(有 AI) ,然 后到現(xiàn)在的網(wǎng)絡(luò)對戰(zhàn),已經(jīng)受到越來越多人的喜愛和重視。 1.2 課題意義課題意義 人類社會(huì)經(jīng)歷了五千多年的農(nóng)業(yè)文明時(shí)代,又經(jīng)歷了三百多年的工業(yè)文明時(shí) 代。經(jīng)過漫長時(shí)間的發(fā)展,人類文明取得的不可想象的進(jìn)步,人也變的越來越聰 明了。 人類之所以變得聰明,是因?yàn)槲覀內(nèi)祟愐恢辈粩嗟卦賹?shí)踐中思考,在思考中 實(shí)踐。五子棋不僅能增強(qiáng)思維能力,提高記憶力,而且富含
11、哲理,有助于修身養(yǎng) 性。五子棋既有現(xiàn)代休閑的明顯特征“短、平、快” ,又有古典哲學(xué)的高深學(xué)問 “陰陽易理” ;它既有簡單易學(xué)的特性,為人民群眾所喜聞樂見,又有深?yuàn)W的技 巧和高水平的國際性比賽;它的棋文化源淵流長,具有東方的神秘和西方的直觀; 既有“場”的概念,亦有“點(diǎn)”的連接。它是中西文化的交流點(diǎn),是古今哲理的 結(jié)晶。 五子棋游戲不但容易上手,而且它區(qū)別于別的游戲,它不但能使人娛樂,而 且能使人的頭腦變得更加聰明。而五子棋對戰(zhàn)有兩種模式:一.人機(jī)對戰(zhàn);二.雙 人對戰(zhàn)。這些給人無限樂趣的用途正是人工智能的杰作。正因?yàn)檫@樣它鼓勵(lì)著人 們對它不斷研究,這在很大程度上促進(jìn)了人工智能的發(fā)展,反過來人工智
12、能的理 論和技術(shù)上的突破能夠使五子棋程序更完美、更受歡迎! 同時(shí),五子棋游戲程序的開發(fā)也使得五子棋這個(gè)游戲得到了廣泛的推廣,讓 世界各地的人們知道五子棋,隨時(shí)地玩上五子棋,這已經(jīng)不再是夢想了。五子棋 游戲程序使得越來越多的人喜歡上了五子棋,熱愛下五子棋,它是具有很好的帶 動(dòng)性的。隨著互聯(lián)網(wǎng)絡(luò)的不斷普及,越來越多的人可以在網(wǎng)絡(luò)上就能夠與他人下 五子棋了。 1.3 人工智能介紹人工智能介紹 人類的自然智能伴隨著人類活動(dòng)時(shí)時(shí)處處都存在。人類的許多活動(dòng),如解題、 下猜謎、討論、編制計(jì)劃和編程,甚至駕車、騎車等,都需要智能。如果機(jī)器能 夠完成這些任務(wù),那么就可以認(rèn)為機(jī)器已經(jīng)具有某種程度的“人工智能” 。
13、正因 為這樣積累了很多與人工智能有關(guān)的知識(shí)。在一次歷史性的聚會(huì)中人工智能誕生 了。為使計(jì)算機(jī)變得更“聰明” ,或者說是計(jì)算機(jī)具有智能,1965 年夏季,在美 國達(dá)特莫斯大學(xué)舉行了一次為期兩個(gè)月的夏季學(xué)術(shù)研討會(huì)。10 位來自美國數(shù)學(xué)、 神經(jīng)學(xué)、心理學(xué)、信息科學(xué)和計(jì)算機(jī)科學(xué)方面的杰出年輕科學(xué)家,在一起共同學(xué) 習(xí)和探討了用機(jī)器模擬人類智能的有關(guān)問題,并且麥卡錫提議正式采用了“人工 智能 AI(Artificial Intelligence)”這一術(shù)語。從而,一個(gè)以研究如何用機(jī)器 來模擬人類智能的新興學(xué)科-人工智能誕生了。人工智能(Artificial Intelligence) ,英文縮寫為 AI。
14、它是研究、開發(fā)用于模擬、延伸和擴(kuò)展人的智 能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新的技術(shù)科學(xué)。人工智能是計(jì)算機(jī)科學(xué) 的一個(gè)分支,它企圖了解智能的實(shí)質(zhì),并生產(chǎn)出一種新的能以人類智能相似的方 式做出反應(yīng)的智能機(jī)器,該領(lǐng)域的研究包括機(jī)器人、語言識(shí)別、圖像識(shí)別、自然 語言處理和專家系統(tǒng)等。人工智能的發(fā)展給五子棋賦予了新的生命。隨著對人工 智能的不斷研究,計(jì)算機(jī)博弈也得到了飛速發(fā)展。機(jī)器博弈被認(rèn)為是人工智能領(lǐng) 域最具挑戰(zhàn)性的研究方向之一。國際象棋的計(jì)算機(jī)博弈已經(jīng)有了很長的歷史,并 且經(jīng)歷了一場波瀾壯闊的搏殺,深藍(lán)計(jì)算機(jī)的勝利也給人類留下了難以忘懷 的記憶。經(jīng)過 30 多年的研究,人工智能在現(xiàn)實(shí)生活中得到了
15、不少矚目的成果, 而這些成果已經(jīng)建立了一些具有一定“智能”的 AI 系統(tǒng),例如專家系統(tǒng)、定理 證明系統(tǒng)、集成電路設(shè)計(jì)與分析系統(tǒng)、自然語言翻譯系統(tǒng)、智能信息檢索系統(tǒng)、 疾病診斷系統(tǒng)等。除了這重要的成果之外,還有大受人們歡迎的“智能系統(tǒng)” , 比如現(xiàn)在在網(wǎng)絡(luò)上出現(xiàn)的網(wǎng)絡(luò)游戲、圍棋、象棋、五子棋游戲程序等等,這些都 是人工智能的成果,它們極大地改變了人們的生活、給人類帶來了快樂。 1.4 設(shè)計(jì)目的設(shè)計(jì)目的 雖然五子棋游戲的開發(fā)已經(jīng)到了人工智能,但我們可以通過簡單地編程設(shè)計(jì) 出五子棋游戲,通過游戲過程增加編程的興趣,提高編程水平。編制該程序我對 以下的知識(shí)點(diǎn)進(jìn)行的鞏固和掌握:1.數(shù)組元素為結(jié)構(gòu)體的數(shù)組
16、應(yīng)用。2.全局變量 應(yīng)用。3.按鍵的處理。4.數(shù)組元素與蛇、食物的對應(yīng)關(guān)系。5.圖形方式等等。加 深對所學(xué)知識(shí)的理解與掌握,增強(qiáng)自己對所學(xué)知識(shí)解決實(shí)際問題的能力,為以后 的程序開發(fā)打下基礎(chǔ)。 2 2 總體設(shè)計(jì)總體設(shè)計(jì) 五子棋的游戲規(guī)則對我們大家來說都很很清楚的。只要某一方的棋子在一條 直線上,棋子數(shù)先達(dá)到五或以上,則該方為勝者。 本組的五子棋小游戲程序?qū)崿F(xiàn)了兩個(gè)人對戰(zhàn)的簡單步驟和一些簡單規(guī)則,能 判斷雙方的輸贏。當(dāng)一方的棋子數(shù)先達(dá)到五或以上的,則能判斷這方為勝者。而 且能判別,當(dāng)棋盤上的某一個(gè)位置有棋子時(shí),能判斷這個(gè)位置不能再落子了。當(dāng) 某一方勝利了時(shí)可以選擇是否再繼續(xù)玩游戲。在游戲還沒有分出
17、勝負(fù)時(shí),也可以 退出游戲。進(jìn)入游戲一方可以用“W” , “S” , “A” , “D” , “Z”分別來控制上下左 右的方向和落子,則另一方則用“O” , “L” , “I” , “P”和空格來分別控制上下左 右的方向和落子。 2.1 需求分析需求分析 2.1.1 游戲需求游戲需求 (1)畫出棋盤的大??; (2)畫棋子并確定棋子的大小; (3)判斷鍵盤輸入哪個(gè)鍵執(zhí)行操作; (4)玩家輪流下棋; (5)判斷贏家。 2.1.2 功能模塊功能模塊 初始化模塊 下棋操作模塊 判斷勝負(fù)模塊 幫助模塊 五子棋游戲 初始化模塊 下棋操作模塊 判斷勝負(fù)模塊 幫助模塊 圖 2.1 功能模塊圖 3 3 詳細(xì)設(shè)計(jì)詳
18、細(xì)設(shè)計(jì) 3.1 各函數(shù)的說明各函數(shù)的說明 main() 主函數(shù) void drawqipan() 畫棋盤 void move gb() 移動(dòng)光標(biāo) void luozi() 下棋子 void judgewin() 判斷輸贏 void system() 系統(tǒng)函數(shù) 3.1.1 main()主函數(shù)主函數(shù) 按照語法規(guī)則,首先定義使用到的常數(shù)、全局變量、函數(shù)原型說明。棋 盤狀態(tài)用數(shù)組 int pNN N=20,初值為 0,表示空格。函數(shù)的實(shí)體比較簡單 ,調(diào)用圖形驅(qū)動(dòng)、畫棋盤、人人對弈等自定義函數(shù),一旦游戲結(jié)束后,關(guān)閉 圖形驅(qū)動(dòng),程序結(jié)束。 3.1.2 void drawqipan()畫棋盤畫棋盤 背景顏色
19、設(shè)為 綠色,建立坐標(biāo) void gotoxy(int x, int y) /*建立坐標(biāo)函數(shù)*/ COORD c; c.X=x; c.Y=y; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c); void drawqipan()/*建立棋盤*/ int i,j; for(i=0;iN;i+) for(j=0;jN;j+) pij=0;qij=o; printf(十); printf(n); 3.1.3 void judgewin()判斷輸贏判斷輸贏 本函數(shù)根據(jù)每次落子的位置,分別向上、下、左、右、左上、左下、右 上、右下八
20、個(gè)方向判斷是否有相同顏色的棋子連成五子,如果成立,游戲就 結(jié)束,并顯示提示信息 (如:黑方獲勝 ),否則繼續(xù)落子。 3.1.4 void luozi()下棋子下棋子 這是游戲進(jìn)行的函數(shù),主要是接收棋手的按鍵消息,其處理過程如下: (1) 按 E 鍵程序可以隨時(shí)結(jié)束。 (2) 按上下左右光標(biāo)鍵,則改變棋子移動(dòng)的坐標(biāo)值。 (3) 按空格鍵 后判斷 : 1) 如落子的位置已經(jīng)有棋則無效,繼續(xù)按鍵。 2) 如落子位置是空格,可以將棋子落入格內(nèi),void luozi(char press) 當(dāng) static t=0;/*代表坐標(biāo)交叉點(diǎn)有無棋子的狀態(tài)*/ 3) 如果棋子變化后,棋盤已下滿了棋子,則游戲結(jié)束
21、。顯示平局 信息。 4) 重復(fù)上述步驟,直到游戲結(jié)束。 3.2 函數(shù)調(diào)用圖函數(shù)調(diào)用圖 Judgewin( ) Movegb() 圖 3.1 函數(shù)的調(diào)用圖 3.3 各函數(shù)功能圖各函數(shù)功能圖 Drawqipan() main System()Luozi( ) void movegb( ) press 光標(biāo)鍵 移動(dòng)光標(biāo) 是 輸出 否 Move louzi( ) 圖 3.2 移動(dòng)光標(biāo)的函數(shù)流程圖 Press 落子鍵 是 棋手 1 落子鍵 落白棋 落黑棋 結(jié)束 否 否 是 圖 3.3 下棋子的函數(shù)流程圖 Void drawqipan( ) i=1,j=1 i20 j20 是 i 否 i+ j+ 輸出 十
22、 結(jié)束 press 否 圖 3.4 畫棋盤的函數(shù)流程圖 Void judgewin( ) 圖 3.5 判斷勝負(fù)的函數(shù)流程圖 棋子數(shù)小于 五 棋子為 黑棋 傳來棋子數(shù) 棋手 1 贏 是 是 棋手 2 贏 結(jié)束 否 是 i 否 4 4 調(diào)試分析調(diào)試分析 所謂程序調(diào)試,是指對程序的查錯(cuò)和排錯(cuò)。調(diào)試程序一般應(yīng)經(jīng)過以下幾個(gè)步 驟。 1. 人工檢查,即靜態(tài)檢查 在寫好一個(gè)程序以后,不要匆匆忙忙上機(jī),而應(yīng)對紙面上的程序進(jìn)行人工 檢查。這一步是十分重要的,它能發(fā)現(xiàn)程序設(shè)計(jì)人員由于疏忽而造成的多處錯(cuò)誤。 而這一步驟往往容易被忽視。有的用戶總希望把一切推給計(jì)算機(jī)系統(tǒng)去做,但這 樣就會(huì)多占用機(jī)器時(shí)間。 2. 上機(jī)調(diào)
23、試,即動(dòng)態(tài)檢查 在人工(靜態(tài))檢查無誤后,才可以上機(jī)調(diào)試。通過上機(jī)發(fā)現(xiàn)的錯(cuò)誤稱之為動(dòng) 態(tài)檢查。在編譯時(shí),系統(tǒng)會(huì)給出語法錯(cuò)誤的信息(包括哪一行有錯(cuò)以及錯(cuò)誤類型), 用戶可以根據(jù)提示的信息具體找出程序中出錯(cuò)之處并進(jìn)行修改。應(yīng)當(dāng)注意的是: 有時(shí)提示的出錯(cuò)行并不是真正出錯(cuò)的行,如果在提示出錯(cuò)的行上找不到錯(cuò)誤的話, 應(yīng)當(dāng)?shù)缴弦恍性僬摇A硗?,有時(shí)提示出錯(cuò)的類型并非絕對準(zhǔn)確,由于出錯(cuò)的情況 繁多而且各種錯(cuò)誤互有關(guān)聯(lián),因此要善于分析,找出真正的錯(cuò)誤,而不要死抱住 提示的出錯(cuò)信息不放,鉆牛角尖。 如果系統(tǒng)提示的出錯(cuò)信息多,應(yīng)當(dāng)從上到下逐一改正。有時(shí)顯示出一大片 錯(cuò)誤信息往往使人感到問題嚴(yán)重,無從下手。其實(shí)可能只
24、有一兩個(gè)錯(cuò)誤。例如, 對所用的變量未定義,編譯時(shí)就會(huì)對所有含該變量的語句發(fā)出出錯(cuò)信息。這時(shí)只 要加上一個(gè)變量定義,那么所有錯(cuò)誤就都消除了。 3. 運(yùn)行程序,試驗(yàn)數(shù)據(jù) 在改正語法錯(cuò)誤(包括“錯(cuò)誤”error 和“警告”warning)后,程序經(jīng)過鏈接 (link)就得到可執(zhí)行的目標(biāo)程序。運(yùn)行程序,輸入程序所需數(shù)據(jù),就可得到運(yùn)行結(jié) 果。應(yīng)當(dāng)對運(yùn)行結(jié)果作分析,看它是否符合要求。有的初學(xué)者看到輸出運(yùn)行結(jié)果 就認(rèn)為沒問題了,不作認(rèn)真分析,這是危險(xiǎn)的。 4.1 調(diào)試目的調(diào)試目的 為了是五子棋程序的正常使用,所以進(jìn)行必要的測試,保證用戶使用的可靠 性,同時(shí)也可以完善五子棋程序自身的不足。 4.2 調(diào)試與測試
25、結(jié)果調(diào)試與測試結(jié)果 4.2.1 初始效果初始效果 圖 4.1 初使界面圖 4.2.2 游戲界面游戲界面 圖 4.2 游戲過程圖 4.2.3 可以中途退出可以中途退出 圖 4.3 退出游戲圖 5 5 結(jié)論結(jié)論 課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛 煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué) 技術(shù)發(fā)展的日新日異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說得是無處不在。因此作為 二十一世紀(jì)的大學(xué)來說掌握計(jì)算機(jī)開發(fā)技術(shù)是十分重要的。 經(jīng)過這次課程設(shè)計(jì),我發(fā)現(xiàn)原來要想學(xué)好 C 語言,必須要掌握好書上的基本 知識(shí),懂得各個(gè)語句的用法,我明白了學(xué)習(xí) C 語言
26、的重要性。而且通過這次課設(shè) 我學(xué)到了許多在課本上學(xué)不到的東西,我懂得了理論與實(shí)際相結(jié)合是很重要的, 只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論 中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的 能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難 免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對以 前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu)體通過這次 課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。 編輯游戲這在一前我都以為是要遙不可及,但現(xiàn)在通過這次五子棋的設(shè)計(jì)我 明白了,并不是如此,只要團(tuán)隊(duì)
27、合作也可以搞定,我多學(xué)了許多的以前課上沒有 的知識(shí),在這次上也有了解。通過課程設(shè)計(jì),我們對C 語言這門課程有了更 深一步的了解。它是計(jì)算機(jī)程序設(shè)計(jì)的重要理論技術(shù)基礎(chǔ),在我們計(jì)算機(jī)專業(yè)的 學(xué)習(xí)中占據(jù)著十分重要的地位。同時(shí)也使我們知道,要學(xué)好這門課程,僅學(xué)習(xí)書 本上的知識(shí)是不夠的,還要有較強(qiáng)的實(shí)踐能力。因?yàn)槲覀儗W(xué)習(xí)知識(shí)就是為了實(shí)踐。 而只有多實(shí)踐,多編寫程序,才能更好的理解與掌握書本上的東西。 參考文獻(xiàn)參考文獻(xiàn) 1王連相.C/C+程序設(shè)計(jì).武漢大學(xué)出版社,2011 2譚浩強(qiáng).C 語言程序設(shè)計(jì)(第二版)學(xué)習(xí)指導(dǎo).清華大學(xué)出版社,2000 3郭有強(qiáng). C 語言程序設(shè)計(jì).清華大學(xué)出版社,2009 4郭翠
28、英. C 語言課程設(shè)計(jì)案例精編.中國水利水電出版社,2004 5李麗娟. C 語言程序設(shè)計(jì)教程.人民郵電出版社,2006 6楊莉、龔文建. C 語言程序設(shè)計(jì)實(shí)訓(xùn)指導(dǎo)教程.華中科技大學(xué)出版社,2009 7張小東,鄭紅珍. C 語言程序設(shè)計(jì)與應(yīng)用.人民郵電出版社, 2009 8李丹程,劉瑩,那俊. C 語言程序設(shè)計(jì)案例實(shí)踐.清華大學(xué)出版社,2009 9武雅麗,王永玲,解亞利. C 語言程序設(shè)計(jì).清華大學(xué)出版社, 2007 10 梁海英、李淑梅、白文秀、侯錕. C 語言程序設(shè)計(jì).清華大學(xué)出版社, 2013 致致 謝謝 在這次五子棋程序設(shè)計(jì)中,我得到了楊書鴻老師的認(rèn)真指導(dǎo)和幫助,同時(shí)也 感謝我的同伴劉
29、建軍同學(xué),因?yàn)樗盘岣吡宋以O(shè)計(jì)進(jìn)度和效率。我和劉建軍同學(xué) 共同完成這次課程設(shè)計(jì),在程序設(shè)計(jì)過程中難免會(huì)遇到各種問題,謝謝楊老師的 耐心指導(dǎo),謝謝同伴的包容,在這次課程設(shè)計(jì)中我感覺我有了很大的提高,我相 信自己以后會(huì)做得更好。 通過本次設(shè)計(jì),我的知識(shí)領(lǐng)域得到了進(jìn)一步擴(kuò)展,專業(yè)技能進(jìn)一步提高,同 時(shí)增強(qiáng)了分析和解決實(shí)際問題的綜合能力。 附錄附錄 程序源代碼程序源代碼 #include #include #include #define play1up w #define play1down s #define play1left a #define play1right d #define pla
30、y2up o #define play2down l #define play2left i #define play2right p #define play1lq z #define play2lq #define N 20 #define playnext q #define exit e int m=1; int pNN;/*記錄棋盤落子情況*/ char qNN;/*記錄棋盤交叉點(diǎn)棋子種類*/ struct zuobiao int x;int y;weizhi; void gotoxy(int x, int y) /*建立坐標(biāo)函數(shù)*/ COORD c; c.X=x; c.Y=y; S
31、etConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c); void drawqipan()/*建立棋盤*/ int i,j; for(i=0;iN;i+) for(j=0;j-1)weizhi.y-;if(weizhi.y0)weizhi.y=19;break;/*玩家 1 光標(biāo) 向下移動(dòng)*/ case play1down:if(weizhi.y19)weizhi.y=0;break;/*玩家 1 光標(biāo)向上移動(dòng)*/ case play1left:if(weizhi.x-1)weizhi.x-;if(weizhi.x0)weizh
32、i.x=19;break;/*玩家 1 光 標(biāo)向左移動(dòng)*/ case play1right:if(weizhi.x19)weizhi.x=0;break;/*玩家 1 光標(biāo)向右移動(dòng)*/ case play2up:if(weizhi.y-1)weizhi.y-;if(weizhi.y0)weizhi.y=19;break;/*玩家 2 光標(biāo) 向上移動(dòng)*/ case play2down:if(weizhi.y19)weizhi.y=0;break;/*玩家 2 光標(biāo)向下移動(dòng)*/ case play2left:if(weizhi.x-1)weizhi.x-;if(weizhi.x0)weizhi.x=19;break;/*玩家 2 光 標(biāo)向左移動(dòng)*/ case play2right:if(weizhi.x19)weizhi.x=0;break;/*玩家 2 光標(biāo)向右移動(dòng)*/ gotoxy(2*weizhi.x,weizhi.y); void luozi(char press) static t=0;/*代表坐標(biāo)交叉點(diǎn)有無棋子的狀態(tài)*/ if(press=play1lq) if(t=0gotoxy(2*weizhi.x,weizhi.y); qweizhi.xweizhi.y=press; pweizhi.xweizhi.y=1;t=1; if(pres
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 天津市武清區(qū)2025屆高三二診模擬考試化學(xué)試卷含解析
- 幼兒園工作總結(jié)
- 山西太原五中2025屆高三第三次模擬考試化學(xué)試卷含解析
- 2025年年智能交通項(xiàng)目發(fā)展計(jì)劃
- 叉車安全操作培訓(xùn)教材
- 2025年光通信計(jì)量和監(jiān)測儀器項(xiàng)目發(fā)展計(jì)劃
- 2025屆河南省周口市扶溝高級中學(xué)高三(最后沖刺)化學(xué)試卷含解析
- 2025屆福建省南安市2南安一中018年7月高三(最后沖刺)化學(xué)試卷含解析
- 2025年出版物發(fā)行零售項(xiàng)目建議書
- 2025年熱軌(熱風(fēng)棉)非織造布生產(chǎn)線項(xiàng)目合作計(jì)劃書
- 保安證考試考前復(fù)習(xí)試題及答案
- 2025河北中考必考名著:《革命詩抄》考點(diǎn)及中考真題
- 安徽省 2025 年九年級中考?xì)v史模擬試卷二(含答案)
- 互聯(lián)網(wǎng)醫(yī)院醫(yī)療服務(wù)平臺(tái)合作協(xié)議
- 2024-2030全球動(dòng)態(tài)細(xì)胞分析行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年臨床試驗(yàn)數(shù)據(jù)保密協(xié)議
- 湖南中煙工業(yè)有限責(zé)任公司招聘考試真題2024
- 《X射線管原理與應(yīng)用》課件
- 2024年湖北省襄陽市第四中學(xué)第五中學(xué)自主招生考試語文試卷
- 七年級下冊《二元一次方程組》課件與練習(xí)
- 醫(yī)療二次報(bào)銷申請書
評論
0/150
提交評論