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

正文內(nèi)容

word版可編輯-c語言圖形五子棋課程設(shè)計(jì)報告精心整理docxdocx-展示頁

2024-07-30 11:39本頁面
  

【正文】 顏色為白色時,無法構(gòu)建黑色棋子,只能畫出白色棋子。勝負(fù)判斷模塊主要由一個函數(shù)構(gòu)成:int Judge() //判斷勝負(fù)函數(shù)第4章:調(diào)試分析 圖形模塊1.在圖形模塊中,因?yàn)槭堑谝淮问褂?,所以剛開始時對于棋盤創(chuàng)建的位置把握有些欠缺。甲方落子時,將數(shù)組內(nèi)相應(yīng)坐標(biāo)處元素賦值為2;乙方落子時,將數(shù)組內(nèi)相應(yīng)坐標(biāo)處元素賦值為1。以下簡析本程序流程:,由獲勝條件可以知,通過判斷行、列、斜邊、反斜邊方向上是否有連續(xù)的5個子即可得出是否獲勝結(jié)果。表示蜂鳴聲 勝負(fù)判斷模塊勝負(fù)判斷模塊是程序的關(guān)鍵,該模塊的設(shè)計(jì)直接關(guān)系到程序的運(yùn)行速率和運(yùn)行結(jié)果的正確與否。 //39。玩家操作模塊主要由以下函數(shù)構(gòu)成:void Record() //記錄棋子的情況void go_back(int x1,int y1) //悔棋函數(shù)void Play(char ch) //讀取鍵盤的操作 移動光標(biāo) 下棋和悔棋操作 為了提高游戲的趣味性,我們?yōu)楸居螒蛱峁┝撕唵蜗到y(tǒng)音效?;谄逄崾驹谄灞P右下方,為按鍵“b”。在光標(biāo)移動的過程中,光標(biāo)按照玩家按鍵移動;在玩家按下落子按鍵后,程序自動調(diào)用棋子顯示子程序和判斷勝負(fù)子程序。 畫面顯示模塊函數(shù)如下:void Wele() //歡迎界面void Draw() //繪畫游戲棋盤界面void Clean() //清除—→運(yùn)動的軌跡void menu_choose(char press) //選擇是否退出游戲?qū)υ捒騰oid PutDown() //顯示落子函數(shù)void goto_xy(int x, int y) //光標(biāo)移動函數(shù) 畫面效果圖如圖3,4,5,6。 //Q數(shù)組記錄旗子char button。 //int player。五子棋游戲五子棋 模塊二:玩家操作模塊三:音效提供模塊四:勝負(fù)判斷模塊一:畫面顯示 圖1 五子棋總體結(jié)構(gòu)圖開始 制作者展示進(jìn)入菜單界面N人人對戰(zhàn)?退出游戲 Y 是否繼續(xù)新游戲?開始游戲ESCY確認(rèn)退出?b悔棋甲方判斷 NEnter 甲方獲勝?退出游戲顯示甲方獲勝消息Y確認(rèn)退出?N乙方判斷ESCb悔棋 YEnterN 顯示乙方獲勝消息乙方獲勝? YN 圖2 程序總體流程圖第2章:概要設(shè)計(jì) 各類頭文件和全局變量include includeinclude include //使用getch()函數(shù)int startchoice。勝負(fù)判斷模塊:實(shí)時監(jiān)測棋盤上棋子,一旦某一色棋子出現(xiàn)五子連線,終止游戲程序,并著色連成一線的五子,棋盤下方彈出該色玩家勝出信息。游戲結(jié)束時,有玩家選擇是否開始新游戲。玩家操作模塊:程序開始時,需玩家確定選擇“人人對戰(zhàn)”后開始游戲;游戲過程中,兩個玩家通過不同的按鍵移動光標(biāo),選擇落子;游戲進(jìn)行過程中,當(dāng)前玩家下棋后,另一位玩家下棋前,當(dāng)前玩家可以悔棋。 程序需求分析根據(jù)功能需求,將程序分為畫面顯示、玩家操作、音效提供、勝負(fù)判斷五個模塊,以下分析各模塊的需求。 五子棋需求分析和流程設(shè)計(jì) 本程序設(shè)計(jì)為人與人對弈,一方執(zhí)黑棋,一方執(zhí)白棋,輪流走棋,每方都試圖在游戲結(jié)束前讓自己的棋子五子相連,首先實(shí)現(xiàn)五子相連的一方獲勝。兩人對局,各執(zhí)一色,輪流下一子,先將橫、豎或斜線的5個或5個以上同色棋子連成不間斷的一排者為勝。程序通過棋盤和棋子圖像生成、二人移子與落子和判斷勝負(fù)等功能的實(shí)現(xiàn),在計(jì)算機(jī)上實(shí)現(xiàn)了二人五子棋對弈。C語言課程設(shè)計(jì)報告五子棋北京師范大學(xué)2013級信息科學(xué)與技術(shù)學(xué)院 羅福莉 趙帥帥 何虹達(dá) 北京師范大學(xué) C語言課程設(shè)計(jì)報告 課題名稱: 游戲五子棋 指導(dǎo)教師: 尹乾 課題組員: 羅福莉 趙帥帥 何虹達(dá) 院系: 信息科學(xué)與技術(shù) 時間: 摘 要五子棋是一種兩人對弈的純策略型棋類游戲,應(yīng)用C語言編寫程序可以在計(jì)算機(jī)上實(shí)現(xiàn)二人對弈五子棋功能。二人對弈五子棋程序由歡迎界面顯示、游戲界面生成、光標(biāo)移動與落子、判斷勝負(fù)、悔棋功能、提供音效等子程序構(gòu)成;程序中應(yīng)用了結(jié)構(gòu)體、數(shù)組、全局變量、按鍵處理和圖形編程等元素和語句。 目 錄摘 要 2第1章:需求分析 3 3 五子棋需求分析和流程設(shè)計(jì) 4第2章:概要設(shè)計(jì) 7 各類頭文件和全局變量 7 畫面顯示模塊 8第3章:詳細(xì)設(shè)計(jì) 11 玩家操作模塊 11 11 勝負(fù)判斷模塊 12第4章:調(diào)試分析 13 圖形模塊 13 玩家操作模塊 13 勝負(fù)判斷模塊 14第5章:用戶手冊 14第6章:小組分工 15第7章:結(jié)論與心得 16第8章 :源程序代碼 16附錄一 Color命令的使用說明 29 附錄二 ASCII 碼表 29第1章:需求分析傳統(tǒng)五子棋的棋具與圍棋相同,棋子分為黑白兩色,棋盤為1818,棋子放置于棋盤線交叉點(diǎn)上。 因?yàn)閭鹘y(tǒng)五子棋在落子后不能移動或拿掉,所以也可以用紙和筆來進(jìn)行游戲。程序執(zhí)行過程中,要求棋盤、棋子時時可見,游戲界面有提示信息輪到何方下棋,人可以通過按鍵盤按鍵移動光標(biāo),再點(diǎn)擊enter鍵擺放棋子,并且每落一子都有系統(tǒng)聲音,創(chuàng)新之處是可以提供悔棋功能。畫面顯示模塊:程序開始運(yùn)行時,顯示制作者和給出歡迎及退出界面;游戲開始后要求生成1818的棋盤圖像,并在棋盤上方顯示歡迎信息“歡迎play our五子棋”,棋盤下方游戲顯示應(yīng)該輪到甲方或者乙方落子,棋盤左右顯示雙方操作方式,進(jìn)行過程中,要求實(shí)時顯示棋盤上已落下的棋子,甲方為白球,乙方為白圈;分出勝負(fù)后,要求給出游戲結(jié)束畫面,并且詢問用戶是否需要繼續(xù)游戲?;谄逄崾驹谄灞P右下方,為按鍵“b”。 音效提供模塊:玩家每落一子,系統(tǒng)提供音效一聲,增加下棋的趣味性。 根據(jù)程序需求分析結(jié)果,可以得出程序的總體結(jié)構(gòu)圖如圖1,程序總體流程圖如圖2。 //int winner。 //Q[200][200]= {0}。 //讀入鍵盤輸入的指令,如→ 畫面顯示模塊畫面顯示模塊由歡迎界面,游戲棋盤界面,確認(rèn)是否退出對話框界面,以及感謝使用界面組成。 圖3 歡迎界面圖 圖4 主菜單界面圖 圖5 游戲界面圖 圖6 確認(rèn)退出對話框第3章:詳細(xì)設(shè)計(jì) 玩家操作模塊棋子的移動與落子有鍵盤上按鍵控制,本程序選取甲乙雙方按鍵都為W、S、↑、↓、←、→和回車鍵,“b”,“ESC”,分別代表上移、下移、左移、右移光標(biāo)和落子,悔棋,退出。當(dāng)前玩家下棋后,另一位玩家下棋前,當(dāng)前玩家可以悔棋。甲乙的落子后,程序會為落子處的數(shù)組元素賦一個特定值(玩家甲的棋子賦為1,玩家乙的棋子賦為2),用于判定勝負(fù)和悔棋。程序語句很簡單 printf(\a)。\a39。本函數(shù)根據(jù)每次落子的位置,分別向上、下、左、右、左上、左下、右上、右下八個方向判斷是否有相同顏色的棋子連成五子,如果成立,游戲就結(jié)束,并顯示提示信息,否則繼續(xù)落子。在游戲開始時,將棋盤初始化,即將棋盤抽象為一個18*18的數(shù)組,數(shù)組中每個元素?cái)?shù)值設(shè)為0。通過循環(huán)掃描棋盤數(shù)組,經(jīng)掃描后,如發(fā)現(xiàn)在行、列、斜邊、反斜邊方向上有五個連續(xù)的2,甲方獲勝;如發(fā)現(xiàn)在行、列、斜邊、反斜邊方向上有五個連續(xù)的1,乙方獲勝。解決方案:參考書本以及google,找出最合適的位置坐標(biāo)。解決方案:用白圈區(qū)別于白球,類似白子和黑子。解決方案:通過在PutDown()函數(shù)中添加if條件語句,判定如果所在位置對應(yīng)的數(shù)組值不等于0時,不能落子。解決方案: 通過if語句判定,如果操作框超出范圍則移動到對應(yīng)相反位置,例如移動棋盤最上端,若繼續(xù)向上移動,則移動至棋盤最下端對應(yīng)位置。解決方案:在go_back()。用棋譜線來覆蓋棋子(例如:┌ └ ├等)。解決方案:通過參考書籍并加以優(yōu)化,得出將棋譜做成數(shù)組,定義甲方落下為1,乙方落下為2,初始為0,這樣即不會造成沖突,也很好的解決了判斷問題。解決方案:至今尚未解決,嘗試過局部掃描,但失敗了。,本程序選取甲乙方都為↑、↓、←、→和回車鍵,分別代表上移、下移、左移、右移光標(biāo)和落子。3. 在當(dāng)前玩家按下落子按鍵后,程序自動調(diào)用棋子顯示子程序和判斷勝負(fù)子程序?;谄逄崾驹谄灞P右下方,為按鍵“b”(即backspace)。,如果玩家1或者玩家2有一方獲得勝利后,程序自動將提示哪一方獲得了勝利,并可以選擇是否繼續(xù)新游戲。第6章:小組分工組長:羅福莉組員:趙帥帥,何虹達(dá)具體分工:組員任務(wù)分工羅福莉報告書寫 程序調(diào)試 展示成果趙帥帥勝
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1