厲害了花椭,程序員28行代碼寫貪吃蛇游戲,附源碼丹允!

對(duì)于貪吃蛇游戲,大家基本上都玩過雕蔽,但是作為一個(gè)程序員,大家是否想過要自己去寫一個(gè)貪吃蛇扇售,畢竟玩別人寫的游戲和自己寫的游戲是兩種截然不同的感受嚣艇,而且也可以通過制作來提升自己的技術(shù)!

其實(shí)貪吃蛇的邏輯并不復(fù)雜食零,只要學(xué)過一段時(shí)間的編程,不管是什么語言娜搂,基本上都可以獨(dú)立實(shí)現(xiàn)吱抚,而今天和大家分享的一個(gè)貪吃蛇源碼,是小編見過的比較“極致”的代碼了秘豹,用的是canvas+JavaScript,總共只有28行代碼因痛。

貪吃蛇源碼:

<!doctype html>

<html>

<body style='overflow:hidden'>

<canvas id="can" width="400" height="400" style="background:Black;display: block;margin:20px auto;"></canvas>

<script>

var sn = [ 42, 41 ], dz = 43, fx = 1, n, ctx = document.getElementById("can").getContext("2d");

function draw(t, c) {

ctx.fillStyle = c;

ctx.fillRect(t % 20 * 20 + 1, ~~(t / 20) * 20 + 1, 18, 18);

}

document.onkeydown = function(e) {

fx = sn[1] - sn[0] == (n = [ -1, -20, 1, 20 ][(e || event).keyCode - 37] || fx) ? fx : n

};

!function() {

sn.unshift(n = sn[0] + fx);

if (sn.indexOf(n, 1) > 0 || n<0||n>399 || fx == 1 && n % 20 == 0 || fx == -1 && n % 20 == 19)

return alert("GAME OVER");

draw(n, "Lime");

if (n == dz) {

while (sn.indexOf(dz = ~~(Math.random() * 400)) >= 0);

draw(dz, "Yellow");

} else

draw(sn.pop(), "Black");

setTimeout(arguments.callee, 130);

}();

</script>

</body>

</html>

效果展示:

游戲中

厲害了岸更,程序員28行代碼寫貪吃蛇游戲,附源碼谭企!

![](https://user-gold-cdn.xitu.io/2019/4/11/16a0c71798c4b29f?w=640&h=274&f=png&s=12939)

游戲結(jié)束

![](https://user-gold-cdn.xitu.io/2019/4/11/16a0c719bf260374?w=640&h=284&f=png&s=19679)

厲害了评肆,程序員28行代碼寫貪吃蛇游戲,附源碼瓜挽!

但是整體來說還是有一定的缺陷,代碼由于過于追求簡(jiǎn)單俄占,而放棄了很多代碼方面的規(guī)范,比如注釋缸榄,比如代碼的可讀性,如果沒有一定的基礎(chǔ)的同學(xué)她肯,對(duì)于這個(gè)代碼可能需要研究很久才能明白其中的邏輯性鹰贵。所以,代碼并不是越短越好砾莱,在實(shí)際的項(xiàng)目開發(fā)中,要考慮多方面的因素聚假。

福利區(qū):

關(guān)注公眾號(hào):“蝌蚪前端”闰非,私信"源碼"即可,自助領(lǐng)取28行極簡(jiǎn)代碼貪吃蛇源碼文檔版财松。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末辆毡,一起剝皮案震驚了整個(gè)濱河市菜秦,隨后出現(xiàn)的幾起案子舶掖,更是在濱河造成了極大的恐慌,老刑警劉巖主慰,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鲫售,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡藐不,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棉安,“玉大人,你說我怎么就攤上這事衷模。” “怎么了阱冶?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵滥嘴,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我镊叁,道長(zhǎng)走触,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任敛腌,我火速辦了婚禮惫皱,結(jié)果婚禮上像樊,老公的妹妹穿的比我還像新娘旅敷。我一直安慰自己,他們只是感情好足绅,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布韩脑。 她就那樣靜靜地躺著,像睡著了一般首量。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上加缘,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音沈贝,去河邊找鬼勋乾。 笑死,一個(gè)胖子當(dāng)著我的面吹牛辑莫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播枝笨,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼揭蜒,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了忌锯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬榮一對(duì)情侶失蹤张咳,失蹤者是張志新(化名)和其女友劉穎似舵,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體砚哗,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蛛芥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了称勋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涯竟。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡空厌,死狀恐怖银酬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情揩瞪,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布北发,位于F島的核電站喷屋,受9級(jí)特大地震影響瞭恰,放射性物質(zhì)發(fā)生泄漏屯曹。R本人自食惡果不足惜惊畏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一颜启、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧缰盏,春花似錦、人聲如沸口猜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽须尚。三九已至,卻和暖如春耐床,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咙咽。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蜡豹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓弄诲,卻偏偏與公主長(zhǎng)得像娇唯,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子塔插,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 上周看到一個(gè)大腿用20行代碼寫了貪吃蛇游戲想许,覺得好屌,分享一下他的代碼流纹。原文地址戳這??: 原文鏈接。廢話不多說漱凝,看...
    linwalker閱讀 804評(píng)論 0 16
  • 從烏云密布的一個(gè)早晨茸炒,到天氣變得陰沉、郁熱扣典、潮濕的午后;緊接著入夜贮尖,天色暗沉,風(fēng)雷聲大作湿硝;最后到深夜,雷聲...
    魚日日閱讀 2,024評(píng)論 4 24
  • 4.30《查令十字街84號(hào)》 【day49盈盈】 書中沒有讓人感覺轟轟烈烈的愛情故事示括,有的只是一封封來往互通的信痢畜,...
    蘇小盈閱讀 192評(píng)論 0 0
  • 首先你要明確你的系統(tǒng)版本鳍侣,win32系統(tǒng)還是Linux吼拥,X86還是X64;如果你的系統(tǒng)是x86平臺(tái)凿可,在安裝了ana...
    July_EF閱讀 23,144評(píng)論 0 1
  • 還記得小時(shí)候你長(zhǎng)得白白胖胖的辜腺,特可愛休建,我?guī)愠鋈ザ继刈院榔懒疲羞@么可愛的弟弟茵烈,但可能從小炫耀心里比較嚴(yán)重吧百匆,帶你出去...
    我不是作家我是大拿閱讀 388評(píng)論 0 0