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

分別用Vue和Java來實現(xiàn)的風靡一時的2048 游戲

這篇具有很好參考價值的文章主要介紹了分別用Vue和Java來實現(xiàn)的風靡一時的2048 游戲。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


2048 游戲是一個基于網(wǎng)格的數(shù)字益智游戲,玩家需要通過滑動相同的數(shù)字來合并它們,并最終得到一個值為 2048 的方塊。以下是分別用Vue和Java來實現(xiàn)的 2048 游戲,包含運行效果。

1、Vue實現(xiàn)

首先,創(chuàng)建一個名為Game.vue的 Vue 單文件組件,代碼如下:

<template>  
 <div class="game-container">  
   <div class="grid">  
     <div v-for="(row, rowIndex) in board" :key="rowIndex" class="cell">  
       <div v-if="row.length">  
         <div v-for="(cell, colIndex) in row" :key="colIndex" :class="{ 'highlight': cell === current }">  
           {{ cell }}  
         </div>  
       </div>  
     </div>  
   </div>  
   <div class="score">  
     <p>得分:{{ score }}</p>  
   </div>  
   <button @click="newGame">重新開始</button>  
 </div>  
</template>
<script>  
export default {  
 data() {  
   return {  
     board: [  
       [1, 1, 2, 2],  
       [3, 3],  
       [4, 4],  
       [4, 4],  
       [2, 2],  
       [1, 1, 3, 3],  
       [2, 2],  
       [4, 4],  
     ],  
     current: null,  
     score: 0,  
   };  
 },  
 methods: {  
   move(direction) {  
     if (direction === 'left' && this.current && this.current.leftCell) {  
       this.current.leftCell = this.current.leftCell.left;  
       if (!this.current.leftCell) {  
         this.current = null;  
       }  
     } else if (direction === 'right' && this.current && this.current.rightCell) {  
       this.current.rightCell = this.current.rightCell.right;  
       if (!this.current.rightCell) {  
         this.current = null;  
       }  
     }  
   },  
   newGame() {  
     this.board = [  
       [Math.floor(Math.random() * 4) + 1, Math.floor(Math.random() * 4) + 1],  
       [Math.floor(Math.random() * 4) + 1, Math.floor(Math.random() * 4) + 1],  
       [Math.floor(Math.random() * 4) + 1, Math.floor(Math.random() * 4) + 1],  
       [Math.floor(Math.random() * 4) + 1, Math.floor(Math.random() * 4) + 1],  
     ];  
     this.score = 0;  
     this.current = null;  
   },  
   slide() {  
     if (this.current) {  
       if (this.current.leftCell) {  
         this.move('left');  
       } else if (this.current.rightCell) {  
         this.move('right');  
       }  
     }  
   },  
 },  
};  
</script>
<style scoped>  
.game-container {  
 width: 100%;  
 max-width: 800px;  
 margin: 0 auto;  
 padding: 20px;  
 border: 1px solid #ccc;  
 border-radius: 5px;  
}
.grid {  
 display: flex;  
 flex-wrap: wrap;  
}
.cell {  
 width: 40px;  
 height: 40px;  
 background-color: #f2f2f2;  
 display: flex;  
 justify-content: center;  
 align-items: center;  
 border-radius: 5px;  
 margin: 10px;  
}
.cell:hover {  
 background-color: #ddd;  
}
.highlight {  
 background-color: #ffc107;  
}
.score {  
 margin-top: 20px;  
 font-size: 24px;  
 font-weight: bold;  
}
</style>

2、Java實現(xiàn)

