用java編程的著名游戲,問一個java當人游戲?
魔王與天使之淚 (這是快10年前的游戲了 當時很好玩的,)
如何用java實現一個貪吃蛇小游戲?
1、設計游戲,首先就要設計界面。首先看一下我設計的一個界面。界面分為左邊的游戲區與右邊的控制區。游戲區包含“得分信息”和貪吃蛇的游戲區,右邊控制區有“開始”“暫停”“停止”按鈕,等級選擇單選框以及游戲排行榜。
2、所以我們需要定義swing組件,并在類初始化時初始化這些組件,添加組件。因為后面設計游戲的時候,我們要確切知道游戲區的大小,所以這里設置游戲區固定大小值。本來想用布局來更好的管理,但作者對布局也掌握不夠,所以就先設置固定大小吧。
3、定義我們的游戲。貪吃蛇游戲其實就是包含很多細小網格,然后蛇在網格中移動。蛇由一連串的網格組成,為了視覺效果,蛇身用藍色標記,食物用紅色標記,背景白色。如第一張圖片所示。所以,我們需要定義二維數組,保存網格信息,保存蛇身和食物的位置信息等。初始化時,還需要添加鍵盤事件控制上下左右移動。
4、食物的位置信息是二維的,所以我簡單定義了一個類用來保存二維信息。
5、接著就是實現游戲的功能了。開始,暫停,停止按鈕添加事件控制游戲開始。等級按鈕定義游戲難度等。
6、開始游戲后,我們定義一個定時器。蛇身按照指定的方向移動,方向是通過初始化時添加的鍵盤事件,鍵盤的上下左右按鈕來控制。蛇身是連續的位置信息,保存到隊列中,所以蛇身的移動就是隊首增加一個位置,隊尾減少位置,然后重新繪畫游戲區就可以了。
java編程貪吃蛇游戲的原理和用到了哪些內容知識?
把蛇身體的每一塊看成一個對象(對象存儲該塊的坐標和相關信息),作為節點存儲在線性鏈表中,再設置一個變量標志蛇的方向(通過按鍵可以改變)。一般人都是讓每一個節點等于他指向的下一個節點,并讓頭節點改變位置來實現轉彎和移動,這個算法復雜度太高(O(n)),實際上只要做兩步操作,插入一個頭節點,刪除一個尾節點就可以了,新插入的頭節點位置根據蛇當前的方向決定。
以上就是關于用java編程的著名游戲和問一個java當人游戲的相關問題解答,希望對你有所幫助。