當前位置:首頁 » 操作系統 » 2048html源碼

2048html源碼

發布時間: 2022-04-12 14:03:42

A. 求2048朝代版的源代碼

import javax.swing.*;
import java.awt.*;
@SuppressWarnings("serial")
public class Game_block extends JLabel {
private int value;
public Game_block() {
super("go!");
value = 0;
setFont(new Font("font", Font.PLAIN, 40));
setBackground(Color.black);
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
String Text = String.valueOf(value);
if (value != 0){
if(value == 2)
setText("夏");
}
if (value != 0){
if(value == 4)
setText("商");
}
if (value != 0){
if(value == 8)
setText("周");
}
if (value != 0){
if(value == 16)
setText("秦");
}
if (value != 0){
if(value == 32)
setText("漢");
}
if (value != 0){
if(value == 64)
setText("三國");
}
if (value != 0){
if(value == 128)
setText("南北朝");
}
if (value != 0){
if(value == 256)
setText("隋");
}
if (value != 0){
if(value == 1024)
setText("五代十國");
}
if (value != 0){
if(value == 2048)
setText("宋遼");
}
if (value != 0){
if(value == 4096)
setText("宋金");
}
if (value != 0){
if(value == 8192)
setText("元");
}
if (value != 0){
if(value == 16384)
setText("明");
}
if (value != 0){
if(value == 32768)
setText("清");
}
if (value != 0){
if(value == 65536)
setText("現代");
}
else
setText("2048");
setColor();
}
public void setColor() {
if (this.value == 0)
setBackground(Color.black);
else if (this.value == 2)
setBackground(new Color(238, 228, 218));
else if (this.value == 4)
setBackground(new Color(248, 232, 248));
else if (this.value == 8)
setBackground(new Color(243, 177, 116));
else if (this.value == 16)
setBackground(new Color(243, 177, 126));
else if (this.value == 32)
setBackground(new Color(248, 149, 90));
else if (this.value == 64)
setBackground(new Color(249, 94, 50));
else if (this.value == 128)
setBackground(new Color(239, 207, 108));
else if (this.value == 256)
setBackground(new Color(239, 207, 99));
else if (this.value == 512)
setBackground(new Color(239, 203, 82));
else if (this.value == 1024)
setBackground(new Color(239, 199, 57));
else if (this.value == 2048)
setBackground(new Color(239, 195, 41));
else if (this.value == 4096)
setBackground(new Color(255, 60, 57));
else if (this.value == 8192)
setBackground(new Color(258, 60, 59));
else if (this.value == 16384)
setBackground(new Color(262, 62, 59));
else if (this.value == 32768)
setBackground(new Color(262, 64, 62));
else if (this.value == 65536)
setBackground(new Color(264, 64, 66));
}
}

