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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

划水神器--在浏览器地址栏和标签页title里面玩俄罗斯方块

發(fā)布時間:2023/12/20 HTML 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 划水神器--在浏览器地址栏和标签页title里面玩俄罗斯方块 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

劃水神器–在瀏覽器地址欄和標簽頁title里面玩俄羅斯方塊

效果如圖:

在線體驗

1. 原理

  • URL地址欄中玩:使用window.location.hash動態(tài)修改頁面的hash值
  • 標簽頁中玩:使用document.title動態(tài)修改頁面的title
  • 使用一個定時器,產(chǎn)生方塊下落的效果,監(jiān)聽鍵盤按鍵事件,修改方塊形態(tài)、位置
  • 2. 依賴的庫

    為了開發(fā)方便,可以使用這兩個庫:tetris-engine和braille-encode
    1. tetris-engine
    tetris-engine是用于自行開發(fā)自定義俄羅斯方塊游戲的輕量級JavaScript庫。
    可以使用npm安裝,安裝好之后初始化也很簡單:

    let areaHeight = 20; let areaWidth = 15;let game = new Engine(areaHeight, areaWidth, renderFunc, defaultHeap, additionalShapes );//For starting game process need run game.start(); //And run cycle that each iteration runs game.moveDown(); game.start();let firstLevelInterval = 1000; setInterval(() => {game.moveDown(); }, firstLevelInterval);// Use game.rotate(); game.rotateBack(); game.moveRight(); game.moveLeft(); game.moveDown(); game.pause(); game.start();//for game managament //You even use game.moveUp() for your custom game

    2. braille-encode

    braille-encode是將二進制數(shù)據(jù)表示為盲文,也就是我們最后實現(xiàn)的方塊,比如下面這些,當然我們用不了這么多。

    ???????????????
    ????????????????
    ????????????????
    ????????????????
    ????????????????
    ????????????????
    ????????????????
    ????????????????
    ????????????????
    ????????????????
    ????????????????
    ????????????????
    ????????????????
    ????????????????
    ????????????????
    ????????????????

    安裝:

    npm install braille-encode

    初始化:

    var brailleEncode = require("braille-encode");var buf = new Buffer("d41d8cd98f00b204e9800998ecf8427e", "hex");var str = brailleEncode.encode(buf); console.log(str); // "????????????????"var buf2 = brailleEncode.decode(str); console.log(buf.equals(buf2)); // true

    3. 組裝一下,完事

    有了游戲引擎,也有了方塊,接下來就是組裝一下。
    我們要做的也很簡單:

  • 初始化tetris-engine
  • 監(jiān)聽按鈕事件
  • 根據(jù)tetris-engine創(chuàng)建的游戲每次返回值轉(zhuǎn)化為對應(yīng)的盲文
  • 把對應(yīng)的盲文渲染到title和hash
  • 我用vue簡單搞了一個,有興趣的可以搞過去看看。

    總結(jié)

    以上是生活随笔為你收集整理的划水神器--在浏览器地址栏和标签页title里面玩俄罗斯方块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。