C語言貪吃蛇程序(實現基本的吃米功能),但程序老是出問題

時間 2022-10-27 13:00:08

1樓:快樂0小孩

這個程式沒有問題啊,能執行。沒錯

c語言 貪吃蛇 程式

貪吃蛇(c語言),「程式已停止工作」的問題

2樓:米白微白

執行嘗試了下,據你的描述很大可能會出錯的地方就是隨機數的產生//檢測食物的座標是否與蛇身體重複,如果是,則重新生成食物dop=p->link;

} while(p!=null);

一旦與蛇身重複就遞迴呼叫,但短時間內srand由time()產生的種子不變,就導致一段時間內持續遞迴,大概有1s,這是因為time()返回秒數。如果再重疊...

檢驗方法可以縮小產生隨機數的範圍以使與蛇身重疊,很容易出現。

3樓:匿名使用者

樓主,你的mkfood(struct snk *p)並沒有檢查新生成的食物是否與前一食物重疊。當檢測食物的座標與蛇身體重複時,你遞迴呼叫mkfood(struct snk *p)。注意:

srand((unsigned)time(null))設定隨機數種子時,time函式是1秒1個返回值,兩個相鄰的time函式極有可能返回相同值!這樣srand((unsigned)time(null))就會得到相同的種子。相同種子的結果就是,rand()新生成的食物跟前一食物重疊!

我除錯了很久,想看看食物重疊後程式為什麼崩潰,但沒找到。

clock函式是以毫秒為返回單位吧?有這個函式只是會降低你程式崩潰的概率。不能解決根本問題!

我把你的mkfood函式改成如下(儘量不要用遞迴),應該沒問題了:

c語言貪吃蛇程式,請問這一段啥意思?

C語言程序

coffeegg1985 這位老兄看得很仔細,我再補充一點,include include include int data 63 data沒定義既然是大寫乾脆就幫你定義成全域性變數了 struct sector struct sector sect1 struct sector sect2 str...

誰知道以前有款類似貪吃蛇的手機遊戲叫什麼

飛雪傑靈 您說的應該也是貪吃蛇,只不過貪吃蛇有 好多不同的版本,應用寶裡這款貪吃蛇的版本 最全了,我剛才還特意在應用寶裡給您找了一下給您截圖了,看看有沒有你要的那款,真心希望幫到您,希望您能給採納,謝謝 zry吉 啊 這個是龐然巨物!英文名怎麼打我不記得了,讀音應該是 克隆鬆戳 誰知道以前有款類似貪...

c語言程序設計,c語言程式設計

整體應該沒問題,但是後面兩個方法,j,i沒有初始化,執行錯誤應該是這個地方的問題。還有,a n 定義容易出錯,最好改成2維陣列,或者是n 2 include define n 3 main nextline i j min i,a m max j,a if i m else if i n 1 got...