迴圈佇列 貪吃蛇版

2021-07-26 02:01:02 字數 1587 閱讀 6294

一.入佇列不會滿的情況下,會覆蓋掉尾部的資料.

二.快速從尾部獲取指定個數個資料.

public

class loopqueueimplements serializable

// 以乙個初始化元素來建立迴圈佇列

public

loopqueue(t element)

/*** 以指定長度的陣列來建立迴圈佇列

* * @param element

* 指定迴圈佇列中第乙個元素

* @param initsize

* 指定迴圈佇列底層陣列的長度

*/public

loopqueue(t element, int initsize)

/*** 獲取迴圈佇列的大小

* * @return

*/public

intsize()

return rear > front ? rear - front : capacity - (front - rear);

}/**

* 入佇列

* * @param element

*/public

void

offer(t element)

elementdata[rear++] = element;

// 如果rear已經到頭,那就轉頭

rear = rear == capacity ? 0 : rear;

}/**

* 出佇列

* * @return

*/public t poll()

// 保留佇列的rear端的元素的值

@suppresswarnings("unchecked")

t oldvalue = (t) elementdata[front];

// 釋放佇列的rear端的元素

elementdata[front++] = null;

// 如果front已經到頭,那就轉頭

front = front == capacity ? 0 : front;

return oldvalue;

}// 返回佇列頂元素,但不刪除佇列頂元素

@suppresswarnings("unchecked")

public t element()

return (t) elementdata[front];

}// 判斷迴圈佇列是否為空佇列

public boolean isempty()

// 清空迴圈佇列

public

void

clear()

/*** 從尾部獲取指定個數個資料

* * @param count

* @return

*/public listgetelementsformrear(int count)

return result;

}public

static

void

main(string args)

}}

VC版貪吃蛇

此處,我感受到復用性的好處,將與顯示或平台無關的東西分裝在一起,如果能進一步抽象的盡量抽象,就可以充分發揮其復用性。具體的關於snake的設計,請參見我的部落格 c 版貪吃蛇遊戲 下面是vc下的遊戲介面截圖 在這裡說一下vc下與c 不同的及新家的東西。cpp view plain copy 引入庫 ...

pygame Python 版貪吃蛇

貪吃蛇是個非常簡單的遊戲,適合練手。先來看一下我的遊戲截圖 玩法介紹 回車鍵 開始遊戲 空格鍵 暫停 繼續 方向鍵 或 wsad 鍵 控制移動方向。食物分紅 綠 藍三種,分別對應 10 分 20 分 30 分,每吃乙個食物增加對應分值,每增加 100 分速度加快一級,沒有設定關卡,我玩到 1100 ...

Qt版貪吃蛇遊戲

qt版貪吃蛇遊戲 以下是windows 7下執行截圖 以下是ubuntu下執行截圖 我在windows下編寫好之後,將原始碼在ubuntu下重新編譯執行,就可以在ubuntu下執行,這也充分體現出qt一次編寫,到處執行的優勢。關於貪吃蛇遊戲的設計原理就不講了,具體可以參考我的部落格 c 版貪吃蛇遊戲...