国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - java仿QQ連連看游戲

java仿QQ連連看游戲

2021-06-27 16:44chance2015 Java教程

這篇文章主要為大家詳細(xì)介紹了java仿QQ連連看游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

關(guān)于這個(gè)項(xiàng)目,真的是花了很多心思在上面,從開(kāi)始構(gòu)思,到最后完成,真的是花了整整一個(gè)月。大概是11月初開(kāi)始學(xué)java swing的時(shí)候有的想法,然后開(kāi)始構(gòu)思整個(gè)思路,相關(guān)算法討論以及調(diào)試。

最開(kāi)始先對(duì)連連看基礎(chǔ)算法進(jìn)行測(cè)試,就用一般的二維數(shù)組,然后就用控制臺(tái)輸入兩個(gè)點(diǎn)的坐標(biāo)進(jìn)行刪除,這一步就調(diào)試了我整整一個(gè)星期,基礎(chǔ)算法搞完了 終于開(kāi)始設(shè)計(jì)界面了,反正也不知道那時(shí)候花了多長(zhǎng)時(shí)間才把界面給設(shè)計(jì)好,反正還設(shè)計(jì)的特別丑(至今也如此)。

功能如下:

運(yùn)行程序后有背景音樂(lè)
菜單欄有:重新開(kāi)始,提示,炸彈,排行榜等功能。
還有關(guān)閉背景音樂(lè),設(shè)置游戲等級(jí),查看游戲幫助這幾項(xiàng)功能
游戲有得分以及倒計(jì)時(shí)功能。

其實(shí)這游戲做的就是仿qq連連看,連圖片和背景聲音都是來(lái)自qq連連看。

本篇博客不是教程,但提供源碼,這只是寫給自己看,說(shuō)說(shuō)自己關(guān)于寫這個(gè)游戲的領(lǐng)悟而已。

由于是剛開(kāi)始接觸java gui就開(kāi)始動(dòng)手寫游戲,結(jié)果好多東西都在走彎路,后來(lái)才知道明明可以用awt swt 等等插件進(jìn)行拖拽式編程,我還傻傻的一個(gè)代碼一個(gè)代碼的敲出程序界面,還一個(gè)像素一個(gè)像素的調(diào)試來(lái)使得整體界面美觀, 不過(guò)總體來(lái)說(shuō)現(xiàn)在多走點(diǎn)彎路,以后就少走點(diǎn)彎路了嘛,教訓(xùn)總是要吸取的,只有把常見(jiàn)的bug都經(jīng)歷了一遍,以后開(kāi)發(fā)才會(huì)有意的繞開(kāi)那些bug。

最讓人頭疼的就是java線程那一塊,之前一直沒(méi)接觸過(guò)這種東西,學(xué)校的課又遲遲沒(méi)上到那,最終還是得花個(gè)時(shí)間好好的看了下線程,由于開(kāi)發(fā)那個(gè)游戲的時(shí)候我還沒(méi)開(kāi)始寫博客,因此也沒(méi)將那個(gè)項(xiàng)目的細(xì)節(jié)寫進(jìn)來(lái)??磥?lái)以后開(kāi)發(fā)項(xiàng)目還是要吧細(xì)節(jié)以及思路都記下來(lái),免得以后工作了自己都不知道自己寫的什么意思。

程序運(yùn)行界面如下:

java仿QQ連連看游戲

java仿QQ連連看游戲

仿qq連連看代碼比較多,不方便帖上來(lái),于是我打包發(fā)送然后留下傳送門去領(lǐng)取。

傳送門如下:java編寫連連看

部分代碼:

rankingbar.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import java.awt.*;
 
import javax.swing.border.*;
import java.net.*;
import javax.swing.text.html.*;
import javax.swing.event.*;
import javax.swing.*;
 
import java.awt.event.*;
 
public class rankingbar extends jframe{
 
 
 jbutton confirm,cancel,test;
 jpanel top,center,bottom;
 jlabel name,score,content;
 jtable table;
 object t[][];
 string strname;
 int uscore;
 
 rankingbar(string strname,int uscore){ //構(gòu)造函數(shù)
 
 this.strname = strname;
 this.uscore = uscore;
 top = new jpanel();
 center = new jpanel();
 bottom = new jpanel();
 
 confirm = new jbutton("確定");
 cancel = new jbutton("取消");
//
// name = new jlabel("      姓名");
// score = new jlabel("   分?jǐn)?shù)");
// content = new jlabel("這是顯示排行內(nèi)容的窗口");
 
 table = new jtable(10,2);
 
 init_windows();
 dimension screensize = toolkit.getdefaulttoolkit().getscreensize();
 this.setlocation( (int) (screensize.width - 420) / 2,
     (int) (screensize.height - 360) / 2);
 this.setresizable(false);
 this.setsize(new dimension(250, 250));
 this.settitle("排行榜");
 setvisible(true);
 this.setresizable(false);//禁止用戶改變窗體大小
 setdefaultcloseoperation(jframe.exit_on_close);
 }
 