______________________________________________________
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.*;
@SuppressWarnings("serial")
public class Game_my2048 extends JFrame implements KeyListener {
Game_block[] block;
JPanel panel;
boolean numFlag;
int moveFlag;
int a ;//a 的引入是為了防止連加的情況出現
public Game_my2048() {
numFlag = true;
moveFlag = 0;
block = new Game_block[16];
setTitle("2048朝代版");
setSize(400, 400);
setLocation(500, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = (JPanel) getContentPane();
panel.setLayout(new GridLayout(4, 4, 5, 5));
addBlock();
for (int i = 0; i < 2; i++)
appearBlock();
this.addKeyListener(this);
this.setVisible(true);
}
public void addBlock() {
for (int i = 0; i < 16; i++) {
block[i] = new Game_block();
block[i].setHorizontalAlignment(JLabel.CENTER);
// 不透明
block[i].setOpaque(true);
panel.add(block[i]);
}
}
public void appearBlock() {
while(numFlag) {
int index = (int) (Math.random() * 16);
if (block[index].getValue() == 0) {
if (Math.random() < 0.5)
block[index].setValue(2);
else
block[index].setValue(4);
break;
}
}
}
public void judgeAppear() {
int sum = 0;
for (int i = 0; i < 16; i++) {
if (block[i].getValue() != 0)
sum++;
}
if (sum == 16)
numFlag = false;
}

public void upBlock() {
for (int i = 12; i < 16; i++) {
int index = i;
for (int j = i - 4; j >= i - 12; j -= 4) {
int valueI = block[index].getValue(), valueJ = block[j]
.getValue();
if (valueJ == 0) {
block[index].setValue(0);
block[j].setValue(valueI);
} else {
if (valueI == valueJ) {
block[index].setValue(0);
block[j].setValue(valueI + valueJ);
if (valueI + valueJ == 4096)
win();
numFlag = true;
moveFlag = 0;
} else if (numFlag == false)
moveFlag += 1;
}
index = j;
}
}
}
public void downBlock() {
for (int i = 0; i < 4; i++) {
a = 5;
int index = i;
for (int j = i + 4; j <= i + 12; j += 4) {
int valueI = block[index].getValue(), valueJ = block[j]
.getValue();
if (valueJ == 0) {
block[index].setValue(0);
block[j].setValue(valueI);
} else {
if (valueI == valueJ) {
block[index].setValue(0);
block[j].setValue(valueI + valueJ);
if (valueI + valueJ == 4096)
win();
numFlag = true;
moveFlag = 0;
} else if (numFlag == false)
moveFlag += 1;
}
index = j;
}
}
}
public void rightBlock() {
for (int i = 0; i <= 12; i += 4) {
int index = i;
for (int j = i + 1; j <= i + 3; j++) {
int valueI = block[index].getValue(), valueJ = block[j]
.getValue();
if (valueJ == 0) {
block[index].setValue(0);
block[j].setValue(valueI);
} else {
if (valueI == valueJ) {
block[index].setValue(0);
block[j].setValue(valueI + valueJ);
if (valueI + valueJ == 4096)
win();
numFlag = true;
moveFlag = 0;
} else if (numFlag == false)
moveFlag += 1;
}
index = j;
}
}
}
public void leftBlock() {
for (int i = 3; i <= 15; i += 4) {
int index = i;
for (int j = i - 1; j >= i - 3; j--) {
int valueI = block[index].getValue(), valueJ = block[j]
.getValue();
if (valueJ == 0) {
block[index].setValue(0);
block[j].setValue(valueI);
} else {
if (valueI == valueJ) {
block[index].setValue(0);
block[j].setValue(valueI + valueJ);
if (valueI + valueJ == 4096)
win();
numFlag = true;
moveFlag = 0;
} else if (numFlag == false)
moveFlag += 1;
}
index = j;
}
}
}
@Override
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_UP:
upBlock();
judgeAppear();
appearBlock();
over();
break;
case KeyEvent.VK_DOWN:
downBlock();
judgeAppear();
appearBlock();
over();
break;
case KeyEvent.VK_LEFT:
leftBlock();
judgeAppear();
appearBlock();
over();
break;
case KeyEvent.VK_RIGHT:
rightBlock();
judgeAppear();
appearBlock();
over();
break;
}
}
public void over() {
if (!numFlag && moveFlag >= 36) {
block[4].setText("G");
block[5].setText("A");
block[6].setText("M");
block[7].setText("E");
block[8].setText("O");
block[9].setText("V");
block[10].setText("E");
block[11].setText("R");

block[11].addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
reStart();
}
});
}
}

public void win() {

block[0].setText("Y");
block[1].setText("O");
block[2].setText("U");
block[13].setText("W");
block[14].setText("I");
block[15].setText("N");

block[15].addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
reStart();
}
});
}
public void reStart(){
numFlag=true;
moveFlag=0;
for(int i=0;i< 16;i++)
block[i].setValue(0);
for (int i = 0; i < 2; i++)
appearBlock();
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
}
public static void main(String args[]) {
JFrame.(true);
new Game_my2048();
}
}

__________________________________________________________________________
這個代碼卻少很多功能的

B. 急求游戲2048源代碼,要求使用C++和HGE編寫,充分體現面向對象編程的特點。

一看就知道是作業,具體代碼還是自己寫吧,我可以給一些思路。
構建一個類來存儲矩陣的狀態,以及操作(上下左右)的代碼,一個簡單的實現方案是只需要寫向一個方向移動的代碼,然後通過轉換矩陣的方向來實現其他的方向。
面向對象嘛你,可以父類定義N*N矩陣,只實現一個移動方向,子類通過繼承實現4*4矩陣,和各個移動方向。

C. 那個大神有完整的java,eclipse,2048游戲的源代碼,全部拷貝粘貼就能用的,給一個,在線等,急!!!

網上的java代碼在eclipse里運行方法:
1.打開eclipse,點擊項目的空白處,選擇import;
2.選擇Existing Project into Workspace,點擊next,找到的java代碼,導入到eclipse中;
3.導入成功之後,選擇項目,滑鼠右鍵,選擇run as,選擇一個運行方式,然後運行即可。

