╳围棋棋盘五子棋JAVA语言课程设计报告
《Java语言程序设计》课程设计报告
学 院: 信息科学技术学院
班 级: 软件技术2班
姓 名 王更新
学 号: 1 090505
指导教师 郭韶升
课设时间: 20 4—0—17至2 4—03-26
二O一四年三月二十六日
目 录
一、设计要求…………………………………………。 . . .
二、设计步骤………………………………………….。 .2
2. 程序流程图………………………….…………. .2
╳围棋棋盘五子棋JAVA语言课程设计报告
2。 程序的功能分配……………………….………。 . .3
三、设计正文………………………………………….。 。
3 1创建棋盘类………………………………………。 6
3。 2判断输赢功能实现………………………………。 9
3 测试结果………………………………………。 . .。 9
四、心得体会…………………………………………. .12
五、参考文献………………………………………… 。 1
附录(源代码)……………………………………… 13
一、课程设计要求
设计一个 5╳15围棋棋盘 由两玩家交替进行对战,并可以实现以下功能
1选择落子的先后顺序
2.重置棋盘
3。刷新重新开始
4.退出提示
并且规定退出者判为负但退出过程中要有提示。 以防不小心点错了.最后判断某一方是否为五子连珠。
实现一个简单的多用户五子棋的游戏程序包括如下两个界面
(1选择对弈桌执黑、执白 .
2在游戏界面有开始,退出游戏未结束、点退出自动判负
二、设计步骤
╳围棋棋盘五子棋JAVA语言课程设计报告
2.1程序流程图
.程序的功能分配
。 棋盘的绘制
ub ic vo dr_ian Graphics G /画棋盘 515{.setol C o l .lihtGry ;
G. ill3Rec 10 10 30 ,3 0,t e);
G.stCoor o .b )
fo( n =1 i 〈1 ++){
drie 0 20i 300,20i)
。 d wie 0i 2 20i 00
b。 添加按钮
uttn 1=ne wutto n 开始 );
ttn b=ne utton( 重置游戏” )
Lael llWin=e abe ””)
Cekox bH[]ne hecbx ;
Bu o e x t =nB utto n "退出” )
pblic vid in t {ckbHB0]= C hc o x(”执白” cg, l e ; b 1 =ew Chck x "执黑” kB false); kHB2 =ewhekbox("观看 ckgHB alse ;
╳围棋棋盘五子棋JAVA语言课程设计报告
c.鼠标棋子的触发事件publ c v d m Cli ed(ousEv t e
G pi s g=etGrah cs ;
it x1,1
x1= .g )y=e getY);
i e.et(<2 |e。 get 〉 300 |e。 g Y) 〈20 .ge(3 0
re tur n;
if(1010)
x1+=
}
if(1%20 ) {
y10
}
x1=x1/ 20;
y=y1/20*20
Qi x y ;
=(-1)
}
。 按钮的触发事件pbl c vi tionPer rmed Ationent
Grapics g= tG h cs )
f 。 g uce =b1)
Gme_start( ;
}
e e
Gme_re(
if Su e )==exist){
G ame_e )
lblWn.se Tex Get_q zi_clo co loQ izi)+输了 ")
ntG ae_trt=
e。 判断落子的位置及画出相应的黑白棋子pub ic vod e zi(int int y)/落子
if(intGa me r t==0 /判断游戏未开始
retur n;
╳围棋棋盘五子棋JAVA语言课程设计报告if( nGame yx/20 y/20 =0 {
re ur;
Graph cs g=etG hics
o lor_Q izi=1)//判断黑子还是白子
g.se Colr olr。 b ack
c r_i =0;
}
s
g. etC or Co lo .wh e);
clor_iz ;
g.f Oval(x10 y10,2 20 ;
intameBody x/2 0colori i+1;
f. 判断胜负if m_win1( 20 y/2 )) /判断输赢1
lb lWin. e te xt tiz_o lor co o_izi赢了! );
itG a me_ a rt
i (mew _ (x/ ,/0)) /判断输赢2
l Wn。 setText(et i_colr olr_Q izi +”赢了!” ; inta m_tr = ;
if Gm_n (/ ,y/20)) /判断输赢3{
blWi.stext G t_iz_c o oo r_Q i i)”赢了!” ntGa m_ t=0
i (am_win4 x/2 y/2 ) /判断输赢4{
lbli。 s Text G _qizi_olr co rQ zi +赢了” ; nta me_S tar t=0;
}
╳围棋棋盘五子棋JAVA语言课程设计报告
三、设计正文
3。 1创建棋盘类
Pblic c a s Wcess ex n plet i ments ActionLis eer,M sListe nrMuseot nLis er Ite mi te ner{in c o lr_izi= ; 旗子的颜色标识0 白子1 :黑子
int itGme_S tart=0;/游戏开始标志0未开始1游戏中
t ntGameody [new it[1 1 ; /设置棋盘棋子状态int =-1;
But o b 1=ne wtto n( 开始”
But b 2=neB ut n( 重置游戏" ;
Lael l in=newabel ” ;
Chckbox ckbB[]new Ceckbox[ ;
But n e xis t ne Btto n("退出" ;
Ch koxGrou ckg=nw ChckoxGrup();
N h Cliet chan Netht int
p l c od init()
s eLa yo ut u l
adu eLi ene hi ;
d(1
b1.set nds 30 50 80,3 );
╳围棋棋盘五子棋JAVA语言课程设计报告
。 addActioL ste ne r thi
add(b ;
b2 studs(30 90 80 0 ;
2.addAc nLis e ne (th
ckHB ]= w Chckbox ”执白" k,f l ) kB[ ]。 stBond 32 2 ,6 ,30
ckbH 1nw Ch ckbo 执黑” ,ckgHB, al e)
B1]。 seBuds( 0,20 60 3 ;
ckbH 2 =ew C cbox "观看 ,cgB fa e
a (ckbB[ ]
d(cb 1
d cb HB[2 ;
c B[0]。 a Ite mL st er( is)
ckbHB[1]。 add Ite mListn r(this);
add(lb lW in ;
lblWin。 stBou 330,1 0,8 ,30
blin.seta gou Clr。 d
lWn。 Tet 胜利者 ” ; /没有显示?
ckbHB2 。 s Bo s 440 20 60, 30 ;
d(exist);
exist stBounds(3 , 30 80,
xist ad tionL tenr(ti ;
/ ad(cht) chat.se ouds(2 50 300 3 0);cht。 f e cht。 setisibl tre ;
Gam_s artc s(
stie(50,6 );
s Visibl (tru ;
}
ulic oid i emtateChang (ItemEvent e {
i (cbHB 。 ge tSat ) //选择黑子还是白子
clr_izi0
e se{
co or_Q zi=1
pub voi o ePr ssed Mo Ev t ulic voimouseCl cked ousEvnt e
Gr ic eGrap h s
int x1 1
x1= 。 ge
y1=e。 ge
f (e。 et )<2 | 。 ge( 〉 300| | e。 geY)<2 | e。
╳围棋棋盘五子棋JAVA语言课程设计报告get( 〉 30
e un
if x20>10)
1+10
if y20〉
y1+=10;
}
x1=x1/0*20
y=y 2020
t_Q izi(x1 y ;
= 1 ;
}
pbl c void t onPrfod A tioEvent e {
Gr hi s g=gtGraphics();
if(e。 gtSorce =b1 {
Game_s at()
el e
a_r( ;
if(e.ge ouc ==xist
Gamr e( ;
lblin. etxt(G _i ioor(clorQ i +"输了 ” itGme_Sart=
p l c void mousentered MousEvent e }
publ void mosex t Mou eEven e
pu c vod mosR lease MoseEvnt e
ublic void mouseraged(u eEv e {
pu ic voi mous usevente {
ubl c voidp t(Grah c )
daw_qip a g
╳围棋棋盘五子棋JAVA语言课程设计报告
。 判断输赢功能实现if (Gamwin_1 x/2 y/20) { /判断输赢1
lb ln.setx et_q i_ lo(cloQ zi+"赢了 ” ; in tGe_ at0
if(e_i_ /0,y/2 { //判断输赢2
lb li。 s tTe (Ge _q clo o l Q izi)+"赢了 ;
ntGme_Sa =0;
}
f (Gme_in_ (x20 y20 ) /判断输赢3
bl 。 setTxt(et_qi _coor co lr_i i +”赢了 )int Ga me_S tar t=
if ame_win_4 x/0 y/ ) /判断输赢4
lW in.se Te xt etq i iclo(co lor_ i +"赢了!” inGae_ =0
}
。 3测试结果a。 进入游戏界面
有一段时间没有分享Gcore(gcorelabs)的信息了,这是一家成立于2011年的国外主机商,总部位于卢森堡,主要提供VPS主机和独立服务器租用等,数据中心包括俄罗斯、美国、日本、韩国、新加坡、荷兰、中国(香港)等多个国家和地区的十几个机房,商家针对不同系列的产品分为不同管理系统,比如VPS(Hosting)、Cloud等都是独立的用户中心体系,部落分享的主要是商家的Hosting(Virtu...
官方网站:点击访问星梦云活动官网活动方案:机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路4vCPU4G40G+50G10Mbps1个100G不限流量210元/月 99元/月点击自助购买成都电信优化线路8vCPU8G40G+100G15Mbps1个100G不限流量370元/月 160元/月点击自助购买成都电信优化线路16vCPU16G40G+100G20Mb...
菠萝云国人商家,今天分享一下菠萝云的广州移动机房的套餐,广州移动机房分为NAT套餐和VDS套餐,NAT就是只给端口,共享IP,VDS有自己的独立IP,可做站,商家给的带宽起步为200M,最高给到800M,目前有一个8折的优惠,另外VDS有一个下单立减100元的活动,有需要的朋友可以看看。菠萝云优惠套餐:广州移动NAT套餐,开放100个TCP+UDP固定端口,共享IP,8折优惠码:gzydnat-8...