import java.util.*;  
import java.util.concurrent.ThreadLocal;
public class 2048Game {  
   private static int BOARD_SIZE = 4;  
   private static int[][] board = new int[BOARD_SIZE][BOARD_SIZE];  
   private static int current = 0;  
   private static int score = 0;
   public static void main(String[] args) {  
       new ThreadLocal<2048Game>().set(new 2048Game());  
   }
   private 2048Game() {  
       reset();  
   }
   public void reset() {  
       board = new int[BOARD_SIZE][BOARD_SIZE];  
       generateBoard();  
       current = 0;  
       score = 0;  
   }
   private void generateBoard() {  
       for (int i = 0; i < board.length; i++) {  
           for (int j = 0; j < board[i].length; j++) {  
               board[i][j] = Math.floor(Math.random() * 4) + 1;  
           }  
       }  
   }
   public void slide(int direction) {  
       if (direction == 0 || direction == 1) {  
           for (int i = 0; i < board.length; i++) {  
               int[] temp = board[i];  
               int j = 0;  
               for (int k = 0; k < temp.length; k++) {  
                   if (temp[k]!= 0) {  
                       while (j < temp.length - 1 && temp[j + 1] == temp[k]) {  
                           temp[j] += temp[j + 1];  
                           j++;  
                       }  
                   }  
                   temp[j] = k;  
                   j++;  
               }  
               board[i] = temp;  
           }  
       } else if (direction == 2 || direction == 3) {  
           for (int i = 0; i < board.length; i++) {  
               int[] temp = board[i];  
               int k = 0;  
               for (int j = 0; j < temp.length; j++) {  
                   if (temp[j]!= 0) {  
                       while (k < temp.length - 1 && temp[k + 1] == temp[j]) {  
                           temp[k] += temp[k + 1];  
                           k++;  
                       }  
                   }  
                   temp[k] = j;  
                   k++;  
               }  
               board[i] = temp;  
           }  
       }  
   }
   public void printBoard() {  
       System.out.println("當前分數(shù):" + score);  
       for (int i = 0; i < board.length; i++) {  
           for (int j = 0; j < board[i].length; j++) {  
               System.out.print(board[i][j] + " ");  
           }  
           System.out.println();  
       }  
   }
   public void checkWin() {  
       for (int i = 0; i < board.length; i++) {  
           for (int j = 0; j < board[i].length; j++) {  
               if (board[i][j] == 0) {  
                   return;  
               }  
               if (j < board[i].length - 1 && board[i][j] == board[i][j + 1]) {  
                   int sum = board[i][j] + board[i][j + 1];  
                   board[i][j] = 0;  
                   board[i][j + 1] = 0;  
                   score += sum;  
                   System.out.println("恭喜你贏得了 " + sum + " 分!");  
                   reset();  
               }  
           }  
       }  
   }  
}

運行效果:文章來源地址http://www.zghlxwxcb.cn/news/detail-640962.html

當前分數(shù):0

