學C語言已經半年多了。卻對俄羅斯方塊,貪吃蛇之類的小遊戲的編寫一點頭緒都沒有!問題塊 1)

時間 2021-09-20 05:56:39

1樓:

單純學c你是寫不出圖形程式的,你可以看到,c標準庫支援的是dos程式,就是那個黑不溜秋的東西。

如果想知道你離小遊戲還多遠,咱們可以這麼算一下,下面給出幾個假設條件:

提供給你圖形繪製函式,你只需要傳相應的引數,就能畫出圖形,點,線,圓,顏色填充之類。

給出執行緒函式,讓你可以建立系統執行緒,或者使用定時器等控制貪吃蛇身體的移動。具體的方式可以變,你需要一個按照固定時間間隔來移動蛇身的函式。

那你覺著,你該怎樣寫一個貪吃蛇?

思路是:

使用連結串列等結構,儲存蛇的身體,好處就是,可以任意長度。你要想好連結串列中儲存什麼屬性可以更好地描述蛇的狀態,它超哪個方向走,它的身體各個節點處於哪個位置。

劃分螢幕座標系,將貪吃蛇對映為座標系中的點。

寫出碰撞檢測函式,貪吃蛇碰到了一個食物,就在連結串列頭部新增一個節點並將頭結點更新為這個結點。

使用碰撞檢測函式檢測貪吃蛇是否撞到了自己。

檢測蛇是否撞到了螢幕邊界。

使用執行緒或定時器沿著一個方向移動你的貪吃蛇,移動規律是朝著當前連結串列頭部衝的方向勻速移動,你可以設定0.5s對錶頭的x/y座標進行加,減。時間間隔影響了蛇的速度,如果允許長度超過一個程度升級加速,你就要設定下這裡的引數。

根據表頭的移動,設計演算法計算蛇的身體各個點的移動軌跡。這個是關鍵,這個演算法想錯了,你的蛇就會亂跑。一個比較直接的做法是,將蛇身體的每個節點依次前移,不是座標的移動,是填充,讓後面節點填充它前面節點移動前的位置。

大致是這樣,我只是給出個思路,如果我有寫錯的地方,歡迎指正,又或者是你可以按照你的思路來進行,學習,思路是很重要的,**是死的,人是活的。

分析問題,你要將實際的問題抽象出程式設計用的模型。抽象的過程就是,先假設你已經有了你想要的函式,你可以先給出函式的宣告,比如碰撞檢測函式,執行緒函式等等。這些函式你不會寫,先空著,想象它們已經完成了。

然後你要做的就是,用這些已經被假設存在的構造快,來實現你的邏輯。這個邏輯是什麼,就要看你怎麼抽象一個具體的問題。就像貪吃蛇,通用的思路是把它抽象為座標和連結串列結構。

如果你用了另外一種思路,整個過程可能截然不同。

整個過程寫完了,你需要知道,那些被你假設了的函式,到底怎麼實現。

給個思路:

介面顯示用mfc來做,執行緒,定時器什麼的,有相應的windowsapi,這些圖形和執行緒功能,都需要作業系統做支援,所以你要用到一些windows的api。這些資料都是有的,你可以去找。

以上。再次宣告,如有疏漏,請見諒。

2樓:

我不認為學c語言的目的是寫遊戲,寫遊戲有專門的框架,尤其是gui用c處理是很麻煩的。能寫遊戲也絕對不代表你精通了c語言,可以說有無數種方法來寫好一個遊戲,孰優孰劣?難說。

我的想法是,學習c語言本身和學習軟體設計還是不一樣的。軟體設計與具體的語言無關,而精通語言本身也不代表就會設計。現實中的軟體設計很少有直接用c的,至少也是c++,所以我覺得學c更多的是打基礎,不必強調應用。

下面我就學習c語言本身談一點看法。

不知道你的教育背景如何?具體學習策略和強度需要根據背景而定。

一般來說,你現在已經完成了入門,下面要進一步深入學習的話可以看c primer等外國書籍。

相比遊戲等應用,c語言更適合用來學習基本的演算法。可以找資料結構與演算法的書來學習。

3樓:匿名使用者

1)根據遊戲難度判斷

2)2個月

3)不要被遊戲的表面所迷惑(貪吃蛇和俄羅斯方塊並不是基於圖形,而是座標來編寫)

4)我就是自己看書,自己程式設計,不會的上網查,然後慢慢的就越積累越多了

c語言學多久才可以寫出一些小遊戲? 貪吃蛇,俄羅斯方塊,坦克,五子棋……? 2)編寫這些小遊戲需要

4樓:匿名使用者

只是半年吧,c基礎好學

但是vc中的很多api函式不是一天能掌握的,需要慢慢積累

5樓:匿名使用者

這不僅僅是時間問題。

6樓:匿名使用者

要學就學著 想這些幹嘛

C語言怎麼學?C語言怎麼學?

學習c語言,光看譚浩強的書只能學習到c語言的基本語法,看完了你覺得能看懂但是還是覺得自己寫不出來 c語言重點難點都在指標那裡,也涉及到c語言中空間的概念,你好好掌握下c語言中空間的概念,加以理解掌握就好。其次就是函式啊之類的,當然你看得明白不等於你掌握了c語言,寫得出來才能證明你會,所以大量的c語言...

怎麼學C語言?

1 把譚浩強的那本 c語言程式設計 看過n遍至熟練2 然後上機,對書中提到的各種語法 關鍵字都能熟練的寫出一兩個簡單的小程式。3 看一些別人寫的較複雜的程式,然後模仿著寫4 做一些程式設計題目,每看到一個就嘗試著獨立去寫,然後除錯5 規範自己的程式設計習慣,使自己的程式更合理 更易讀至此,算是基礎了...

c語言到底要怎麼來學,C語言到底要怎麼來學

那該如何學c語言呢?希望我整理的 c語言的學習路線,能對你有幫助!如果沒有學習地方可以來 首先是c語言的基礎語法 變數 字串 條件 迴圈 陣列 函式 結構體等,然後就是指標 記憶體管理等c語言中至關重要的兩大標準。因此,學習c語言推薦大家可以從 c primer plus 開始入門,系統地瞭解c語言...