C語言掃地雷游戲的題目簡介,C語言程序設計課程設計(論文)-掃地雷游戲.doc...

C語言程序設計課程設計(論文)-掃地雷游戲

遼 寧 工 業 大 學

C語言程序設計 課程設計(論文)

題目: 掃地雷游戲

院(系): 軟件學院

專業班級: 電子商務091班

學 號:

學生姓名:

指導教師:

教師職稱: 助 教

起止時間:2009.12.14至2009.12.26

課程設計(報告)任務及評語

院(系):軟件學院 教研室:軟件教研窒

學 號學生姓名專業班級電子商務091班程序設計(報告)題目C語言課程設計-掃地雷游戲程序設計(報告)任務

程序設計的任務與要求:

(1)掌握C語言編程的基礎知識。

(2)較熟練地編寫C語言應用程序。

(3)了解C語言的常用標準函數、編程技巧、異常處理。

(5)聯系已學過的內容,鞏固所學的理論,增強獨立工作能力。

(6)通過設計主要使學生有一個獨立編寫程序的過程,對理論學習及動手能力都有一個很大的提高。

(7)通過本次設計,進一步培養學生熱愛專業的思想,同時對本專業綜合素質的提高起一個積極的推動作用。

課程設計過程中,要嚴格遵守實踐環節的時間安排,聽從指導教師的指導。正確地完成上述內容,記錄實習日記,規范完整地撰寫出課程設計報告。

指導教師評語及成績

成績: 指導教師簽字:

2009 年 1 月 13 日

目 錄

第1章 課程設計的目的與要求1

1.1 課程設計目的1

1.2 課程設計的實驗環境1

1.3 課程設計的預備知識1

1.4 課程設計要求1

第2章 課程設計內容2

2.1程序功能介紹2

2.2程序整體設計說明2

2.2.1設計思路2

2.2.2數據結構設計及用法說明3

2.2.3程序結構(流程圖)3

2.2.4各模塊的功能及程序說明3

2.2.5程序結果6

2.3程序源代碼及注釋6

第3章 課程設計總結17

參考資料19

第1章 課程設計的目的與要求

1.1 課程設計目的

本課程設計是計算機科學與技術專業重要的實踐性環節之一,是在學生學習完《程序設計語言(C)》課程后進行的一次全面的綜合練習。本課程設計的目的和任務:1. 鞏固和加深學生對C語言課程的基本知識的理解和掌握2. 掌握C語言編程和程序調試的基本技能3. 利用C語言進行基本的軟件設計4. 掌握書寫程序設計說明文檔的能力5. 提高運用C語言解決實際問題的能力1.2 課程設計的實驗環境

硬件要求能運行Windows 2000/XP操作系統的微機系統。C語言

1.3 課程設計的預備知識

熟悉C語言及C語言開發工具。

1.4 課程設計要求

1. 分析課程設計題目的要求2. 寫出詳細設計說明3. 編寫程序代碼,調試程序使其能正確運行4. 設計完成的軟件要便于操作和使用. 設計完成后提交課程設計報告第2章 課程設計內容

2.1程序功能介紹

自Windows系統推出以來,系統所帶掃雷游戲深受人們喜愛,她是一個益智游戲,令人百玩不厭。本課題要求利用Turbo C編寫與它功能相仿的掃雷游戲,寓學于樂。

程序的功能要求隨機生成地雷數,通過鼠標操作玩游戲,不接受鍵盤,按任意鍵結束程序。單擊屏幕上的笑臉可以重新開始游戲。所有地雷標出后勝利,當鼠標左鍵單擊到地雷時失敗。

2.2程序整體設計說明2.2.1設計思路

首先在雷區上隨機地放上雷,沒有雷的地方被點擊 后就會顯示一個數字表示它周圍有幾個雷,這是怎么實現的呢?我們可以把整個雷區看成一個二維數組a[i,j],如雷區

11 12 13 14 15 16 17 18

21 22 23 24 25 26 27 28

31 32 33 34 35 36 37 38

41 42 43 44 45 46 47 48

51 52 53 54 55 56 57 58

要知道a[34]周圍有幾個雷,就只有去檢測

a[23],a[24],a[25]

a[33], a[35]

a[43],a[44],a[45]

這8個雷區是否放上了雷,仔細觀察它們成在數學關系。

抽象出來就是:a[i,j]的雷的個數就是由

a[i-1,j-1],a[i-1,j],a[i-1,j+1]

a[ i ,j-1],

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457013.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457013.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457013.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于地圖中軌跡的平滑移動的實現

很多人應該都有類似的經歷,叫完車,想看看車離我還有多遠距離?但手機屏幕上的車不是一動不動,就是一跳一跳的漂移。 目前市面上大多產品“軌跡平滑移動”做的并不好。 市面上只有快的打車和一號專車實現了平滑移動,那…

查看centos中的用戶和用戶組

1、用戶列表文件:/etc/passwd/ 2、用戶組列表文件:/etc/group 3、查看系統中有哪些用戶: cut -d : -f 1 /etc/passwd 4、查看可以登錄系統的用戶: cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1 5、查看用戶操作…

【Android】關于參數的傳遞問題

最近遇到了一個bug,在debug條件下可以看出更改后的值,但是在最終顯示的結果中確實沒有更改的值。經過很多次的調試后,才發現最后的原因竟然是因為參數傳遞的時候并沒有將更改后的值傳遞給最終變量。 這時才意識到java中只存在值傳遞&#xff…

