国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JavaScript做一個(gè)貪吃蛇小游戲,無需網(wǎng)絡(luò)直接玩。

這篇具有很好參考價(jià)值的文章主要介紹了JavaScript做一個(gè)貪吃蛇小游戲,無需網(wǎng)絡(luò)直接玩。。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

用JavaScript做一個(gè)貪吃蛇小游戲,無需網(wǎng)絡(luò) => 打開即可玩。

html代碼:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>

        #game{
            width: 344px;
            background-color: #000;
            padding: 20px 8px;
            margin: 100px auto;
        }

        #score{
            color: #B7D4A8;
            text-align: center;
            font-size: 20px;
            font-weight: bold;
            margin-bottom: 10px;
        }

        #bg{
            width: 304px;
            height: 304px;
            background-color: #B7D4A8;
            padding: 20px;
            border-radius: 5%;
        }
        
        #main{
            width: 300px;
            height: 300px;
        /*    設(shè)置邊框*/
            border: 2px solid black;
            position: relative;
        }
        
        #food, .part{
            width: 8px;
            height: 8px;
            background-color: #000;
            border: 1px solid #B7D4A8;
            position: absolute;
            top: 0;
            left: 0;
        }

        #food{
            top: 50px;
            left: 100px;
        }
        
    </style>
    <script>

        /*
            1.頁面的布局
                - 注意事項(xiàng):
                    背景顏色 #B7D4A8
                    窗口大?。?0的倍數(shù))
                        蛇的大小 10px(可見框)
                        食物的大小 10px(可見框)

             2.隨機(jī)設(shè)置食物的位置
                修改食物的top和left值(范圍0-290)
                并且必須是10的倍數(shù)

             3.設(shè)置蛇的移動(dòng)
                蛇的速度 10px
                檢查蛇是否吃到食物(蛇頭的坐標(biāo)和食物一致)
                記分

             4.吃到食物蛇的身體要增加
                - 設(shè)置身體的位置?

             5.設(shè)置游戲的結(jié)束機(jī)制
                - 撞墻
                - 撞自己
         */

        window.onload = function () {
            //獲取食物的對象
            var food = document.getElementById('food')
            //獲取主窗口
            var main = document.getElementById('main')
            //獲取蛇頭
            var head = document.getElementById('head')
            //獲取蛇
            var snake = document.getElementById('snake')
            //獲取蛇的所有的部分
            var parts = document.getElementsByClassName('part')

            //創(chuàng)建一個(gè)變量,存儲(chǔ)最大的left和top
            var MAXLEFT = main.clientWidth - 10 // 290
            var MAXTOP = main.clientHeight - 10 // 290

            //創(chuàng)建一個(gè)變量,表示蛇頭的運(yùn)動(dòng)方向
            var dir = null
            //創(chuàng)建一個(gè)變量,表示蛇的速度
            var speed = 10
            //創(chuàng)建一個(gè)變量,存儲(chǔ)用戶的分?jǐn)?shù)
            var score = 0
            //獲取分?jǐn)?shù)的span
            var scoreText = document.getElementById('score_text')


            //創(chuàng)建一個(gè)定時(shí)器用來控制蛇的運(yùn)動(dòng)
            var timer = setInterval(function () {
                //獲取蛇頭當(dāng)前的位置
                var left = head.offsetLeft
                var top = head.offsetTop


                switch (dir) {
                    case 'ArrowDown':
                    case 'Down':
                        //向下
                        top += 10
                        if(parts[1] && top === parts[1].offsetTop){
                            top -= 20
                        }
                        break
                    case 'ArrowUp':
                    case 'Up':
                        //向上
                        top -= 10
                        if(parts[1] && top === parts[1].offsetTop){
                            top += 20
                        }
                        break
                    case 'ArrowLeft':
                    case 'Left':
                        //向左
                        left -= 10
                        //如果蛇頭的left值,和第二節(jié)身子的left一樣了,則說明蛇掉頭了
                        if(parts[1] && left === parts[1].offsetLeft){
                            left += 20
                        }
                        break
                    case 'ArrowRight':
                    case 'Right':
                        //向右
                        left += 10
                        if(parts[1] && left === parts[1].offsetLeft){
                            left -= 20
                        }
                        break
                }

                //檢查蛇是否撞墻
                if(left < 0 || left > MAXLEFT || top < 0 || top > MAXTOP){
                    clearInterval(timer)
                    alert('撞墻了,游戲結(jié)束!')
                    return
                }


                //檢查蛇是否吃到食物
                if(left === food.offsetLeft && top === food.offsetTop){
                    //進(jìn)入判斷,證明蛇吃到了食物(蛇頭與食物重合)
                    //加分
                    score++
                    // 000000001    00000000100
                    scoreText.innerHTML = ('00000000' + score).slice(-8)


                    //蛇變長..
                    //創(chuàng)建一個(gè)表示蛇的div
                    var body = document.createElement('div')

                    //設(shè)置class,part
                    body.className = 'part'

                    //設(shè)置蛇身體的位置, 獲取最后一個(gè)元素的位置
                    //parts是一個(gè)數(shù)組,里邊保存了蛇所有,包括蛇頭和身體
                    body.style.left = parts[parts.length - 1].offsetLeft + 'px'
                    body.style.top = parts[parts.length - 1].offsetTop + 'px'


                    //將身體添加到蛇里邊
                    snake.appendChild(body)

                    //改變食物的位置
                    changeFood(food)
                }


                //設(shè)置身體的位置,將當(dāng)前身體設(shè)置為它前一個(gè)身體的位置
                for(var i=parts.length-1 ; i>0 ; i--){

                    var pLeft = parts[i-1].offsetLeft
                    var pTop = parts[i-1].offsetTop

                    //檢查蛇頭的坐標(biāo)是否和身體重合
                    if(left === pLeft && top === pTop){
                        //撞到自己了
                        clearInterval(timer)
                        alert('撞自己了,游戲結(jié)束!')
                        return

                    }


                    parts[i].style.left = pLeft + 'px'
                    parts[i].style.top = pTop + 'px'
                }


                //修改蛇的位置
                head.style.left = left + 'px'
                head.style.top = top + 'px'


            },200)

            //創(chuàng)建一個(gè)數(shù)組,存儲(chǔ)所有的方向鍵的值
            var keys = ['ArrowDown','ArrowUp','ArrowLeft','ArrowRight','Right','Up','Left','Down']

            //綁定一個(gè)鍵盤事件
            document.onkeydown = function (event) {
                //檢查用戶按的是否是方向鍵
                if(keys.indexOf(event.key) !== -1){
                    //修改dir的值
                    dir = event.key
                }

            }


            //定義一個(gè)函數(shù),來隨機(jī)生成food的位置
            function changeFood(food) {
                //隨機(jī)生成left和top
                // left 和 top 應(yīng)該是10的倍數(shù)
                var left = Math.round(Math.random() * (MAXLEFT/10)) * 10
                var top = Math.round(Math.random() * (MAXTOP/10)) * 10

                //修改food的位置
                food.style.left = left+'px'
                food.style.top = top + 'px'
            }

            // setInterval(function () {
            //     changeFood(food)
            // },500)


        }

    </script>