D. 2048游戲鏈接地址。

如果你是安卓用戶,這是我個人收集的全部2048信息,望採納
360:
http://www.an.com/soft_1447875.html 可以保存的2048 (SL大法)
http://zhushou.360.cn/detail/index/soft_id/1607722?recrefer=SE_D_2048 2048六邊形 (= =! 和正方形感覺不一樣,很難死)
安智
http://www.wandoujia.com/apps/naozine.games.tv2048 (六邊形)
http://www.an.com/soft_1447876.html 5X5 2048(更加時間殺手)
http://www.an.com/soft_1447877.html 元素周期表 (學霸必備,本學渣淚目 T T)

海外黨の福利 (google play):
https://play.google.com/store/apps/details?id=com.GameCloud.tofesave 普通帶保存(還是SL)
https://play.google.com/store/apps/details?id=com.GameCloud.tofefib 斐波那契(for 數學愛好者)
https://play.google.com/store/apps/details?id=com.GameCloud.tofe5x5 5X5

E. vb做的2048怎麼介紹作法

好吧好吧,既然有人問到我這里來了,就簡單說一下吧。其實我是新人,所以說那個代碼寫的真的很亂。當時寫的時候都不會控制項數組,所以說很麻煩,內部操作需要一個2維數組(3,3)生成方塊不難,用循環遍歷數組,rnd函數表示生成。移動的時候稍微難一點,其實只要掌握了一個方向就ok了,其他的都是復制粘貼,我現在手上不方便看源碼,講不清楚。當然我看到大神做出來的時候才知道什麼叫做差距,我基本比大神多用了3倍的代碼,而且大神那個只要放一個label,一個picturebox,把代碼一粘貼就直接能用了。你可以去看看,貼吧里很多做2048的,而且我做的是vb。net版的,和vb6還有不少不一樣的地方。

F. 2048游戲怎麼玩

2048游戲就是相同的數字相互翻倍疊加,從最開始的2開始到4再到8最後一直可以疊加到2048,具體玩法如下:

1、剛打開游戲的界面,有兩個2,並且我們需要知道每次移動後都會出現一個2,只有相同的數才能相加,也就是每次合並之後數據都會翻倍。

注意事項

玩的時候最好是時刻讓最右邊一排或者兩排是滿的,這樣上下移動的時候,最右邊一排形成的局勢就不會破壞。同時除了在不得已的情況,千萬別向左移動。

G. 誰會製作2048這樣的游戲勒,只是把數字換成文字,誰有源碼可以分享嗎

2048游戲高分必看攻略技巧圖文教程
http://iphone.18183.com/xinwen/yxxw/201405/118121.html
數字游戲2048怎麼玩超詳細規則玩法攻略說明
http://iphone.18183.com/xinwen/yxxw/201405/118118.html
2048通關技巧必備攻略圖文教程破紀錄SO EASY
http://iphone.18183.com/xinwen/yxxw/201405/114907.html
2048玩家最高分及游戲最大數字是多少詳解
http://iphone.18183.com/xinwen/yxxw/201405/114893.html
2048攻略開局及補救方法技巧圖文教程
http://iphone.18183.com/xinwen/yxxw/201405/112280.html
2048數字游戲怎麼玩技巧攻略玩法介紹
http://iphone.18183.com/xinwen/yxxw/201405/112278.html

熱點內容
梅林遠程訪問路由器 發布:2024-09-28 22:52:56 瀏覽:463
怎麼讓電腦不存儲臨時文件 發布:2024-09-28 22:44:59 瀏覽:657
php中替換字元串 發布:2024-09-28 22:01:48 瀏覽:582
sql資料庫的使用 發布:2024-09-28 22:01:41 瀏覽:627
你們的wifi密碼多少 發布:2024-09-28 21:53:07 瀏覽:377
android訪問伺服器 發布:2024-09-28 21:48:46 瀏覽:735
安卓平板如何實現電腦雙擊 發布:2024-09-28 21:27:11 瀏覽:360
德育php 發布:2024-09-28 21:24:36 瀏覽:17
企業密信如何登錄伺服器ld 發布:2024-09-28 21:22:52 瀏覽:463
通過ip不能訪問網站 發布:2024-09-28 21:21:47 瀏覽:524