實現貪吃蛇

2021-07-23 15:02:31 字數 1837 閱讀 6253

貪吃蛇:

1.它的移動我們採用頭部加乙個尾巴減乙個

2.我們將view的大小分成很多個格仔

3.蛇的移動是以乙個格仔為單位

/**

* created by administrator on 2016/10/11.

*/public class gameview extends view

public gameview(context context, attributeset attrs)

@override

protected void ondraw(canvas canvas)

paint.setcolor(color.red);

//繪畫食物

canvas.drawrect(food.x * size, food.y * size, food.x * size + size, food.y * size + size, paint);

}@override

protected void onmeasure(int widthmeasurespec, int heightmeasurespec)

}private void initdata()

private void createbody()

}public void setorentation(int orentation)

//執行遊戲

private void startgame() catch (exception e)

if(ispause)catch (exception e) finally }}

}}).start();

}private void move() else

point head = body.getfirst();

switch (orentation)

if (!canrun(head))

});return;

}//頭部加1

body.addfirst(currentpoint);

if (currentpoint.equals(food))

});createfood();

} else

}//建立食物

public void createfood()

} while (body.contains(food));

}});

}//判斷是否能繼續遊戲

public boolean canrun(point head)

//執行不能越界

if (head.x

< 0)

if (head.y

< 0)

if (width != 0)

if (head.y > height / size-2)

}return true;

}//停止遊戲

public void stopgame()

//暫停

public void setpause()

//繼續

public void continuegame()finally

}public void settextview(textview textview)

//彈出對話方塊

public void showdailog()

});builder.setnegativebutton("放棄", new dialoginte***ce.onclicklistener()

});builder.create().show();

}//重寫開始

public void restart()

}

c 實現貪吃蛇

include include include include include include include include include word square color 7 義方向 define key up 72 define key down 80 define key left 75...

canvas實現貪吃蛇

效果圖ps 這個只是思路,詳細可看 注釋 一 先把蛇畫出來 定義一下蛇的結構,用乙個陣列儲存一堆矩形,包含蛇頭 紅 和蛇身 灰 畫蛇 初始狀態 二 蛇能動 重點 蛇移動方式 自始至終都只有蛇頭在動 需要乙個儲存方向的變數 direction 根據方向進行移動,一次移動乙個格 根據按鍵改方向 三 隨機...

QT實現貪吃蛇

linux作業系統 qt5.5.1 貪吃蛇的身體用什麼形式展現 當方向改變時,蛇身如何實現轉向前進 如何記錄蛇身的每乙個座標 如何判斷遊戲結束 首先有兩種辦法實現,第一 用qpushbutton按鍵類,每個乙個按鍵就是蛇的一部分身體,另外 用qpaintevent繪圖事件畫出蛇的身體,個人認為用qp...