當前位置:首頁 » 安卓系統 » android連連看源碼

android連連看源碼

發布時間: 2023-02-18 14:42:19

1. 連連看java源代碼

連連看java源代碼 2007-11-01 02:25 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; //分別記錄兩次被選中的按鈕
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);
}
public void randomBuild() {
int randoms,cols,rows;
for(int twins=1;twins<=15;twins++) {
randoms=(int)(Math.random()*25+1);
for(int alike=1;alike<=2;alike++) {
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]=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];
n++;
}
}
}
n=n-1;
this.grid=grid;
while(n>=0) {
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) { //如果第二個按鈕的Y坐標大於空按鈕的Y坐標說明第一按鈕在第二按鈕左邊
for (i=y-1;i>=j;i-- ){ //判斷第二按鈕左側直到第一按鈕中間有沒有按鈕
if (grid[x][i]!=0) {
k=0;
break;
}
else{ k=1; } //K=1說明通過了第一次驗證
}
if (k==1) {
linePassOne();
}
}
if (y<j){ //如果第二個按鈕的Y坐標小於空按鈕的Y坐標說明第一按鈕在第二按鈕右邊
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();
}
}
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 (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();
}
}
}
}
}
}
}
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();
}
}

//old 998 lines
//new 318 lines

2. 連連看JAVA源代碼

加上。(初始化代碼樓主清洗本身選) 對應在這句話。別離grid[][]數組的行列即可,你只需定義25個不一樣的圖片;後面; 這句話是用來設置連連看的圖的.setIcon(icons[grid[cols + 1][rows + 1])])。 定義: diamondsButton[cols][rows] = new JButton(String .valueOf(grid[cols + 1][rows + 1])): ImageIcon icons[]= new ImageIcon[25]: diamondsButton[cols][rows].valueOf(grid[cols + 1][rows + 1]))diamondsButton[cols][rows] = new JButton(String 。它只用了數字; 然後把icons數組初始化對應每個圖片即可

3. 連連看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

4. 求大神給一份android studio的連連看游戲的源代碼

網頁鏈接 這里很多自己找找

5. Flash 3.0小游戲源代碼 ,類似於連連看,打氣球,射擊什麼之類的都可以

可以去天地會論壇找找,應該有很多源碼

6. 用C++做連連看,要源代碼,能看懂的!!!

VS2005平台開發的,能夠進行聯機對戰。

7*12的排列,排列順序隨機。

代碼附帶十分形象的說明

7. 求一個Android小游戲消方塊的源代碼,謝謝了~

兩個以上可以點擊消失??什麼樣的?對對碰,連在一起的,還是連連看那樣的?

8. 麻將連連看的安卓游戲

麻將連連看 V1.1.1
大小:4923KB
時間:2012-01-31
類別:益智棋牌
語言:英語
系統:Android 1.6+ 麻將連連看Random Mahjong Pro 是一款以麻將為主題的連連看游戲,採用了重疊的立體圖形界面,界面非常華麗,而玩法比較簡單,要求在規定的時間內把2個相同的麻將子連接起來消除,不過連接的路線可是不能有障礙物擋住!
游戲擁有3個難度,一共50個關卡,喜歡麻將和連連看的朋友玩玩,非常不錯的!麻將連連看這款游戲的玩法比較簡單,和傳統上的連連看相似,但是界面和疊堆方式不一樣而已,一樣是點擊兩個相同的圖案就能消除掉,這種玩法其實在很早的時候在有麻將那時就已經有了,基本上連連看也是根據這個種游戲的玩法而出現的,現在將這種連連看玩法重新搬到麻將上,顯得更加有意思了,而且游戲的畫面確實非常華麗,還有那消除的效果也頗為不錯。這是一款值得一玩的休閑小游戲。 游戲名稱:麻將連連看
游戲類型:益智小游戲
游戲大小:1076K
游戲站點:4399小游戲 如何開始
游戲載入完畢後,點擊PLAY GAME→PLAY即可開始游戲。
操作方法
滑鼠點擊可選取的麻將。注意:選取兩張相同花色的麻將並且讓它們相加得十才可以被消除。
游戲目標
在限定時間內消除屏幕所有的麻將。

9. 有沒有html5,開發連連看游戲代碼,不要太復雜的,代碼最好不要超過4百行,能運行就給賞金,那個哥們幫幫

在瀏覽器里運行,然後F12查看源代碼,找到這個h5並點擊,看一下它對應的樣式,與你在vs里寫的有什麼不同。可能的原因:1.它有父級容器,父級容器的樣式影響到了它。2.它有子元素,子元素影響到了它的顯示。3.在你項目的其他地方,你修改了它應用的樣式,照成樣式改變。沒看到源碼,我能想到的只有這些。。。

10. 求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; //游戲按鈕的位...

熱點內容
android相機閃光燈 發布:2025-05-16 14:35:49 瀏覽:258
伺服器無法通過ip訪問 發布:2025-05-16 14:26:13 瀏覽:540
網吧u盤拒絕訪問 發布:2025-05-16 14:13:50 瀏覽:260
無線網檢查網路配置是怎麼回事 發布:2025-05-16 14:04:03 瀏覽:220
網路爬蟲python代碼 發布:2025-05-16 14:03:26 瀏覽:516
汽車小組件怎麼弄到安卓桌面 發布:2025-05-16 13:51:12 瀏覽:220
linuxg編譯器下載 發布:2025-05-16 13:50:58 瀏覽:776
centosc編譯器 發布:2025-05-16 13:50:17 瀏覽:948
安卓手機如何變換桌面 發布:2025-05-16 13:39:33 瀏覽:515
sql存儲過程命令 發布:2025-05-16 13:17:54 瀏覽:146