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...