導航:首頁 > 源碼編譯 > h5連連看源碼

h5連連看源碼

發布時間:2023-06-07 12:24:44

① 請用python編一個小游戲,如五子棋,連連看,貪吃蛇,掃雷,計算器等等

#!/usr/bin/python
from Tkinter import *
import random
class snake(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.body = [(0,0)]
self.bodyid = []
self.food = [ -1, -1 ]
self.foodid = -1
self.gridcount = 10
self.size = 500
self.di = 3
self.speed = 500
self.top = self.winfo_toplevel()
self.top.resizable(False, False)
self.grid()
self.canvas = Canvas(self)
self.canvas.grid()
self.canvas.config(width=self.size, height=self.size,relief=RIDGE)
self.drawgrid()
s = self.size/self.gridcount
id = self.canvas.create_rectangle(self.body[0][0]*s,self.body[0][1]*s,
(self.body[0][0]+1)*s, (self.body[0][1]+1)*s, fill="yellow")
self.bodyid.insert(0, id)
self.bind_all("<KeyRelease>", self.keyrelease)
self.drawfood()
self.after(self.speed, self.drawsnake)
def drawgrid(self):
s = self.size/self.gridcount
for i in range(0, self.gridcount+1):
self.canvas.create_line(i*s, 0, i*s, self.size)
self.canvas.create_line(0, i*s, self.size, i*s)
def drawsnake(self):
s = self.size/self.gridcount
head = self.body[0]
new = [head[0], head[1]]
if self.di == 1:
new[1] = (head[1]-1) % self.gridcount
elif self.di == 2:
new[0] = (head[0]+1) % self.gridcount
elif self.di == 3:
new[1] = (head[1]+1) % self.gridcount
else:
new[0] = (head[0]-1) % self.gridcount
next = ( new[0], new[1] )
if next in self.body:
exit()
elif next == (self.food[0], self.food[1]):
self.body.insert(0, next)
self.bodyid.insert(0, self.foodid)
self.drawfood()
else:
tail = self.body.pop()
id = self.bodyid.pop()
self.canvas.move(id, (next[0]-tail[0])*s, (next[1]-tail[1])*s)
self.body.insert(0, next)
self.bodyid.insert(0, id)
self.after(self.speed, self.drawsnake)
def drawfood(self):
s = self.size/self.gridcount
x = random.randrange(0, self.gridcount)
y = random.randrange(0, self.gridcount)
while (x, y) in self.body:
x = random.randrange(0, self.gridcount)
y = random.randrange(0, self.gridcount)
id = self.canvas.create_rectangle(x*s,y*s, (x+1)*s, (y+1)*s, fill="yellow")
self.food[0] = x
self.food[1] = y
self.foodid = id
def keyrelease(self, event):
if event.keysym == "Up" and self.di != 3:
self.di = 1
elif event.keysym == "Right" and self.di !=4:
self.di = 2
elif event.keysym == "Down" and self.di != 1:
self.di = 3
elif event.keysym == "Left" and self.di != 2:
self.di = 4
app = snake()
app.master.title("Greedy Snake")
app.mainloop()

貪食蛇

② 如何將java源碼導入eclipse

運行環境: Y,EXoMs46
Java EE 5.0 OLX1{a
Eclipse 3.1 中文版 fL]MQUazf@
源代碼用例(都是Java Application): 5)`J6fs}
模擬Windows記事本 .E$
連連看 @Elps8~+b
上述的兩個源代碼在賽迪網上可以找到。關於JDK的配置、安裝和Eclipse的安裝本文不再贅述,讀者可以很容易地找到相關的資料。本文只講使用Eclipse來導入源代碼的方法。 WgdGwabFo
首先確保你的工作空間已經創建好,在我的機器上工作空間所在的目錄是「e:\workspace」。源代碼存放路徑假設為「我的文檔\cai\Java\一個仿windows的記事本」和「我的文檔\cai\Java\連連看\kyodai」。 OwF]?t=F|
下面開始介紹導入源碼的方法。 f51^7|W4#
◎選擇菜單「文件/新建/項目」,選擇「Java項目」,彈出「創建Java項目」對話框。 lf 8ja6M
◎在「創建Java項目」中輸入「項目名」,項目名可以為任意名字,不必和main類的名字一樣。這里假設為「Notepad」。 U 6icH I
在「內容」中有兩個單選按鈕,視你的需要來使用。其中「在工作空間中創建新項目」會在你的工作空間中創建一個新目錄,目錄名與項目名一致;「從現有資源創建項目」可以在源碼所在目錄中直接編譯運行,生成的class文件也會存放在源碼目錄中。  @c2' 
~dL[qP
下面先講「在工作空間中創建新項目」的方法。 ,$_1,e 
◎在「內容」中單選「在工作空間中創建新項目」,點擊「完成」按鈕。此時在e:\workspace下生成Notepad目錄。 )z8.W$l
◎下面需要導入源碼到工作空間去。選擇菜單「文件/導入」,選擇「文件系統」。彈出「文件系統」對話框。 NNFl;^X
◎在「從目錄」中選擇源碼存放目錄「我的文檔\cai\Java\一個仿windows的記事本」,勾選上所有的.java源碼,其他的垃圾不要選上。下面又有兩個選擇:對話框下方有兩個選項,若選擇「創建完整的文件夾結構」,就會按源碼所存放的路徑完整地在工作空間中創建目錄,創建完畢會由於main方法類的路徑不對而在包資源管理器內的圖標上顯示叉叉,無法編譯成功;若選擇「只創建選擇的文件夾」,則會在工作空間創建的目錄下導入所有的文件而不會保留原目錄,此時可以編譯成功。 _GPk^))
◎若選擇「創建完整的文件夾結構」,導入完成後,選擇菜單「項目/屬性/Java構建路徑/源代碼」,點擊「添加文件夾」,把子目錄逐級點開,直到源代碼所在這級目錄為止,勾選上該目錄。彈出的提示對話框點擊確定即可。注意上級目錄不要勾選,否則會報錯。這樣這種方法導入的源碼也可以編譯運行了。 y90cZ0Y5
◎注意若源代碼中含有子目錄,在main程序中會有import ...的語句,此時要注意import後面的目錄級別,在選擇Java構建路徑時要勾選上import指明的上級目錄名。例如,連連看代碼中有子目錄topbar,在main程序中有import kyodai.topbar語句,那麼就要勾選到「我的文檔\cai\Java\連連看\」這級目錄,而非源碼所在的「我的文檔\cai\Java\連連看\kyodai」目錄。 }C. ?$i_
◎在連連看源碼中,作者已經把所有源碼都打包成了一個Jar,此時只需要添加該Jar包而不需要導入其他源碼就可以運行了(但不能調試,因為Jar包中不含源碼)。方法是創建完新項目後,選擇菜單「項目/屬性/Java構建路徑」,點擊「庫」頁,點擊「添加外部JAR」按鈕,選擇源碼自帶的Jar包即可運行。 ?f[*aQ%
KwZ:"=3hk
下面介紹「從現有資源創建項目」的方法。 n^c3\F~xg
◎在「創建Java項目」對話框中,點擊「下一步」按鈕,彈出「Java設置」對話框。 x|Gr/ 1
◎在「Java設置」對話框中選擇「庫」頁,選擇「添加JAR」,若找不到隨源碼提供的Jar包,就選擇「添加外部JAR」。一般如果Jar存放的目錄正確,在「添加JAR」中是可以找到該條目的。雙擊出現的Jar包即可添加進去。若不需要額外的庫支持,則點擊「完成」。 [Z/gQ RR|
w~Oy9.Br
這樣,用上面兩種方法創建的項目就可以編譯運行了。下面就介紹運行的方法。 sz.Ow*zx
◎選擇菜單「Run/運行」,彈出「創建、管理和運行配置」對話框。 GQcz \
◎根據源碼的種類在左邊的列表中進行選擇。我們用的兩個例子都是Java應用程序,所以雙擊「Java應用程序」,在對話框右邊可以輸入運行的配置。 3#1U2uKW&
◎如果新建了項目還沒有運行過,那麼右邊的「項目」欄預設值即為剛創建的項目。在「名稱」欄中輸入運行配置的名稱,建議與項目名稱一致(也可以不一致),不能與其他的運行配置重名。 L&Rxv2G
◎點擊「Main類」欄右方的「搜索」按鈕,一般只有一個main類,在彈出的對話框中雙擊下面那個欄目的main類即可。如果需要以其他的main方法做為程序入口,可以勾選上「Main類」欄下方的兩個復選框,選擇其他的入口。 V3GyK"4\U9
◎如果需要增加特殊的環境變數,例如有的源碼可能需要添加classpath環境變數,則可以在「環境」頁中添加。 '#Fu@zb
◎運行配置中的內容也會同樣反映在調試配置中,運行和調試使用相同的配置。 @ vcOG&+j
c_JQIv\@
創建了一堆新項目後,包資源管理器中會有一堆亂七八糟項目,有些是你需要的,有些是早已廢棄不用的,你可以刪除那些不用的項目,方法是右鍵點擊該項目,選擇「刪除」。這里要提醒讀者一下的是,刪除對話框有兩個選項,問你是否刪除該項目目錄下的內容,預設是「不刪除內容」,如果選擇刪除,那麼那個目錄就整個被刪除掉了,如果你這個目錄下的東西還有用,那你只好哭了。 .ag-Y4y
刪除掉沒用的項目後,運行/調試對話框中多餘的配置也可以刪除,方法是右鍵點擊不用的配置名,選擇刪除。 H0QCprVN%S

③ 求java小游戲源代碼

[最佳答案] 連連看java源代碼 import javax.swing.*; import java.awt.*; import java.awt.event.*; pu... int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戲按鈕的位...

④ 誰知道安卓游戲源碼下載的網站

可以去易查、手游、手機樂園、等網站。進行相對應的機型綁定…就可以下載自己喜歡的游戲! 91里就應該有吧 這位朋友您好你在泡椒網安卓論壇上下載

⑤ 連連看JAVA源代碼是什麼

importjavax.swing.*;x0dx0aimportjava.awt.*;x0dx0aimportjava.awt.event.*;x0d\x0dx0a{x0dx0aJFramemainFrame;//主面板x0dx0aContainerthisContainer;x0dx0aJPanelcenterPanel,southPanel,northPanel;//子面板x0dx0aJButtondiamondsButton[][]=newJButton[6][5];//游戲按鈕數組x0dx0aJButtonexitButton,resetButton,newlyButton;//退出,重列,重新開始按鈕x0dx0aJLabelfractionLable=newJLabel("0");//分數標簽x0dx0aJButtonfirstButton,secondButton;//分別記錄兩次被選中的按鈕x0dx0aintgrid[][]=newint[8][7];//儲存游戲按鈕位置x0d=false;//判斷是否有按鈕被選中x0dx0aintx0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV;//游戲按鈕的位置坐標x0dx0ainti,j,k,n;//消除方法控制x0dx0apublicvoidinit(){x0dx0amainFrame=newJFrame("JKJ連連看");x0dx0athisContainer=mainFrame.getContentPane();x0dx0athisContainer.setLayout(newBorderLayout());x0dx0acenterPanel=newJPanel();x0dx0asouthPanel=newJPanel();x0dx0anorthPanel=newJPanel();x0dx0athisContainer.add(centerPanel,"Center");x0dx0athisContainer.add(southPanel,"South");x0dx0athisContainer.add(northPanel,"North");x0dx0acenterPanel.setLayout(newGridLayout(6,5));x0dx0afor(intcols=0;cols<6;cols++){x0dx0afor(introws=0;rows<5;rows++){x0dx0adiamondsButton[cols][rows]=newJButton(String.valueOf(grid[cols+1][rows+1]));x0dx0adiamondsButton[cols][rows].addActionListener(this);x0dx0acenterPanel.add(diamondsButton[cols][rows]);x0dx0a}x0dx0a}x0dx0aexitButton=newJButton("退出");x0dx0aexitButton.addActionListener(this);x0dx0aresetButton=newJButton("重列");x0dx0aresetButton.addActionListener(this);x0dx0anewlyButton=newJButton("再來一局");x0dx0anewlyButton.addActionListener(this);x0dx0asouthPanel.add(exitButton);x0dx0asouthPanel.add(resetButton);x0dx0asouthPanel.add(newlyButton);x0dx0afractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));x0dx0anorthPanel.add(fractionLable);x0dx0amainFrame.setBounds(280,100,500,450);x0dx0amainFrame.setVisible(true);x0dx0a}x0dx0apublicvoidrandomBuild(){x0dx0aintrandoms,cols,rows;x0dx0afor(inttwins=1;twins<=15;twins++){x0dx0arandoms=(int)(Math.random()*25+1);x0dx0afor(intalike=1;alike<=2;alike++){x0dx0acols=(int)(Math.random()*6+1);x0dx0arows=(int)(Math.random()*5+1);x0dx0awhile(grid[cols][rows]!=0){x0dx0acols=(int)(Math.random()*6+1);x0dx0arows=(int)(Math.random()*5+1);x0dx0a}x0dx0athis.grid[cols][rows]=randoms;x0dx0a}x0dx0a}x0dx0a}x0dx0apublicvoidfraction(){x0dx0afractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100));x0dx0a}x0dx0apublicvoidreload(){x0dx0aintsave[]=newint[30];x0dx0aintn=0,cols,rows;x0dx0aintgrid[][]=newint[8][7];x0dx0afor(inti=0;i<=6;i++){x0dx0afor(intj=0;j<=5;j++){x0dx0aif(this.grid[i][j]!=0){x0dx0asave[n]=this.grid[i][j];x0dx0an++;x0dx0a}x0dx0a}x0dx0a}x0dx0an=n-1;x0dx0athis.grid=grid;x0dx0awhile(n>=0){x0dx0acols=(int)(Math.random()*6+1);x0dx0arows=(int)(Math.random()*5+1);x0dx0awhile(grid[cols][rows]!=0){x0dx0acols=(int)(Math.random()*6+1);x0dx0arows=(int)(Math.random()*5+1);x0dx0a}x0dx0athis.grid[cols][rows]=save[n];x0dx0an--;x0dx0a}x0dx0amainFrame.setVisible(false);x0dx0apressInformation=false;//這里一定要將按鈕點擊信息歸為初始x0dx0ainit();x0dx0afor(inti=0;i<6;i++){x0dx0afor(intj=0;j<5;j++){x0dx0aif(grid[i+1][j+1]==0)x0dx0adiamondsButton[i][j].setVisible(false);x0dx0a}x0dx0a}x0dx0a}x0dx0apublicvoidestimateEven(intplaceX,intplaceY,JButtonbz){x0dx0aif(pressInformation==false){x0dx0ax=placeX;x0dx0ay=placeY;x0dx0asecondMsg=grid[x][y];x0dx0asecondButton=bz;x0dx0apressInformation=true;x0dx0a}x0dx0aelse{x0dx0ax0=x;x0dx0ay0=y;x0dx0afristMsg=secondMsg;x0dx0afirstButton=secondButton;x0dx0ax=placeX;x0dx0ay=placeY;x0dx0asecondMsg=grid[x][y];x0dx0asecondButton=bz;x0dx0aif(fristMsg==secondMsg&&secondButton!=firstButton){x0dx0axiao();x0dx0a}x0dx0a}x0dx0a}x0dx0apublicvoidxiao(){//相同的情況下能不能消去。仔細分析,不一條條注釋x0dx0aif((x0==x&&(y0==y+1||y0==y-1))||((x0==x+1||x0==x-1)&&(y0==y))){//判斷是否相鄰x0dx0aremove();x0dx0a}x0dx0aelse{x0dx0afor(j=0;j<7;j++){x0dx0aif(grid[x0][j]==0){//判斷第一個按鈕同行哪個按鈕為空x0dx0aif(y>j){//如果第二個按鈕的Y坐標大於空按鈕的Y坐標說明第一按鈕在第二按鈕左邊x0dx0afor(i=y-1;i>=j;i--){//判斷第二按鈕左側直到第一按鈕中間有沒有按鈕x0dx0aif(grid[x][i]!=0){x0dx0ak=0;x0dx0abreak;x0dx0a}x0dx0aelse//K=1說明通過了第一次驗證x0dx0a}x0dx0aif(k==1){x0dx0alinePassOne();x0dx0a}x0dx0a}x0dx0aif(yx){x0dx0afor(n=x0;n>=x+1;n--){x0dx0aif(grid[n][j]!=0){x0dx0ak=0;x0dx0abreak;x0dx0a}x0dx0aif(grid[n][j]==0&&n==x+1){x0dx0aremove();x0dx0a}x0dx0a}x0dx0a}x0dx0a}x0dx0a}x0dx0afor(i=0;i<8;i++){//列x0dx0aif(grid[i][y0]==0){x0dx0aif(x>i){x0dx0afor(j=x-1;j>=i;j--){x0dx0aif(grid[j][y]!=0){x0dx0ak=0;x0dx0abreak;x0dx0a}x0dx0aelsex0dx0a}x0dx0aif(k==1){x0dx0arowPassOne();x0dx0a}x0dx0a}x0dx0aif(xy){x0dx0afor(n=y0;n>=y+1;n--){x0dx0aif(grid[i][n]!=0){x0dx0ak=0;x0dx0abreak;x0dx0a}x0dx0aif(grid[i][n]==0&&n==y+1){x0dx0aremove();x0dx0a}x0dx0a}x0dx0a}x0dx0a}x0dx0a}x0dx0a}x0dx0a}x0dx0apublicvoidlinePassOne(){x0dx0aif(y0>j){//第一按鈕同行空按鈕在左邊x0dx0afor(i=y0-1;i>=j;i--){//判斷第一按鈕同左側空按鈕之間有沒按鈕x0dx0aif(grid[x0][i]!=0){x0dx0ak=0;x0dx0abreak;x0dx0a}x0dx0aelse//K=2說明通過了第二次驗證x0dx0a}x0dx0a}x0dx0aif(y0i){x0dx0afor(j=x0-1;j>=i;j--){x0dx0aif(grid[j][y0]!=0){x0dx0ak=0;x0dx0abreak;x0dx0a}x0dx0aelsex0dx0a}x0dx0a}x0dx0aif(x0

⑥ 怎麼製作連連看

這篇文章會對你有幫助:
關於《連連看》的演算法
http://www.7880.com/Info/Article-3348a980.html
還有兩個連連看游戲的源代碼,基本上你改改裡面的圖片就可以交差了,不過最好花時間看懂,能自己做一遍更好。
http://www.flash8.net/fla/6684.shtml
http://www.flash8.net/fla/7720.shtml

⑦ 用java語言編寫連連看游戲

我以前自己寫一個玩的。沒有把你要求的功能全部實現,不過你看了後可以改一下就好了。參考一下吧,我給了註解:

package mybase.programe;
/*
* lianliankan總體演算法思路:由兩個確定的按鈕。若這兩個按鈕的數字相等,就開始找它們相連的路經。這個找路經
* 分3種情況:(從下面的這三種情況,我們可以知道,需要三個檢測,這三個檢測分別檢測一條直路經。這樣就會有
* 三條路經。若這三條路經上都是空按鈕,那麼就剛好是三種直線(兩個轉彎點)把兩個按鈕連接起來了)
* 1.相鄰
*
* 2. 若不相鄰的先在第一個按鈕的同行找一個空按鈕。1).找到後看第二個按鈕橫向到這個空按鈕
* 所在的列是否有按鈕。2).沒有的話再看第一個按鈕到與它同行的那個空按鈕之間是否有按鈕。3).沒有的話,再從
* 與第一個按鈕同行的那個空按鈕豎向到與第二個按鈕的同行看是否有按鈕。沒有的話路經就通了,可以消了.
*
* 3.若2失敗後,再在第一個按鈕的同列找一個空按鈕。1).找到後看第二個按鈕豎向到這個空按鈕所在的行是否有按鈕。
* 2).沒有的話,再看第一個按鈕到與它同列的那個空按鈕之間是否有按鈕。3).沒有的話,再從與第一個按鈕同列的
* 那個空按鈕橫向到與第二個按鈕同列看是否有按鈕。沒有的話路經就通了,可以消了。
*
* 若以上三步都失敗,說明這兩個按鈕不可以消去。
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class LianLianKan implements ActionListener {
JFrame mainFrame; // 主面板
Container thisContainer;
JPanel centerPanel, southPanel, northPanel; // 子面板
JButton diamondsButton[][] = new JButton[6][5];// 游戲按鈕數組
JButton exitButton, resetButton, newlyButton; // 退出,重列,重新開始按鈕
JLabel fractionLable = new JLabel("0"); // 分數標簽
JButton firstButton, secondButton; // 分別記錄兩次被選中的按鈕
// 儲存游戲按鈕位置(這里其實只要6行,5列。但是我們用了8行,7列。是等於在這個面板按鈕的周圍還圍
//了一層是0的按鈕,這樣就可以實現靠近面板邊緣的兩個按鈕可以消去)
int grid[][] = new int[8][7];
static boolean pressInformation = false; // 判斷是否有按鈕被選中
int x0 = 0, y0 = 0, x = 0, y = 0, fristMsg = 0, secondMsg = 0, validateLV; // 游戲按鈕的位置坐標
int i, j, k, n;// 消除方法控制

public void init() {
mainFrame = new JFrame("JKJ連連看");
thisContainer = mainFrame.getContentPane();
thisContainer.setLayout(new BorderLayout());
centerPanel = new JPanel();
southPanel = new JPanel();
northPanel = new JPanel();
thisContainer.add(centerPanel, "Center");
thisContainer.add(southPanel, "South");
thisContainer.add(northPanel, "North");
centerPanel.setLayout(new GridLayout(6, 5));

for (int cols = 0; cols < 6; cols++) {
for (int rows = 0; rows < 5; rows++) {
diamondsButton[cols][rows] = new JButton(String
.valueOf(grid[cols + 1][rows + 1]));
diamondsButton[cols][rows].addActionListener(this);
centerPanel.add(diamondsButton[cols][rows]);
}
}

exitButton = new JButton("退出");
exitButton.addActionListener(this);
resetButton = new JButton("重列");
resetButton.addActionListener(this);
newlyButton = new JButton("再來一局");
newlyButton.addActionListener(this);
southPanel.add(exitButton);
southPanel.add(resetButton);
southPanel.add(newlyButton);

fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable
.getText())));
northPanel.add(fractionLable);

mainFrame.setBounds(280, 100, 500, 450);
mainFrame.setVisible(true);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void randomBuild() {
int randoms, cols, rows;
for (int twins = 1; twins <= 15; twins++) {//一共15對button,30個
randoms = (int) (Math.random() * 25 + 1);//button上的數字
for (int alike = 1; alike <= 2; alike++) {
cols = (int) (Math.random() * 6 + 1);
rows = (int) (Math.random() * 5 + 1);
while (grid[cols][rows] != 0) {//等於0說明這個空格有了button
cols = (int) (Math.random() * 6 + 1);
rows = (int) (Math.random() * 5 + 1);
}
this.grid[cols][rows] = randoms;
}
}
}

public void fraction() {
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable
.getText()) + 100));
}

public void reload() {
int save[] = new int[30];
int n = 0, cols, rows;
int grid[][] = new int[8][7];
for (int i = 0; i <= 6; i++) {
for (int j = 0; j <= 5; j++) {
if (this.grid[i][j] != 0) {
save[n] = this.grid[i][j];//記下每個button的數字
n++;//有幾個沒有消去的button
}
}
}
n = n - 1;
this.grid = grid;
while (n >= 0) {//把沒有消去的button重新放一次
cols = (int) (Math.random() * 6 + 1);
rows = (int) (Math.random() * 5 + 1);
while (grid[cols][rows] != 0) {
cols = (int) (Math.random() * 6 + 1);
rows = (int) (Math.random() * 5 + 1);
}
this.grid[cols][rows] = save[n];
n--;
}

mainFrame.setVisible(false);
pressInformation = false; // 這里一定要將按鈕點擊信息歸為初始
init();
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 5; j++) {
if (grid[i + 1][j + 1] == 0)
diamondsButton[i][j].setVisible(false);
}
}
}

public void estimateEven(int placeX, int placeY, JButton bz) {
if (pressInformation == false) {
x = placeX;
y = placeY;
secondMsg = grid[x][y];
secondButton = bz;
pressInformation = true;
} else {
x0 = x;
y0 = y;
fristMsg = secondMsg;
firstButton = secondButton;
x = placeX;
y = placeY;
secondMsg = grid[x][y];
secondButton = bz;
if (fristMsg == secondMsg && secondButton != firstButton) {
xiao();
}
}
}

public void xiao() { // 相同的情況下能不能消去。仔細分析,不一條條注釋
if ((x0 == x && (y0 == y + 1 || y0 == y - 1))
|| ((x0 == x + 1 || x0 == x - 1) && (y0 == y))) { // 判斷是否相鄰
remove();
} else {
for (j = 0; j < 7; j++) {
if (grid[x0][j] == 0) { // 判斷和第一個按鈕同行的哪個按鈕為空
//如果找到一個為空的,就按列值的三種情況比較第二個按鈕與空按鈕的位置

if (y > j) {//第二個按鈕在空按鈕右邊
for (i = y - 1; i >= j; i--) { //檢測從第二個按鈕橫向左邊到空格所在列為止是否全是空格
if (grid[x][i] != 0) {
k = 0;
break;//存在非空格的就退出,這一退出就不可能k==2了,所以就會到下而215行出同理的判斷列
} else {
k = 1;
} // K=1說明全是空格通過了第一次驗證,也就是從第二個按鈕橫向左邊到空格所在列為止全是空格
}
if (k == 1) {
linePassOne();//進入第二次驗證,也就是從第一個按鈕到它同行的空格之間的空格判斷
}
}

if (y < j) { // 第二個按鈕在空按鈕左邊
for (i = y + 1; i <= j; i++) {//檢測從第二個按鈕橫向右邊到空格所在列為止是否全是空格
if (grid[x][i] != 0) {
k = 0;
break;
} else {
k = 1;
}
}
if (k == 1) {
linePassOne();
}
}

if (y == j) {//第二個按鈕和空按鈕同列
linePassOne();
}
}

//第三次檢測,檢測確定為空的第j列的那個按鈕豎向到第二個按鈕,看是不是有按鈕
if (k == 2) {
if (x0 == x) {//第一,二按鈕在同行
remove();
}

if (x0 < x) {//第一按鈕在第二按鈕下邊
for (n = x0; n <= x - 1; n++) {//從空按鈕豎向到第二個按鈕所在行是否有按鈕
if (grid[n][j] != 0) {
k = 0;
break;
}
//沒有按鈕,說明這條路經就通了
if (grid[n][j] == 0 && n == x - 1) {
remove();
}
}
}

if (x0 > x) {//第一按鈕在第二按鈕上邊
for (n = x0; n >= x + 1; n--) {
if (grid[n][j] != 0) {
k = 0;
break;
}
if (grid[n][j] == 0 && n == x + 1) {
remove();
}
}
}
}

}//-------------------------------------for

//當上面的檢測與第一個按鈕同行的空格按鈕失敗後(不能找到與第二個按鈕的相連路經),下面就執行
//檢測與第一個按鈕同列的空格按鈕
for (i = 0; i < 8; i++) {
if (grid[i][y0] == 0) {// 判斷和第一個按鈕同列的哪個按鈕為空
if (x > i) {//第二個按鈕在這個空按鈕的下面
for (j = x - 1; j >= i; j--) {
if (grid[j][y] != 0) {
k = 0;
break;
} else {
k = 1;
}
}
if (k == 1) {
rowPassOne();
}
}

if (x < i) {//第二個按鈕在這個空按鈕的上面
for (j = x + 1; j <= i; j++) {
if (grid[j][y] != 0) {
k = 0;
break;
} else {
k = 1;
}
}
if (k == 1) {
rowPassOne();
}
}

if (x == i) {//第二個按鈕與這個空按鈕同行
rowPassOne();
}
}

if (k == 2) {
if (y0 == y) {//第二個按鈕與第一個按鈕同列
remove();
}
if (y0 < y) {//第二個按鈕在第一個按鈕右邊
for (n = y0; n <= y - 1; n++) {
if (grid[i][n] != 0) {
k = 0;
break;
}
if (grid[i][n] == 0 && n == y - 1) {
remove();
}
}
}
if (y0 > y) {//第二個按鈕在第一個按鈕左邊
for (n = y0; n >= y + 1; n--) {
if (grid[i][n] != 0) {
k = 0;
break;
}
if (grid[i][n] == 0 && n == y + 1) {
remove();
}
}
}
}
}//--------------------------------for
}//-------------else
}//------------xiao

public void linePassOne() {
if (y0 > j) { // 第一按鈕同行空按鈕在左邊
for (i = y0 - 1; i >= j; i--) { // 判斷第一按鈕同左側空按鈕之間有沒按鈕
if (grid[x0][i] != 0) {
k = 0;
break;
} else {
k = 2;
} // K=2說明通過了第二次驗證
}
}

if (y0 < j) { // 第一按鈕同行空按鈕在右邊
for (i = y0 + 1; i <= j; i++) {
if (grid[x0][i] != 0) {
k = 0;
break;
} else {
k = 2;
}
}
}
}

public void rowPassOne() {
if (x0 > i) {//第一個按鈕在與它同列的那個空格按鈕下面
for (j = x0 - 1; j >= i; j--) {
if (grid[j][y0] != 0) {
k = 0;
break;
} else {
k = 2;
}
}
}

if (x0 < i) {//第一個按鈕在與它同列的那個空格按鈕上面
for (j = x0 + 1; j <= i; j++) {
if (grid[j][y0] != 0) {
k = 0;
break;
} else {
k = 2;
}
}
}
}

public void remove() {
firstButton.setVisible(false);
secondButton.setVisible(false);
fraction();
pressInformation = false;
k = 0;
grid[x0][y0] = 0;
grid[x][y] = 0;
}

public void actionPerformed(ActionEvent e) {
if (e.getSource() == newlyButton) {
int grid[][] = new int[8][7];
this.grid = grid;
randomBuild();
mainFrame.setVisible(false);
pressInformation = false;
init();
}
if (e.getSource() == exitButton)
System.exit(0);
if (e.getSource() == resetButton)
reload();
for (int cols = 0; cols < 6; cols++) {
for (int rows = 0; rows < 5; rows++) {
if (e.getSource() == diamondsButton[cols][rows])
estimateEven(cols + 1, rows + 1, diamondsButton[cols][rows]);
}
}
}

public static void main(String[] args) {
LianLianKan llk = new LianLianKan();
llk.randomBuild();
llk.init();
}
}

閱讀全文

與h5連連看源碼相關的資料

熱點內容
紅顏薄命女斗小說 瀏覽:940
法國電影戀愛love2012電影完整版 瀏覽:459
在線影視 不卡 瀏覽:168
老男孩韓國完整版百度網盤 瀏覽:485
用箱子運水怪結果被放出來了電影 瀏覽:519
徐錦江空中飛人片名 瀏覽:164
手機免費在線看福利電影 瀏覽:457
羅麗星克萊爾經典 瀏覽:342
台灣紅羊有哪些經典電影 瀏覽:568
免下載你懂的 瀏覽:975
新建文件夾1女演員三位 瀏覽:740
不用下載就能看的視頻網站 瀏覽:330
我一個神偷硬生生把國家偷成強國 瀏覽:600
樣子是五歲小男孩和郭富城演的 瀏覽:460
韓國演員也美娜 瀏覽:898
陸離是哪部小說的主角 瀏覽:49
華娛開局佟麗婭 瀏覽:17
男男生子小說現代攻姓章 瀏覽:541
永旺星星影院影訊 瀏覽:328
李彩潭巔峰之作 瀏覽:86