android按鈕響應事件嗎,Android 按鈕響應事件的幾種方式

目錄1.在布局中指定onClick屬性布局代碼android:id"id/btn1"android:layout_width"wrap_content"android:layout_height"wrap_content"android:text"button1"android:onClick"click"/>android:id"id/btn2"andr…

Android 開源優秀 Library 推薦

之后的每月會推薦一些優秀的開源 Android libraries,不僅僅是學習,也可以方便的使用到項目中,避免重復的造輪子。 PageIndicatorView 如果你需要在 ViewPager 中指明當前處于哪個畫面中,PageIndicatorView是你的不二選擇。而且真…

Vue2.0王者榮耀助手

vue-gok vue2.0-王者榮耀助手 項目使用的是帶玩游戲平臺提供的API,由于騰訊公司王者榮耀游戲關閉了查看其它人的戰績功能,帶玩平臺受其影響,已將API暫時關閉,所以無法獲得穩定的 DAIWAN-API-TOKEN ,所以會出現DAIWAN-API-TOKEN令…

訪問對象的屬性和方法

class Person(object):name ""age 0height 0weight 0def run(self):print("run")def eat(self,food):print("eat"food)def openDoor(self):print("我已經打開了門")def fillEle(self):print("我已經把大象裝進了冰箱")de…

Android mc怎么和win10聯機,我的世界手機版/win10版聯機完美互通方法

我的世界手機版玩家想要更加方便的操作?0.12.1更新之后,你除了能使用手柄進行方便的操作之外,現在你能完全擺脫小屏幕蹩腳的操作了!win10版在9月9日進行了重大更新,我們能直接使用win10的電腦玩我的世界,而…

十大基礎算法

做為程序員,以下著十大10大基礎實用算法是必須知道的。

[HNOI2004]L語言

1212: [HNOI2004]L語言 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1507 Solved: 666[Submit][Status][Discuss]Description 標點符號的出現晚于文字的出現,所以以前的語言都是沒有標點的。現在你要處理的就是一段沒有標點的文章。 一段文章T是由若干小寫字…

對象的初始狀態(構造函數)

class Person(object):# name ""# age 0# height 0# weight 0def run(self):print("run")def eat(self,food):print("eat"food)def __init__(self,name,age,height,weight):# print(name,age,weight,height)print("這里是init")sel…

【bzoj 2434】【codevs 1946】[Noi2011]阿貍的打字機(AC自動機)

2434: [Noi2011]阿貍的打字機 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 2477 Solved: 1382[Submit][Status][Discuss]Description 阿貍喜歡收藏各種稀奇古怪的東西,最近他淘到一臺老式的打字機。打字機上只有28個按鍵,分別印有26個小寫英文字母…

android加法服務類,iOS越來越像Android:蘋果簡單做加法遠離精致

原標題:iOS越來越像Android:蘋果簡單做加法遠離精致剛剛結束的WWDC2016的主題演講中,蘋果為我們帶來了最新的iOS 10系統,官方稱本次iOS 10的推出有著多大10項的重要更新,在用戶體驗、界面、Siri、地圖以及音樂方面都有著不少的變化…

JDK源碼學習之Arraylist與LinkedList

ArrayList和LinkedList是我們在開發過程中常用的兩種集合類,本文將從底層源碼實現對其進行簡單介紹。 下圖是Java集合類所涉及的類圖。 一.ArrayList 從上面的集合類圖可以看出,ArrayList實現了List接口。ArrayList是順序的集合容器,容器中可以存放null…

學習記錄4

學習了python基本數據類型,附學習筆記圖及操作圖 轉載于:https://www.cnblogs.com/bgd140206127/p/6549229.html

self 實例對象-代碼詳細解釋

self代表類的實例,而非類哪個對象調用方法,那么該方法中的self就代表那個對象self.__calss__ 代表類名class Person(object):def run(self):print("run")print(self.__class__)p self.__class__("tt",30,10,20)print(p)def eat(sel…

CString之GetBuffer與ReleaseBuffer

我們知道,CString是MFC中提供的方便字符串操作的一個類,非常好使,具有自動動態內存管理功能。 GetBuffer()主要作用是將字符串的緩沖區長度鎖定; ReleaseBuffer()則是解除對緩沖區的鎖定,這樣使得CString對象在以后的代…

mac 編譯android系統,mac 編譯 Android 系統雜記

掛載android分區sudo hdiutil attach ~/android_code/android7.dmg.sparseimage -mountpoint /Volumes/android原放入U盤:echo 188jinghao | sudo -S hdiutil attach ~/android7.dmg.sparseimage -mountpoint /Volumes/android放入機械硬盤sudo hdiutil attach /Vol…

Java開發必須熟悉的Linux命令總結

身為一個Java開發人員,這些常用的Linux命令必須掌握。即使平時開發過程中沒有使用Linux(Unix)或者mac系統,也需要熟練掌握Linux命令。因為很多服務器上都是Linux系統。所以,要和服務器機器交互,就要通過she…

構析函數

析構函數:__del__() 釋放對象時自動調用 class Person(object):def run(self):print("run")def eat(self,food):print("eat"food)def __init__(self,name,age,height,weight):self.name nameself.height heightself.age ageself.weight …