 private void init_windows() {
 
 // setlayout(new borderlayout());
 //上部初始化
// top_init();
 
 //中間初始化
 center_init();
 
 //底部初始化
 bottom_init();
 
 
 }
 
private void center_init() { //初始化中間
 
 jtable table;
 object t[][];
 object sname[] = {"名次","姓名","分?jǐn)?shù)"};
 int cnt = 0;
 string s[] = {"1","2","3","4","5","6","7","8","9","10"};
 t = new object[11][3];
 t[0][0] = "排名";
 t[0][1] = "姓名";
 t[0][2] = "分?jǐn)?shù)";
 for(int i = 1;i < 11;i++){
 for(int j = 0;j < 3;j++){
 if(j == 1){
 t[i][j] = "null";
 }
 else if(j == 0){
 t[i][j] = s[cnt++];
 }
 else{
 t[i][j] = "0";
 }
 }
 }
 t[1][1] = strname;
 t[1][2] = "" + uscore + "";
 table = new jtable(t,sname);
 add(table,borderlayout.center);
 table.enable(false);
 
 }
 
//private void top_init() { //初始化上端
//
// top.setlayout(new gridlayout());
// top.add(name);
// top.add(score);
// add(top,borderlayout.north);
// }
 
private void bottom_init() { //底部初始化
 
 bottom.add(confirm);
 confirm.addactionlistener(new actionlistener() {
  public void actionperformed(actionevent e) {
   setvisible(false);
  }
  });
 bottom.add(cancel);
 cancel.addactionlistener(new actionlistener() {
  public void actionperformed(actionevent e) {
   system.exit(0);
  }
  });
 add(bottom,borderlayout.south);
 
 }
 
//public static void main(string arg[]){
//
// new rankingbar("吳承潛",100);
// }
 
}

help.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import java.net.*;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;
import javax.swing.text.html.*;
 
/**
 * <p>title: kyodai</p>
 * <p>description: 連連看java版</p>
 * <p>copyright: copyright (c) 2004</p>
 * <p>company: www.wuhantech.com</p>
 * @author zhangjian
 * @version 1.0
 */
 
public class help
 extends jdialog
 implements hyperlinklistener {
 jscrollpane scrollpane = new jscrollpane();
 jeditorpane helppane = new jeditorpane();
 border border1;
 jpanel panel1 = new jpanel();
 jbutton close = new jbutton();
 border border2;
 
 public help(jframe frame) throws headlessexception {
 super(frame, true);
 try {
  jbinit();
 }
 catch (exception e) {
  e.printstacktrace();
 }
 dimension screensize = toolkit.getdefaulttoolkit().getscreensize();
 this.setlocation( (int) (screensize.width - 420) / 2,
      (int) (screensize.height - 360) / 2);
 this.setresizable(false);
 this.setsize(new dimension(420, 360));
 this.settitle("游戲幫助");
 setvisible(true);
 this.setresizable(false);//禁止用戶改變窗體大小
 setdefaultcloseoperation(jframe.exit_on_close);
 }
 
// public static void main(string args[]){
// new help(null);
// }
 
 private void jbinit() throws exception {
 border2 = borderfactory.createcompoundborder(borderfactory.createlineborder(color.lightgray,1),borderfactory.createemptyborder(2,10,2,10));
 this.setsize(new dimension(420, 360));
 this.settitle("help");
 border1 = borderfactory.createemptyborder();
 
 urlclassloader urlloader = (urlclassloader)this.getclass().getclassloader();
 url url = null;
 url = urlloader.findresource("help.htm");
 helppane.setpage(url);
 helppane.seteditable(false);
 helppane.addhyperlinklistener(this);
 scrollpane.sethorizontalscrollbarpolicy(jscrollpane.
           horizontal_scrollbar_never);
 scrollpane.setverticalscrollbarpolicy(jscrollpane.
           vertical_scrollbar_as_needed);
 scrollpane.setborder(border1);
 close.setbackground(color.white);
 close.setborder(border2);
 close.setactioncommand("jbutton1");
 close.settext("關(guān)閉");
 close.addactionlistener(new actionlistener() {
  public void actionperformed(actionevent e) {
  setvisible(false);
  }
 });
 
 panel1.setbackground(color.white);
 this.getcontentpane().add(scrollpane, borderlayout.center);
 this.getcontentpane().add(panel1, borderlayout.south);
 scrollpane.getviewport().add(helppane, null);
 panel1.add(close, null);
 }
 
 public void hyperlinkupdate(hyperlinkevent e) {
 if (e.geteventtype() == hyperlinkevent.eventtype.activated) {
  jeditorpane pane = (jeditorpane) e.getsource();
  if (e instanceof htmlframehyperlinkevent) {
  htmlframehyperlinkevent evt = (htmlframehyperlinkevent) e;
  htmldocument doc = (htmldocument) pane.getdocument();
  doc.processhtmlframehyperlinkevent(evt);
  }
  else {
  try {
   pane.setpage(e.geturl());
  }
  catch (throwable t) {
   t.printstacktrace();
  }
  }
 }
 }
 
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/chance2015/article/details/50453246

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美一区亚洲一区 | www.国产精品 | 狠狠艹av| 黄色在线免费看 | 亚洲视频一区 | 亚洲xxxxx| 91精品国产综合久久久久久 | 欧美成人高清 | 国产精品永久免费视频 | 成人免费毛片嘿嘿连载视频 | 99久久精品国产一区二区三区 | 亚洲成人av在线 | 欧美综合久久 | 伊人色爱 | www.色婷婷| 精品国产乱码久久久久久蜜柚 | 日韩欧美高清 | 国产区一区 | 欧美日韩精品一区二区三区蜜桃 | 91av免费在线观看 | 亚洲一区中文字幕在线观看 | 婷婷天堂| 自拍偷拍亚洲欧美 | 激情五月激情综合网 | 亚洲视频www | 欧美日韩国产影院 | 中文字幕一区二区三区乱码图片 | 国产精品自产拍在线观看 | 欧美激情在线精品一区二区三区 | 日韩中文字幕在线播放 | 视频一区二区在线观看 | 国产精品精品视频一区二区三区 | 中国女人真人一级毛片 | 日本激情网 | 视频1区2区 | 1区2区视频 | 日韩国产在线 | 毛片免费观看 | 国产99久久久精品视频 | 毛片网站在线观看 | 欧美成人区 |