</head>
<body>

<div id="game">
    <div id="score">
        score:<span id="score_text">00000000</span>
    </div>
    <div id="bg">
        <!--游戲的主窗口-->
        <div id="main">
<!--            創(chuàng)建表示蛇的元素-->
            <div id="snake">
                <div id="head" class="part"></div>
            </div>

<!--            定義食物-->
            <div id="food"></div>

        </div>
    </div>
</div>


</body>
</html>

在瀏覽器打開該文件:

直接按上下左右鍵就可以玩起來了

電腦在沒網(wǎng)絡(luò)的情況下怎么用代碼創(chuàng)個(gè)小游戲?,JavaScript相關(guān)語法,javascript,網(wǎng)絡(luò),前端,開發(fā)語言,ecmascript,jquery

撞墻了=>刷新網(wǎng)頁即可重新開始哦:

電腦在沒網(wǎng)絡(luò)的情況下怎么用代碼創(chuàng)個(gè)小游戲?,JavaScript相關(guān)語法,javascript,網(wǎng)絡(luò),前端,開發(fā)語言,ecmascript,jquery

歡迎關(guān)注我的原創(chuàng)文章:小伙伴們!我是一名熱衷于前端開發(fā)的作者,致力于分享我的知識和經(jīng)驗(yàn),幫助其他學(xué)習(xí)前端的小伙伴們。在我的文章中,你將會(huì)找到大量關(guān)于前端開發(fā)的精彩內(nèi)容。

學(xué)習(xí)前端技術(shù)是現(xiàn)代互聯(lián)網(wǎng)時(shí)代中非常重要的一項(xiàng)技能。無論你是想成為一名專業(yè)的前端工程師,還是僅僅對前端開發(fā)感興趣,我的文章將能為你提供寶貴的指導(dǎo)和知識。