到了這里,關(guān)于分別用Vue和Java來實現(xiàn)的風靡一時的2048 游戲的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 基于Java的2048小游戲的設(shè)計與實現(xiàn),附源碼+文檔,適合課程設(shè)計,包遠程安裝調(diào)試運行

    基于Java的2048小游戲的設(shè)計與實現(xiàn),附源碼+文檔,適合課程設(shè)計,包遠程安裝調(diào)試運行

    1、項目介紹 本游戲采用Java語言編寫,使用Eclipse編譯器,jdk1.8編譯環(huán)境。游戲的UI主要運用Java圖形界面編程(AWT),實現(xiàn)窗口化可視化的界面。 游戲的后臺通過監(jiān)聽鍵盤方向鍵來移動數(shù)字方塊,運用隨機數(shù)的思想隨機產(chǎn)生一個2或4的隨機數(shù),顯示在隨機方塊中,運用二維數(shù)組

    2024年02月03日
    瀏覽(83)
  • 2048小游戲 java版(代碼+注釋)

    2048小游戲 java版(代碼+注釋)

    ????????一個純純小白,想寫點什么,也想學習一下怎么在這里寫東西,就簡單的寫個2048小游戲。寫的不好,大佬就不用看了,希望和大家交流學習,有寫的不好或有更好的建議也歡迎提出來。(需要用的可直接粘貼復制)(輕噴) 目錄 游戲展示 講解? 代碼 ???????

    2024年02月09日
    瀏覽(34)
  • 用JAVA寫一個2048的小游戲。

    用JAVA寫一個2048的小游戲。

    如圖所示: 使用軟件:eclipse2021-12版 JDK版本:JDK15.0.1 鏈接:https://pan.baidu.com/s/1NVWaklg9K2wRmBOLew6iMQ 提取碼:ts08 1. Client.java: 2.Constant.java 3.Block.java 4.BlockLoader.java 5.Drawable.java 6.Moveable.java 7.MyFrame.java 提示:代碼寫的有些臃腫,其中也有一些BUG,理解源碼以后可以修正。 鏈接:

    2024年02月10日
    瀏覽(19)
  • python小游戲 2048小游戲設(shè)計與實現(xiàn)

    python小游戲 2048小游戲設(shè)計與實現(xiàn)

    ?? Hi,各位同學好呀,這里是L學長! ??今天向大家分享一個今年(2022)最新完成的畢業(yè)設(shè)計項目作品 python小游戲畢設(shè) 2048小游戲設(shè)計與實現(xiàn) (源碼) ?? 學長根據(jù)實現(xiàn)的難度和等級對項目進行評分(最低0分,滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:4分 今天我們用python實現(xiàn)

    2024年02月11日
    瀏覽(18)
  • python快速實現(xiàn)2048小游戲

    python快速實現(xiàn)2048小游戲

    《2048》是一款比較流行的數(shù)字游戲,最早于2014年3月20日發(fā)行。原版2048首先在GitHub上發(fā)布,原作者是Gabriele Cirulli,后被移植到各個平臺。這款游戲是基于《1024》和《小3傳奇》的玩法開發(fā)而成的新型數(shù)字游戲。 操作指南: 每次可以選擇上下左右其中一個方向去滑動,每滑動

    2024年02月11日
    瀏覽(24)
  • python小游戲畢設(shè) 2048小游戲設(shè)計與實現(xiàn) (源碼)

    python小游戲畢設(shè) 2048小游戲設(shè)計與實現(xiàn) (源碼)

    ?? Hi,各位同學好呀,這里是L學長! ??今天向大家分享一個今年(2022)最新完成的畢業(yè)設(shè)計項目作品 python小游戲畢設(shè) 2048小游戲設(shè)計與實現(xiàn) (源碼) ?? 學長根據(jù)實現(xiàn)的難度和等級對項目進行評分(最低0分,滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:4分 項目獲?。?https://

    2024年02月12日
    瀏覽(29)
  • python項目分享 - 2048小游戲設(shè)計與實現(xiàn) (源碼)

    python項目分享 - 2048小游戲設(shè)計與實現(xiàn) (源碼)

    ?? Hi,各位同學好呀,這里是L學長! ??今天向大家分享一個今年(2022)最新完成的畢業(yè)設(shè)計項目作品 python小游戲畢設(shè) 2048小游戲設(shè)計與實現(xiàn) (源碼) ?? 學長根據(jù)實現(xiàn)的難度和等級對項目進行評分(最低0分,滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:4分 項目獲?。?https://

    2024年01月18日
    瀏覽(30)
  • python項目分享 2048小游戲設(shè)計與實現(xiàn) (源碼)

    python項目分享 2048小游戲設(shè)計與實現(xiàn) (源碼)

    ?? Hi,各位同學好呀,這里是L學長! ??今天向大家分享一個今年(2022)最新完成的畢業(yè)設(shè)計項目作品 python小游戲畢設(shè) 2048小游戲設(shè)計與實現(xiàn) (源碼) ?? 學長根據(jù)實現(xiàn)的難度和等級對項目進行評分(最低0分,滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:4分 項目獲?。?https://

    2024年01月18日
    瀏覽(23)
  • 手把手教你用Python實現(xiàn)2048小游戲

    手把手教你用Python實現(xiàn)2048小游戲

    感覺好久沒有寫小游戲玩了,今天恰巧有空.這次我來用Python做個2048小游戲吧.廢話不多說,文中有非常詳細的代碼示例,需要的朋友可以參考下 目錄 一、開發(fā)環(huán)境 二、環(huán)境搭建 三、原理介紹 四、效果圖 Python版本:3.6.4 相關(guān)模塊: pygame模塊; 以及一些Python自帶的模塊。 安裝

    2024年04月28日
    瀏覽(94)
  • 【C/C++小游戲】2048 大作戰(zhàn)?。ɑ贓asyx圖形窗口實現(xiàn))

    【C/C++小游戲】2048 大作戰(zhàn)?。ɑ贓asyx圖形窗口實現(xiàn))

    寫在前面 游戲簡介 Easyx 圖形庫 編寫游戲 預編譯代碼 第一步:初始化棋盤 第二步:繪制棋盤 第三步:用戶操作 第四步:封裝函數(shù) 完整代碼 效果展示 大家好! 本人是一個12歲六年級小學生,今年9月開始學習C++,曾經(jīng)學過1年P(guān)ython。 這是我的第一篇博客,決定分享一個游戲

    2024年02月10日
    瀏覽(52)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包