<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 1、分析 小游戲中共有三個對象。一個是地圖(Map)、一個是食物(Food)、一個是蛇(Snake)。 以面向對象的方式來開發,應該創建三個對象。 每個對象的特點: > 地圖Map: * 寬width * 高height * 背景顏色backgroundColor * 顯示方法:show > 食物Food: * 寬width * 高height * 背景顏色backgroundColor * x軸坐標:0~29(每個坐標實際像素是20px) * y軸坐標:0~19(每個坐標實際像素是20px) > 蛇Snake: * 身體body(默認有三個div組成,其中一個蛇頭,兩段蛇身,都有顏色) * 能夠移動move * 能夠拐彎,改變移動方向 * 能夠吃食物,變長 # 2、創建地圖 ![](https://img.kancloud.cn/ae/50/ae50eb159952585254a5b54e26003ef5_688x497.png) # 3、創建食物 創建一食物,讓它顯示在body中。 ![](https://img.kancloud.cn/62/77/6277c67774b39b61873455fbc62b87c1_731x532.png) 食物沒有和地圖對齊,解決辦法是讓父級元素地圖position是relative,讓子元素食物position是absolute,并且讓食物顯示在地圖中,而不是顯示在body中。 所以修改Map,添加position屬性,并且用一個屬性_map來保存地圖: ![](https://img.kancloud.cn/d8/e8/d8e83f88a2df56f56c201951ff4b5fce_756x531.png) 然后修改食物,讓其顯示在地圖中即可: ![](https://img.kancloud.cn/64/ed/64ed6290f6186e22199ceb96925596cb_775x583.png) # 4、創建蛇 ![](https://img.kancloud.cn/cb/25/cb25751a28a128fd2b7e6a4b87f66739_816x152.png) 蛇的每一節用一個div來表示,每一節都有寬度、高度、背景顏色、坐標。創建蛇,并讓它顯示到地圖上。 ![](https://img.kancloud.cn/a6/b8/a6b8890ed311640c80b41d915f75809b_824x626.png) # 5、讓蛇移動 移動方向:默認先向右移動。 ![](https://img.kancloud.cn/99/ec/99ecedd3b0bd6fe40b6cd53e63b9c819_739x445.png) 這樣做有個問題,當蛇移動的時候,會調用show方法,讓蛇從新顯示。調用show方法,會一直循環創建div。所以看到的效果是蛇移動了,但是越走越長。 解決辦法: ![](https://img.kancloud.cn/dc/44/dc44236de64a3863cc1a6cc7570acbd5_940x570.png) # 6、讓蛇拐彎 控制蛇頭即可,因為身體一直跟著蛇頭走。 蛇頭的方向肯定是上下左右四個方向,可以用一個屬性來表示蛇的移動方向。 ![](https://img.kancloud.cn/db/9b/db9b40c15896ea2ec9dc37df845fb92e_896x248.png) 當蛇移動的時候,根據方向修改蛇頭的坐標: ![](https://img.kancloud.cn/79/2c/792ccede7f8927f2b2d0dc40da525c6a_741x570.png) 下面添加鍵盤事件,修改蛇的運行方向: ![](https://img.kancloud.cn/53/a2/53a27b273eca5e8363b317510e7b814b_773x542.png) # 7、讓蛇吃食物 蛇頭和食物重疊,才算吃到食物。即在移動過程中,如果發現蛇頭的坐標和食物的坐標一樣,才表示吃到食物。 ![](https://img.kancloud.cn/fb/4b/fb4b9316c183be3b199d952456ded7da_835x383.png) 這樣做,吃完食物,發現食物沒有從新顯示。修改Food函數: ![](https://img.kancloud.cn/0d/2d/0d2db750722ffccf5b725e0aa1bc9d2e_847x612.png) # 8、讓蛇加速 ![](https://img.kancloud.cn/af/07/af07ce4141818ba85da6531e94568a16_618x385.png) 當蛇吃到食物的時候,讓時間變小,速度加快: ![](https://img.kancloud.cn/48/53/4853205c8640335d6c1854144ebe487d_817x405.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看