在我的文章中,你將會(huì)學(xué)到如何使用HTML、CSS和JavaScript創(chuàng)建精美的網(wǎng)頁。我將深入講解每個(gè)語言的基礎(chǔ)知識,并提供一些實(shí)用技巧和最佳實(shí)踐。無論你是初學(xué)者還是有一定經(jīng)驗(yàn)的開發(fā)者,我的文章都能夠滿足你的學(xué)習(xí)需求。

此外,我還會(huì)分享一些關(guān)于前端開發(fā)的最新動(dòng)態(tài)和行業(yè)趨勢?;ヂ?lián)網(wǎng)技術(shù)在不斷發(fā)展,新的框架和工具層出不窮。通過我的文章,你將會(huì)了解到最新的前端技術(shù)趨勢,并了解如何應(yīng)對這些變化。

我深知學(xué)習(xí)前端不易,因此我將盡力以簡潔明了的方式解釋復(fù)雜的概念,并提供一些易于理解的實(shí)例和案例。我希望我的文章能夠幫助你更快地理解前端開發(fā),并提升你的技能。

如果你想了解更多關(guān)于前端開發(fā)的內(nèi)容,不妨關(guān)注我的原創(chuàng)文章。我會(huì)不定期更新,為你帶來最新的前端技術(shù)和知識。感謝你的關(guān)注和支持,我們一起探討交流技術(shù)共同進(jìn)步,期待與你一同探索前端開發(fā)的奇妙世界!文章來源地址http://www.zghlxwxcb.cn/news/detail-841954.html

