操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    家好,我是Echa。

    前段時間有00后前端程序員粉絲私信小編問道:小時候我們玩什么小游戲,用Vue和React可以開發簡易的Web站點小游戲嗎?這一類的問題。立馬勾起了小編的小時候玩的那些經典小游戲愛的那么癡迷。

    經典小游戲愛的那么癡迷

    作為80后的小編,雖然禿頭程序員沒有頭發,但是童心還是一直都在的。對于童年時玩過的那些經典游戲,我們始終難以忘懷。回憶和懷念經典最好的方式就是重新體驗它們!GitHub作為程序員們的開源寶庫,有著很多非常好的項目。.其中有許多可以稱之為經典,像《俄羅斯方塊》、《記憶翻牌》、《掃雷》、《貪吃蛇》、《坦克大戰》等等陪伴我們度過了兒時快樂的時光。

    小霸王學習機 一句“小霸王其樂無窮啊”能夠勾起多少八零九零的集體回憶,曾經靠一副手柄就能爽快打完魂斗羅、沙羅曼蛇、雪人兄弟、忍者神龜、超級瑪麗..


    小霸王


    借此機會,小編給大家好物分享10個經典小游戲開源項目(Vue、React版),免費送一個。希望忙碌的粉絲們勞逸結合,可以玩玩,放松放松,有利于身心健康。不過千萬別成謎語游戲無法自拔的那種,玩也有一個度。

    下面小編給一一介紹,看看哪款游戲是你們的最愛:你可以在試玩過程中自定義游戲關卡并學習源代碼。

    全文大綱

    1. react-tetris - 經典俄羅斯方塊小游戲
    2. backbone-game-engine - 超級馬里奧是比較經典的GBA小游戲,紅帽子藍吊帶的大胡子工人陪伴著很多90后度過童年。
    3. battle-city- 使用 React 將各類素材封裝為對應的組件開發的坦克大戰小游戲。
    4. snake-vue3 - 基于 Vue 3.3、Vite、Vuex 實現的經典貪吃蛇小游戲。
    5. minesweeper-react - 用 CSS 復制 Win98 的風格掃雷小游戲。
    6. threejs-tetris-react - 基于 Three.js、React、TypeScript 實現的 3D 俄羅斯方塊游戲
    7. habitica - 它會將你培養習慣的過程,當作一個 RPG 角色扮演游戲。
    8. game-application-using-react-and-typescript - 使用 React 和 TypeScript 構建的簡單 2D 蛇游戲。
    9. 3072-是一款受流行游戲“2048”啟發的數字合并游戲.
    10. 3d-chess-v2- 使用 React、Redux Toolkit、ThreeJS、React Three Fiber、ChessJS 和 ChakraUI 構建的經典國際象棋游戲。
    11. frontend-concentration-or-memory - 使用 Vue3.3、Pinia、Webpack、TypeScript 開發的一款記憶翻牌游戲。

    react-tetris - 經典俄羅斯方塊小游戲

    Github:https://github.com/chvin/react-tetris

    體驗:https://chvin.github.io/react-tetris/?lan=en


    react-tetris - 經典俄羅斯方塊小游戲

    復刻經典的俄羅斯方塊,該項目采用 React+Redux+Immutable 的技術棧。這款游戲的復刻程度堪稱像素級別,不僅體現在畫面上,還有流暢度、玩法、音效等方面都做到了極致。

    俄羅斯方塊是一直各類程序語言熱衷實現的經典游戲,JavaScript的實現版本也有很多,用React 做好俄羅斯方塊則成了我一個目標。

    backbone-game-engine - 超級馬里奧是比較經典的GBA小游戲,紅帽子藍吊帶的大胡子工人陪伴著很多90后度過童年。

    Github:https://github.com/martindrapeau/backbone-game-engine

    體驗:http://martindrapeau.github.io/backbone-game-engine/super-mario-bros/index.html


    backbone-game-engine - 超級馬里奧


    超級馬里奧是比較經典的GBA游戲了,這個紅帽子藍吊帶的大胡子工人陪伴著很多90后度過童年。這個游戲支持游戲自定義道具,充分回味童年的樂趣。


    特性:

    • 基于Backbone。事件、模型、集合、繼承和RESTful持久性。為什么要重新發明輪子?
    • 僅HTML5畫布。沒有jQuery,盡可能少的DOM操作。
    • 移動優化。構建為在支持透明觸摸和視口的移動設備上運行。一切都針對最大每秒幀數(FPS)進行了優化。
    • 使用CocoonJS實現原生。。專為在魯德的CocoonJS canvas+中運行而構建。在iOS和Android上部署本機。
    • 2D平臺生成器。內置側面滾動條。內置精靈類,精靈表,角色,英雄,四叉樹碰撞檢測,世界和編輯器。
    • 沒有匯編。您不需要安裝node、grunt或其他任何東西。只需編碼并按F5即可運行。
    • 不需要服務器。Fork這個repo,你的Github網站就開始運行了。創建你自己的游戲,并將你的朋友指向它。返利以獲取最新的引擎更新。
    • 專為移動設備打造。設想在平板電腦上運行。與媽媽分享你的URL,這樣她就可以把它添加到iPad的主屏幕上。
    • 如果脫機,則Take。使用HTML5應用程序緩存,您的游戲可以離線運行。非常適合在路上或釣魚時使用。
    • 保存狀態。使用HTML5本地存儲,保存您所在的位置。
    • 世界編輯。專為基于瓦片的游戲設計,配有世界編輯器。放置你的互動程序和角色,然后點擊play進行嘗試。點擊保存來拯救你的世界。

    battle-city- 使用 React 將各類素材封裝為對應的組件開發的坦克大戰小游戲。

    Github:https://github.com/shinima/battle-city

    體驗:https://battle-city.js.org


    坦克大戰 單人打

    《坦克大戰》是由日本南夢宮Namco游戲公司開發的一款平面射擊游戲,于1985年發售。游戲以坦克戰斗及保衛基地為主題,屬于策略型聯機類。 這個項目在很大程度上還原了坦克大戰游戲。圖標、音效和界面等方面,各個細節的幾乎一模一樣。


    坦克大戰 雙人打

    該 GitHub 倉庫的版本是經典坦克大戰的復刻版本,基于原版素材,使用 React 將各類素材封裝為對應的組件。素材使用 SVG 進行渲染以展現游戲的像素風,可以先調整瀏覽器縮放再進行游戲,1080P 屏幕下使用 200% 縮放為最佳。此游戲使用網頁前端技術進行開發,主要使用 React 進行頁面展現,使用 Immutable.js 作為數據結構工具庫,使用 redux 管理游戲狀態,以及使用 redux-saga/little-saga 處理復雜的游戲邏輯。

    snake-vue3 - 基于 Vue 3.3、Vite、Vuex 實現的經典貪吃蛇小游戲。

    Github:https://github.com/ekinkaradag/snake-vue3


    經典貪吃蛇小游戲

    snake-vue3 基于 Vue 3.3、Vite、Vuex 實現的經典貪吃蛇游戲。

    minesweeper-react - 用 CSS 復制 Win98 的風格掃雷小游戲。

    Github:https://github.com/laoqiu233/minesweeper-react

    Win98 的風格掃雷小游戲

    一個掃雷游戲,作者嘗試使用老式字體和經典的 Win98 圖標,用 CSS 復制 Win98 的風格,使這個項目盡可能真實。該項目使用的技術棧包括:TypeScript、Webpack、React、Redux、React Router。

    threejs-tetris-react - 基于 Three.js、React、TypeScript 實現的 3D 俄羅斯方塊游戲

    Github:https://github.com/RylanBot/threejs-tetris-react

    3D 俄羅斯方塊游戲

    基于 Three.js、React、TypeScript 實現的 3D 俄羅斯方塊游戲,可以拖動旋轉頁面進行觀察。

    habitica - 它會將你培養習慣的過程,當作一個 RPG 角色扮演游戲。

    Github:https://github.com/HabitRPG/habitica


    RPG 角色扮演游戲


    這是一個培養習慣的開源應用,那它為什么會出現在游戲集合里呢?因為它會將你培養習慣的過程,當作一個 RPG 角色扮演游戲。

    你需要根據設定的習慣,創建對應現實中需要完成的任務,當你完成一個任務時會獲得相應的經驗和金幣,這些東西可以用來提升虛擬人物的等級以及購買裝備。但當任務失敗時,對應的將失去血量作為懲罰。隨著你的等級提升,將會開啟更多的玩法,比如:孵化寵物、職業、專屬技能、組隊打副本等。

    game-application-using-react-and-typescript - 使用 React 和 TypeScript 構建的簡單 2D 蛇游戲。

    Github:https://github.com/Aklilu-Mandefro/game-application-using-react-and-typescript

    簡單 2D 蛇游戲

    使用 React 和 TypeScript 構建的簡單 2D 蛇游戲。可以使用 w、a、s 和 d 鍵來移動蛇。當吃掉水果時,得分和蛇的長度會動態增加,使用 canvas 元素構建。其用到的技術包括:React、Chakra-UI、Redux、Redux-saga。

    3072-是一款受流行游戲“2048”啟發的數字合并游戲.

    Github:https://github.com/WeiChongDevelops/3072

    體驗:https://3072.vercel.app/

    3072 數字合并游戲

    3072 是一款受流行游戲“2048”啟發的數字合并游戲,但游戲玩法與2048截然不同,使用的是 3 的倍數而不是 2,這真的是一種非常深刻和令人振奮的用戶體驗改變。這個項目使用 TypeScript、React 和 Tailwind CSS 構建,確保高性能的交互性和令人驚艷的響應式設計。

    3d-chess-v2- 使用 React、Redux Toolkit、ThreeJS、React Three Fiber、ChessJS 和 ChakraUI 構建的經典國際象棋游戲。

    Github:https://github.com/Kirill2603/3d-chess-v2

    經典國際象棋游戲

    使用 React、Redux Toolkit、ThreeJS、React Three Fiber、ChessJS 和 ChakraUI 構建的經典國際象棋游戲。

    frontend-concentration-or-memory - 使用 Vue3.3、Pinia、Webpack、TypeScript 開發的一款記憶翻牌游戲。

    Github:https://github.com/LAxBANDA/frontend-concentration-or-memory#concentration-or-memory-game

    記憶翻牌游戲

    使用 Vue3.3、Pinia、Webpack、TypeScript 開發的一款記憶翻牌游戲。

    最后

    粉絲們,有沒有勾起你們兒童對回憶?喜歡哪款經典小游戲呢?

    歡迎在評論區分享討論。

    一臺電腦,一個鍵盤,盡情揮灑智慧的人生;

    幾行數字,幾個字母,認真編寫生活的美好;

    一 個靈感,一段程序,推動科技進步,促進社會發展。

    創作不易,喜歡的老鐵們加個關注,點個贊,打個賞,后面會不定期更新干貨和技術相關的資訊,速速收藏,謝謝!你們的一個小小舉動就是對小編的認可,更是創作的動力。

    創作文章的初心是:沉淀、分享和利他。既想寫給現在的你,也想貪心寫給 10 年、20 年后的工程師們,現在的你站在浪潮之巔,面對魔幻的互聯網世界,很容易把一條河流看成整片大海。未來的讀者已經知道了這段技術的發展歷史,但難免會忽略一些細節。如果未來的工程師們真的創造出了時間旅行機器,可以讓你回到現在。那么小編的創作就是你和當年工程師們的接頭暗號,你能感知到他們在這個時代的鍵盤上留下的余溫。

    一、webpack概念

    1.1 webpack 是什么

    webpack 是一種前端資源構建工具,一個靜態模塊打包器(module bundler)。
    在 webpack 看來, 前端的所有資源文件(js/json/css/img/less/...)都會作為模塊處理。
    它將根據模塊的依賴關系進行靜態分析,打包生成對應的靜態資源(bundle)。

    1.2 webpack 五個核心概念

    1.2.1 Entry

    入口(Entry)指示 webpack 以哪個文件為入口起點開始打包,分析構建內部依賴圖。

    1.2.2 Output

    輸出(Output)指示 webpack 打包后的資源 bundles 輸出到哪里去,以及如何命名。

    1.2.3 Loader

    Loader 讓 webpack 能夠去處理那些非 JavaScript 文件(webpack 自身只理解JavaScript)

    1.2.4 Plugins

    插件(Plugins)可以用于執行范圍更廣的任務。插件的范圍包括,從打包優化和壓縮,一直到重新定義環境中的變量等。

    1.2.5 Mode

    模式(Mode)指示 webpack 使用相應模式的配置。

    二、webpack配置

    2.1 初始化配置

    1. 初始化 package.json輸入指令:
    npm init
    1. 下載并安裝 webpack輸入指令:
    //【全局安裝】
    npm install webpack webpack-cli -g
    //【本地安裝
    npm install webpack webpack-cli -D

    2.2 編譯打包應用

    1. 創建文件
    2. 運行指令
      開發環境指令:
    webpack src/js/index.js -o build/js/built.js --mode=development

    功能: webpack 能夠編譯打包 js 和 json 文件,并且能將 es6 的模塊化語法轉換成瀏覽器能識別的語法。

    生產環境指令:

    webpack src/js/index.js -o build/js/built.js --mode=production

    功能:在開發配置功能上多一個功能,壓縮代碼。

    1. 結論
      webpack 能夠編譯打包 js 和 json 文件。
      能將 es6 的模塊化語法轉換成瀏覽器能識別的語法。
      能壓縮代碼。
    2. 問題
      不能編譯打包 css、img 等文件。
      不能將 js 的 es6 基本語法轉化為 es5 以下語法。

    三、webpack 開發環境的基本配置

    3.1 創建配置文件

    1. 創建文件 webpack.config.js
    2. 配置內容如下
    const { resolve } = require('path'); // node 內置核心模塊,用來處理路徑問題。                                    
    module.exports = {
      entry: './src/js/index.js', // 入口文件
      output: { // 輸出配置
      filename: './built.js',
      path: resolve(__dirname, 'build/js')
      },                        
      mode: 'development' //開發環境
    };        
    1. 運行指令
    webpack

    3.2 打包樣式資源

    1.創建文件


    2. 下載安裝 loader 包

    npm i css-loader style-loader less-loader less -D   
    1. 修改配置文件
    // resolve 用來拼接絕對路徑的方法
    const { resolve } = require('path');                        
    module.exports = {
    // webpack 配置// 入口起點
    entry: './src/index.js',
    // 輸出                        
    output: {
        // 輸出文件名
        filename: 'built.js',
        // 輸出路徑// __dirname nodejs 的變量,代表當前文件的目錄絕對路徑
        path: resolve(__dirname, 'build')                                                                        
    },                        
    // loader 的配置
    module: {                        
        rules: [// 詳細 loader 配置// 不同文件必須配置不同 loader 處理
        {                        
        // 匹配哪些文件
        test: /\.css$/,
        // 使用哪些 loader 進行處理
        use: [                        
        // use 數組中 loader 執行順序:從右到左,從下到上 依次執行
        // 創建 style 標簽,將 js 中的樣式資源插入進行,添加到 head 中生效
        'style-loader',
        // 將 css 文件變成 commonjs 模塊加載 js 中,里面內容是樣式字符串
        'css-loader'                        
        ]
        },                        
            {
                test: /\.less$/,
                use: [                    
        'style-loader',
        'css-loader',
        // 將 less 文件編譯成 css 文件// 需要下載 less-loader 和 less
        'less-loader'                        
        ]
        }                        
        ]
    },                        
    // plugins 的配置
    plugins: [                        
    // 詳細 plugins 的配置
    ],                        
    // 模式
    mode: 'development', // 開發模式// mode: 'production'                        
    }                                                        
    1. 運行指令
    webpack

    3.3 打包 HTML 資源

    1. 創建文件

    1. 下載安裝 plugin 包
    npm install --save-dev html-webpack-plugin
    1. 修改配置文件
                                                                            
    const { resolve } = require('path');
    const HtmlWebpackPlugin = require('html-webpack-plugin');                        
    module.exports = {
      entry: './src/index.js',
      output: {                        
        filename: 'built.js',                        
        path: resolve(__dirname, 'build')
      },                    
      module: {
        rules: [                        
        // loader 的配置
        ]                        
      },
      plugins: [                        
    // plugins 的配置
    // html-webpack-plugin
    // 功能:默認會創建一個空的 HTML,自動引入打包輸出的所有資源(JS/CSS)
    // 需求:需要有結構的 HTML 文件
    new HtmlWebpackPlugin({                        
    // 復制 './src/index.html' 文件,并自動引入打包輸出的所有資源(JS/CSS)                        
          template: './src/index.html'
        })                    
    ],                        
      mode: 'development'
    };                                                        

    4.運行指令:

    webpack

    3.4 打包圖片資源

    1.創建文件

    2.下載安裝 loader 包

    npm install --save-dev html-loader url-loader file-loader

    3.修改配置文件

                                                                        const { resolve } = require('path');
    const HtmlWebpackPlugin = require('html-webpack-plugin');                        
    module.exports = {
      entry: './src/index.js',
      output: {                        
        filename: 'built.js',                    
        path: resolve(__dirname, 'build')
      },                        
      module: {
        rules: [                    
    {test: /\.less$/,// 要使用多個 loader 處理用 use
    use: ['style-loader', 'css-loader', 'less-loader']                        
    },{                                                                                                
    // 問題:默認處理不了 html 中 img 圖片
    // 處理圖片資源
    test: /\.(jpg|png|gif)$/,
    // 使用一個 loader                        
    // 下載 url-loader file-loader
    loader: 'url-loader',
    options: {
                                                                            
    // 圖片大小小于8kb,就會被base64處理
    // 優點: 減少請求數量(減輕服務器壓力)
    // 缺點:圖片體積會更大(文件請求速度更慢)
    limit: 8 * 1024,
    // 問題:因為url-loader默認使用es6模塊化解析,而html-loader引入圖片是commonjs
    // 解析時會出問題:[object Module]
    // 解決:關閉 url-loader 的 es6 模塊化,使用 commonjs 解析
    esModule: false,
    // 給圖片進行重命名
    // [hash:10]取圖片的 hash 的前 10 位
    // [ext]取文件原來擴展名
    name: '[hash:10].[ext]'                        
    }},                        
    {
    test: /\.html$/,// 處理 html 文件的 img 圖片(負責引入 img,從而能被 url-loader 進行處理)
    loader: 'html-loader'                        
    }]                        
    },
    plugins: [                        
        new HtmlWebpackPlugin({
          template: './src/index.html'                    
    })],                        
      mode: 'development'
    };                      
    1. 運行指令: webpack

    3.5 打包其他資源

    1. 創建文件

    1. 修改配置文件
                                                                            
    const { resolve } = require('path');
    const HtmlWebpackPlugin = require('html-webpack-plugin');                        
    module.exports = {
      entry: './src/index.js',
      output: {                        
        filename: 'built.js',                        
        path: resolve(__dirname, 'build')
      },                        
      module: {
        rules: [                        
          {
            test: /\.css$/,
            use: ['style-loader', 'css-loader']                        
    },                        
    // 打包其他資源(除了html/js/css資源以外的資源)
    {                        
    // 排除 css/js/html 資源
    exclude: /\.(css|js|html|less)$/,
    loader: 'file-loader',
    options: {                        
              name: '[hash:10].[ext]'
            }                        
    }]                        
    },
    plugins: [                        
        new HtmlWebpackPlugin({
          template: './src/index.html'                        
        })                                                                            
    ],                        
      mode: 'development'
    }; 
    1. 運行指令: webpack

    3.6 devserver

    1. 創建文件

    1. 修改配置文件
                                                                            
    const { resolve } = require('path');
    const HtmlWebpackPlugin = require('html-webpack-plugin');                        
    module.exports = {
      entry: './src/index.js',
      output: {                        
        filename: 'built.js',                        
        path: resolve(__dirname, 'build')
      },                        
      module: {
        rules: [                        
          {
            test: /\.css$/,
            use: ['style-loader', 'css-loader']                        
            },                        
    // 打包其他資源(除了html/js/css資源以外的資源)
    {                        
    // 排除 css/js/html 資源
    exclude: /\.(css|js|html|less)$/,                                                                        loader: 'file-loader',
            options: {                        
              name: '[hash:10].[ext]'
            }                        
    }]                        
    },
    plugins: [                        
        new HtmlWebpackPlugin({
          template: './src/index.html'                        
        })
    ],                        
    mode: 'development',
    devServer: {                        
    // 項目構建后路徑
    contentBase: resolve(__dirname, 'build'),
    // 啟動 gzip 壓縮
    compress: true,
    // 端口號
    port: 3000,
    // 自動打開瀏覽器
    open: true                        
    }}; 
    1. 運行指令:
    npx webpack-dev-server

    3.7 開發環境配置

    1.創建文件

    1. 修改配置文件
                                                                            const { resolve } = require('path');
    const HtmlWebpackPlugin = require('html-webpack-plugin');                                                                        
    module.exports = {
      entry: './src/js/index.js',
      output: {                        
        filename: 'js/built.js',
        path: resolve(__dirname, 'build')
      },                        
      module: {
        rules: [                        
    // loader 的配置
    {                        
    // 處理 less 資源
    test: /\.less$/,
    use: ['style-loader', 'css-loader', 'less-loader']                        
    },{
    // 處理css資源
    test: /\.css$/,
    use: ['style-loader', 'css-loader']                        
    },{
    // 處理圖片資源
    test: /\.(jpg|png|gif)$/,
    loader: 'url-loader',
    options: {                        
    limit: 8 * 1024,
    name: '[hash:10].[ext]',
    // 關閉es6模塊化
    esModule: false,
    outputPath: 'imgs'                                                                                                
    }},                        
    {
    // 處理html中img資源
    test: /\.html$/,
    loader: 'html-loader'                            
    },
    {                                                                                                                                                                                                                                                                                                                                                                // 處理其他資源
    exclude: /\.(html|js|css|less|jpg|png|gif)/,
    loader: 'file-loader',
    options: {                                                                        
    name: '[hash:10].[ext]',
    outputPath: 'media'
      }                        
    }
    ]                        
    },
    plugins: [                        
    // plugins 的配置new HtmlWebpackPlugin({                        
          template: './src/index.html'
        })                        
      ],
      mode: 'development',
      devServer: {                        
        contentBase: resolve(__dirname, 'build'),
        compress: true,
        port: 3000,
        open: true                        
    }};   
    1. 運行指令:
    npx webpack-dev-server

    暫時寫到這里吧。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有