2019春第一次課程設計實驗報告
1、實驗項目名稱:
用函數實現反彈球消磚塊
2、實驗項目功能描述(用本身的語言描述):
經過A、D鍵的位移,使小球($)通過下面的跳板(#)擊中磚塊(B)。記錄下反彈小球數和消掉的磚塊數。
3、項目模塊介紹:
第一部分:利用函數和遊戲框架實現小球的彈跳;
第二部分:利用代碼將邊框顯示出來(即一個遊戲區域);
第三部分:實現移動擋板(跳板)的顯示;
第四部分:經過小球的座標判斷小球是否被擋板(跳板)接到,若接到則反彈,不然遊戲結束;
第五部分:顯示磚塊,若小球擊中磚塊則磚塊數累加。
模型:
![](http://static.javashuo.com/static/loading.gif)
4、實現界面展現:
![](http://static.javashuo.com/static/loading.gif)
5、代碼託管連接:
Git網頁代碼git
6、實驗總結:
問題1:
在第一次使用Git時,出現不少問題,一開始在創建本地倉庫時出現卡頓,創建不成功;
解決方法:
複製問題所在處的英文,到百度翻譯中理解問題的意思,而後百度問題的解決方法。其中發現有命令代碼打錯,邊看教學視頻邊打,居然會把命令代碼打錯,低級錯誤。
問題2:
在鏈接本地倉庫與碼雲上的倉庫時,老是顯示我有未提交的文件,鏈接不了;
解決方法:
百度翻譯,發現我在鏈接時,Git默認的文件夾是Git下載時所在的c盤,並非我創建了倉庫的文件夾。而後我詢問大佬後,獲得迴應:在要鏈接的文件夾中打開Git Bash進行鏈接。(我一開始看視頻時,覺得只有在外面開始中打開Git才能夠上傳、鏈接)
問題3:
鏈接時,解決了以上問題後,提示我倉庫已經鏈接了,但文件並無上傳好;
解決方法:
搞了很久,百度,找不到精準方案,而後又請教了他人,答:公鑰若是不是最新的,也是沒法成功的,因而,又設置了一個新的公鑰,而後立馬繼續上傳,終於,通過各類各類的問題,總算會上傳代碼文件了。
感想:
首次接觸,真的是太生疏了。不管是Git,仍是遊戲設計,仍是碼雲的倉庫建立等等。當搞Git搞了兩三天後,再看遊戲設計的代碼時,猛然不少簡單代碼都不怎麼懂了。在利用Git建立本地倉庫時,深入體會命令代碼真的是一個字母都錯不得,每次不是Git拼錯,就是文件名忘記加了後綴,與本地的文件不對應,總之不少問題。不過,這都一點點解決了,之後應該會愈來愈熟練的。最後,想說一下游戲的代碼,由於讓我去寫,估計我還寫不出來,我看着書上的代碼,打了以後,發現Dev C++上運行不了(可能個人電腦出故障了),而後我將代碼(改了一點點)放到別人的電腦上運行,雖然能運行出來,但好像玩不了,小球的運動軌跡,是有規律的....沒彈幾下就進行循環....而後,我也沒怎麼改了,我搜了一下這個遊戲的代碼,網上的和書上的差很少,而後個人電腦很遲鈍,運行起來老是卡頓,就沒有再改進了。
學習進度條
3/2-3/8 |
三天六小時 |
50 |
一、定義、運用文件指針;二、如何打開、關閉文件三、如何讀出指定文件中的數據;四、如何向指定文件中寫入數據; |
字符、字符串有什麼區別?兩者輸入、輸出有沒有很大不一樣?什麼纔算字符串?什麼算字符?在文件中兩者有沒有差異? |
3/9-3/15 |
四天三小時 |
180 |
一、運用二維數組解決問題,矩陣的判斷;二、對一組數的全部子數組求和 |
如何在輸出時利用數組的性質 |
3/16-3/22 |
三天八小時 |
210 |
一、二維數組加深理解,二維數組與矩陣;二、選擇排序法解決問題;三、二分查找法 |
二分查找法這周沒練習,只是看看書上例題大體懂了,不知道真正應用時可否掌握。 |
3/23-3/29 |
三天兩小時 |
120 |
一、判斷回;文二、字符數組的概念及其簡單運用;三、一些簡單的與字符數組相關的暫時沒接觸補充知識,一些函數,用法等。 |
在做業運用文件指針時,一開始老是出現從文件裏輸不出來結果,打印不出來,後來發現可能與本身輸入時格式未搞好,原本不該該出現的空格出現了,致使打印不出來結果。文件指針還不是很熟練 |
3/30-4/5 |
兩天 |
150 |
一、指針的含義,變量、地址、指針變量等間的關係;二、指針變量的初始化,運用指針作一些簡單運算;三、指針與數組之間的關係 |
在用指針處理字符串時,應怎樣定義指針變量 |
4/6-4/12 |
三天 |
200 |
一、更深一步掌握指針與數組間的關係;二、懂得指針能夠實現數組的一些功能;三、指針在碰到字符數組時的應用 |
在代碼中,若是遇到要輸出單個字符,%s與%c有什麼區別? scanf()與 getchar 兩種輸入方式有區別嗎?會不會在有些狀況下能影響到輸出結果? |
4/13-4/19 |
兩天 |
170 |
一、學習了與字符串有關的一些字符串處理函數;二、學習了利用指針實現內存動態分配 |
究竟什麼狀況下采用內存動態分配?具體要採用哪種動態內存分配? |
4/20-4/26 |
兩天 |
135 |
一、學習告終構及結構變量的定義與運用 |
若是運用遞歸函數解決問題,雖然使代碼簡化了,更美觀了。但會致使相同的運算重複進行,佔內存。感受遞歸弊大於利。 |
4/27-5/3 |
一天 |
|
一、複習告終構與數組、指針間的關係,二者之間是如何進行替換利用; |
|
5/4-5/10 |
三天 |
165 |
一、學習了遞歸程序的設計;二、宏的基本定義;三、文件包含等內容; |
鏈表知識點看了看,不是很懂 |
5/11-5/17 |
三天 |
148 |
一、學習了指針函數、函數指針、指針數組、數組指針;二、講了鏈表的部分知識。 |
鏈表不是很會,多是書看的少了 |
5/18-5/24 |
四天 |
236 |
一、學習如何使用Git上傳代碼,如何在碼雲中創建倉庫;二、學習如何創建本地倉庫並將本地倉庫與碼雲上的倉庫相連。 |
|
表格-折線圖
第一週 |
80 |
275 |
第二週 |
50 |
883 |
第三週 |
180 |
1303 |
第四周 |
210 |
1849 |
第五週 |
120 |
1988 |
第六週 |
150 |
2717 |
第七週 |
200 |
3000 |
第八週 |
170 |
2820 |
第九周 |
135 |
2855 |
第十週 |
|
3945 |
第十一週 |
165 |
4934 |
第十二週 |
148 |
2654 |
第十三週 |
236 |
2274 |
![](http://static.javashuo.com/static/loading.gif)