到了這里,關(guān)于JavaScript做一個(gè)貪吃蛇小游戲,無需網(wǎng)絡(luò)直接玩。的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ??創(chuàng)意網(wǎng)頁:貪吃蛇游戲 - 創(chuàng)造一個(gè)經(jīng)典的小游戲

    ??創(chuàng)意網(wǎng)頁:貪吃蛇游戲 - 創(chuàng)造一個(gè)經(jīng)典的小游戲

    ? 博主: 命運(yùn)之光 ? ?? 專欄: Python星辰秘典 ?? 專欄: web開發(fā)(簡單好用又好看) ?? 專欄: Java經(jīng)典程序設(shè)計(jì) ?? 博主的其他文章: 點(diǎn)擊進(jìn)入博主的主頁 前言: 歡迎踏入我的Web項(xiàng)目專欄,一段神奇而令人陶醉的數(shù)字世界! ?? 在這里,我將帶您穿越時(shí)空,揭開屬于

    2024年02月14日
    瀏覽(27)
  • 【用python做一個(gè)貪吃蛇小游戲】

    引言: 貪吃蛇是一款經(jīng)典的小游戲,它既簡單又有趣。在本文中,我們將使用Python編寫一個(gè)貪吃蛇小游戲,通過這個(gè)項(xiàng)目來學(xué)習(xí)如何利用Python的基礎(chǔ)知識和圖形界面庫來創(chuàng)建一個(gè)簡單的游戲。 介紹: 貪吃蛇游戲的目標(biāo)是控制一條蛇在屏幕上移動(dòng)并吃掉食物,每吃掉一塊食物

    2024年02月08日
    瀏覽(26)
  • 基于C#制作一個(gè)貪吃蛇小游戲

    基于C#制作一個(gè)貪吃蛇小游戲

    基于C#制作一個(gè)貪吃蛇小游戲,簡單耐玩,操作簡單。

    2024年02月08日
    瀏覽(21)
  • 使用Java實(shí)現(xiàn)一個(gè)簡單的貪吃蛇小游戲

    使用Java實(shí)現(xiàn)一個(gè)簡單的貪吃蛇小游戲

    基于java實(shí)現(xiàn)貪吃蛇小游戲,主要通過繪制不同的圖片并以一定速度一幀一幀地在窗體上進(jìn)行展示。 開發(fā)工具:eclipse java工具包:jdk1.8 代碼地址:https://gitee.com/jay_musu/games-and-tools.git 創(chuàng)建一個(gè)新的項(xiàng)目,并命名。創(chuàng)建一個(gè)名為images的文件夾用來存放游戲相關(guān)圖片。然后再在項(xiàng)

    2024年02月11日
    瀏覽(28)
  • 用java寫一個(gè)貪吃蛇小游戲(源碼在最后)

    用java寫一個(gè)貪吃蛇小游戲(源碼在最后)

    涉及技能: 循環(huán)、分支 方法的抽取 數(shù)組的使用 面向?qū)ο?繼承,子類方法的重寫 接口,接口的實(shí)現(xiàn) GUI(圖像化界面編程) GUI中的組件: 7.1 窗口 7.2 彈窗 7.3 面板 7.4 文本框 7.5 列表框 7.6 按鈕 7.7 圖片 7.8 交互的事件:監(jiān)聽事件(鼠標(biāo)事件,鍵盤事件) GUI技術(shù),不流行了??!

    2024年02月03日
    瀏覽(25)
  • 【C語言】做一個(gè)貪吃蛇小游戲,完整代碼&附帶視頻演示

    【C語言】做一個(gè)貪吃蛇小游戲,完整代碼&附帶視頻演示

    視頻演示: https://www.bilibili.com/video/BV1pt421a7Nu/?spm_id_from=333.999.0.0vd_source=82b65865be0947de29bd55efc8cdb40a 編譯環(huán)境:linux(Vmware16.2.4 + Ubantu20.04.3); 小蛇??只能在固定的范圍內(nèi)活動(dòng); 可以利用鍵盤方向鍵控制小蛇??的前進(jìn)方向; 活動(dòng)范圍內(nèi)會(huì)隨機(jī)生成食物; 小蛇??吃到食物,身

    2024年02月21日
    瀏覽(26)
  • 如何用MetaGPT幫你寫一個(gè)貪吃蛇的小游戲項(xiàng)目

    如何用MetaGPT幫你寫一個(gè)貪吃蛇的小游戲項(xiàng)目

    MetaGPT是基于大型語言模型(LLMs)的多智能體寫作框架,目前在Github開源,其Start數(shù)量也是比較高的,是一款非常不錯(cuò)的開源框架。 下面將帶你進(jìn)入MetaGPT的大門,開啟MetaGPT的體驗(yàn)之旅。首先是入門教程,如何安裝及使用MetaGPT。 一、環(huán)境安裝 python 環(huán)境安裝,MetaGPT所需的Python環(huán)

    2024年01月19日
    瀏覽(31)
  • 10分鐘教你用Python寫一個(gè)貪吃蛇小游戲,適合練手項(xiàng)目

    10分鐘教你用Python寫一個(gè)貪吃蛇小游戲,適合練手項(xiàng)目

    貪吃蛇,大家應(yīng)該都玩過。當(dāng)初第一次接觸貪吃蛇的時(shí)候 ,還是能砸核桃的諾基亞上,當(dāng)時(shí)玩的不亦樂乎。今天,我們用Python編程一個(gè)貪吃蛇游戲,下面我們先看看效果: 所有的游戲最主要的內(nèi)容都是程序的內(nèi)循環(huán),這才是保證一個(gè)游戲能夠正常運(yùn)行的前提。 以下是編寫貪吃

    2024年01月17日
    瀏覽(18)
  • 一篇文章教會(huì)你寫一個(gè)貪吃蛇小游戲(純C語言)

    一篇文章教會(huì)你寫一個(gè)貪吃蛇小游戲(純C語言)

    實(shí)現(xiàn)基本的功能 : ? 貪吃蛇地圖繪制 ? 蛇吃?物的功能(上、下、左、右?向鍵控制蛇的動(dòng)作) ? 蛇撞墻死亡 ? 蛇撞??死亡 ? 計(jì)算得分 ? 蛇?加速、減速 ? 暫停游戲 Win32 API是一套由Microsoft提供的應(yīng)用程序編程接口,用于開發(fā)Windows平臺上的應(yīng)用程序。它包括了豐

    2024年01月22日
    瀏覽(30)
  • 小游戲?qū)崙?zhàn)丨基于PyGame的貪吃蛇小游戲

    小游戲?qū)崙?zhàn)丨基于PyGame的貪吃蛇小游戲

    本期內(nèi)容:基于pygame的貪吃蛇小游戲 下載地址:https://download.csdn.net/download/m0_68111267/88700188 實(shí)驗(yàn)環(huán)境 python3.11及以上 pycharm pygame 安裝pygame的命令: pygame是一個(gè)開源的Python模塊,專門用于編寫電子游戲。它使用簡單、功能強(qiáng)大,因此非常適合初學(xué)者入門。pygame的主要特點(diǎn)包括圖

    2024年02月03日
    瀏覽(100)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包