日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言程序员写贪吃蛇代码28,厉害了,程序员28行代码写贪吃蛇游戏,附源码!...

發布時間:2024/4/19 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言程序员写贪吃蛇代码28,厉害了,程序员28行代码写贪吃蛇游戏,附源码!... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

其實貪吃蛇的邏輯并不復雜,只要學過一段時間的編程,不管是什么語言,基本上都可以獨立實現,而今天和大家分享的一個貪吃蛇源碼,是小編見過的比較“極致”的代碼了,用的是canvas+JavaScript,總共只有28行代碼。

貪吃蛇源碼:

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);

}();

效果展示:

游戲中

游戲結束

但是整體來說還是有一定的缺陷,代碼由于過于追求簡單,而放棄了很多代碼方面的規范,比如注釋,比如代碼的可讀性,如果沒有一定的基礎的同學,對于這個代碼可能需要研究很久才能明白其中的邏輯性。所以,代碼并不是越短越好,在實際的項目開發中,要考慮多方面的因素。

福利區:

關注小編的公眾號:蝌蚪前端,私信"源碼"即可,自助領取28行極簡代碼貪吃蛇源碼文檔版。

總結

以上是生活随笔為你收集整理的c语言程序员写贪吃蛇代码28,厉害了,程序员28行代码写贪吃蛇游戏,附源码!...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。