1樓:雨中笨豬
第一次看到這個程式。
如有不對的地方,請指正。
while (temp !=
如果temp不是蛇頭的下乙個點。
將temp的x值設為temp上乙個點的x值。
temp-> = temp->before->;
將temp的y值設為temp上乙個點的y值temp-> = temp->before->;
將當前點作為上一點,下次迴圈使用。
temp = temp->before;
貪吃蛇是乙個不斷增加的連結串列,連結串列中每乙個點都需要隨著蛇頭不斷的更新位置,這個程式更新位置的方法是,蛇頭座標直接增加,而蛇身中的點下一點座標取上一點座標值,依次類推。
2樓:網友
額。。。好長。。。不是一下子能看完的。
c語言貪吃蛇轉向問題
3樓:緣明思
單連結串列,節點結構存body放位置座標x,y以及指向前乙個結構的指標*fount。
計時器time,鍵盤捕捉函式getkey(),隨機產生新身體newbody()。
程式開始->螢幕中心產生乙個「蛇」->得到按鍵命令後移動->計時器++time後,按照上次得到的按鍵命令方向移動->得到新按鍵命令轉向->得到新「身體」->撞牆(自身)結束遊戲。
產生蛇:螢幕確定地點選取三個位置,放置三個body,在第一次接收按鍵時確定」頭「座標(x0,y0)。
頭:*fount指向null的節點。
移動和轉向:確定座標(如直角座標系左上為(0,0),右下為(mx,my)),左=x-1,右=x+1,上=y-1,下=y+1。且所有按鍵均為有效方向按鍵。
身體移動:」頭「移動後,身體依次接替前一項。即,」頭「移動到」新頭「,」頭「的下乙個,移動到頭;再下乙個移動到上乙個,以此類推。
得到新「身體」:停止這一次計時器移動,並且把新「身體」當做「頭」。
撞牆:「頭」的座標中有乙個==邊界座標即為撞牆。
撞自身:「頭」的座標==「身體」中任意乙個節點的座標即為裝自身。
4樓:網友
獲取鍵盤事件,,,更改頭的下乙個位置x,和y 。。
有關指向指標的指標的問題,一個有關指向指標的指標的問題?
指標,全稱是指標變數,如 char pc pc是指標變數,我習慣上叫他指標 就因為這個叫法讓人迷惑了 char ppc ppc也是指標變數,我們習慣上稱它為指向指標的指標。這些習慣上的叫法,其實沒有真正體現它們的實際意義!我們來看定義 指標變數 定義 存放地址的變數稱為指標變數。指標變數是一種特殊的...
簡單的C 問題,一個簡單的C 問題
可以按浮點數讀入輸入,然後判斷小數點後面是不是有小數,比如 include using namespace std define alpha 0.000001int main void else cout please enter integer return 0 不過感覺有點tricky,有高見的...
c 的小問題,c 的一個小問題
這個,假設你的word 4 這時 word.size 4 那麼for迴圈這樣工作!j 0 i word.size 1 3temp word i temp d word i word j word i a word j temp word j d 這時j 1,i 2 temp word i temp ...