Professional Documents
Culture Documents
Xay Dung Game Tro Choi Puzzle
Xay Dung Game Tro Choi Puzzle
Khoa CNTH-Vin H M HN
MC LC
Li ni u..2
Phn I.Gii thiu Game Puzzle.3
Phn II.Gii thiu cng ngh Java v nn tng J2SE...5
I.
II.
My o Java-JVM...7
III.
IV.
II.
III.
IV.
c t chng trinh25
Page 1 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
LI NI U
Ni n game th chc phn ln mi ngi u ng l mt loi hnh
gii tr c sc thu ht rt ln,nht l vi gii tr hin nay.c bit sau s ra i ca
Internet,game online xut hin v nhanh chng gy c sc hp dn to ln.Chng
ta c th chi game online trn mng,cc game offline trn PC,cc game trn cc
dng my chuyn nh PS2,PS3..hin nay game cng ang c pht trin mnh
trn cc thit b di ng nh in thoi di ng,cc my Xbox..
cc nc pht trin nh Nht Bn,M..c rt nhiu cc cng ty chuyn v
sn xut game nh Nintendo,Sony,Sega..v mi nm cc cng ty ny t doanh thu
hng t USD.Hay vi cc nc i sau nh Hn Quc,Trung Quc cng c c
mt ngnh cng ngh game rt mnh nh c s u t ng n v chin lc pht
trin tt.
Mc d VINASA xp game l mt trong 3 nh hng cng ngh chin
lc ca hip hi ny trong giai on 2006-2010, bn cnh nh hng phn mm
nhng v ERP (b phn mm hoch nh ngun lc doanh nghip) nhng hin ti
th trng game Vit Nam cn rt yu.Cha c nhiu cng ty chuyn v lp trnh
game,nhng cng ty pht trin game online th ch yu l cung cp cc game nhp
t Hn Quc,Trung Quc..cc game ni hu nh vng bng trn th trng.ng
nh theo nhn nh ca mt chuyn gia pht trin game ca Hn Quc:ngnh
cng nghip game Vit Nam hin nay ging nh mt a tr s sinh, rt cn c
s gip v nui nng (ca Chnh ph) pht trin.Chc hn hin nay c rt
nhiu bn tr ang theo ui ngnh CNTT cng mun tham gia vo lnh vc ny
v h rt cn c c s gip v ng h t cc nh gio dc,t chnh sch,nh
hng pht trin ca chnh ph. ti tt nghip ny l lm tr chi Puzzle s
dng ngn ng lp trnh Java.Do mi tip cn v lp trnh game nn chng trnh
cn c nhiu thiu st,mong cc thy gip ,gp hon thin hn.
hon thnh bi tp ny ngoi s c gng ca bn thn cn c s tham gia
gp ,gip ca thy gio v bn b.Trc ht em xin gi li cm n chn thnh
n thy gio hng dn Nguyn c Tun nhit tnh gip em hon thnh
ti.Ngoi ra xin cm n cc bn trong lp,cc bn trong cng ng Java Vit
Nam ng gp kin trong qu trnh thc hin ti.
Page 2 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
TI
TR CHI PUZZLE.
Bn thn t Puzzle c ngha l cu ,y l tr chi thuc th loi
game tr tu. Tr chi ny cng ging nh cc tr chi xp hnh,u tin vi kch
thc tr chi l 9 ,trng thi ban u c khi to ngu nhin.Nhim v ca
ngi chi l xp 8 ch s sao cho t c trng thi win cho nh sau:
Page 3 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
Page 4 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
2.Mt s c im.
Java l mt nn tng pht trin cc ng dng phn mm c v tr rt ln
trong nhng nm cui th k 20 u th k 21 .nh du s trng thnh ca m
hnh hng i tng , n c coi l mt nn tng mang tnh cht cch mng
trong ngnh phn mm . M hnh my o Virtual Machine cho php cc ng
dng vit bng Java c th chy trn nhiu h iu hnh khc nhau.Khu hiu ni
ting ca Java l Write one,Run anywhere c th hiu l Vit mt ln,chy khp
mi ni
Java nhanh chng c nhiu nh lp trnh cng nhn . Cc cu lnh v cc
biu din tng t trong mt s ngn ng nh C , C++ . Mc d Java b sung
kh nhiu im mi , nt phn bit nht ca Java li l nhng c im m n b
qua :
Page 6 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
Page 7 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
2. javax.swing :
- L mt gi nm trong th vin JFC gm nhiu Class v giao din
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
1. javax.accessbility
Cha cc lp v cc giao tip m c th c s dng cho php cng
ngh tr gip tng tc vi cc thnh phn ca Swing. Cc cng ngh tr gip
cp : mt dy Item , t b c vn bn n phng i mn hnh ,
2. javax.swing :
Cha cc thnh phn ct li ca Swing, bao gm hu ht cc m hnh
giao tip v cc lp h tr
3. javax.swing.border
Cha nh ngha cc lp ng vin tru tng cng nh 8 ng
vin c nh ngha. Border khng phi l nhng thnh phn, thay v th, chng
l nhng yu t ha c bit m Swing s dng nh nhng thuc tnh v t
chng xung quanh cc thnh phn. Nu nh bn mun to ra border ca ring bn,
bn c th to lp con t nhng border c sn trong gi ny, hoc bn c th vit
m cho mt lp mi.
4. javax.swing.colorchooser
H tr cho thnh phn JColorChooser
5. javax.swing.event
nh ngha nhng listener mi v nhng event m nhng thnh phn
Swing s dng giao tip thng tin vi cc class.
6. javax.swing.filechooser
H tr cho thnh phn JFileChooser
7. javax.swing.plaf
nh ngha nhng yu t duy nht to nn L&F cho mi thnh phn
Swing. Trong gi ny cha cc gi con l javax.swing.plaf.basic,
Page 12 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
javax.swing.plaf.metal v javax.swing.plaf.multi
8.javax.swing.table
Cung cp cc m hnh v quan st cho thnh phn table, cho php bn
sp xp thng ring bit trong nh dng li vi s xut hin tng t nh bng
tnh.
9. javax.swing.text
Cung cp cc im ca cc lp v giao tip da trn vn bn h tr
thit k thng dng c bit n nh document/view.
10. javax.swing.text.html
S dng k thut c v nh dang vn bn HTML
11.javax.swing.text.html.parser
H tr vic phn tch HTML
12.javax.swing.text.rtf
S dng k thut c v nh dng Rich Text Format
13.javax.swing.tree
nh ngha cc m hnh v quan st thnh phn mt cy phn cp , c
th thay th mt cu trc file hoc mt dy cc thuc tnh.
14.javax.swing.undo
Cha nhng chc nng cn thit cho vic b sung chc nng undo.
Page 13 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
Page 14 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
Page 15 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
Page 16 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
-Chng trnh c 4 chc nng chnh,trong quan trng nht l chc nng
Page 17 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
1.Lp gamer:
Page 18 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
2.Lp writeFile:
-Phng thc void writeFile() ghi vo tp tin top.txt 5 i tng ngi chi
c to ra t lp gamer.y l 5 i tng khi to trong danh sch ngi chi
c im s cao nht.
-Phng thc void writeList(gamer[] g) ghi vo tp tin top.txt 1 mng i
tng gamer.
-Phng thc gamer[] readList() c ra tt c cc i tng gamer trong file
top.txt .Tr gi tr v cho mng gamer g.
3.Lp puzzle:
-y l lp quan trng nht ca chng trnh.N to ra mt JPanel l bn c
gm 9 nh hnh trn.Bao gm cc thnh phn chnh:
Tn bin
Chc nng
JButton btn[]
String lbBtn=12345678
String lbBtns=12345687
String names
Lu tn ngi chi
Page 19 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
int btnX,btnY
Gi tr xc nh v tr ca cc trn bn c khi
c click.btn[i] c btnX=i%3,btnY=i/3.
int btnOX,btnOY
Lu v tr trng.btnOX=i%3,btnOY=i/3
int diem
Gi tr lu im ca ngi chi
int move
int timeMax,moveMax
Boolean boSta
Xc nh game c bt u.Gi tr ca n c
ly khi ngi chi click vo nt Start Game
writeFile write
gamer gms[],newGamer,tg
i tng c to ra t lp gamer lu vo
file vi thong tin im v tn ngi chi.
File f
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
+Thng bo ht gi chi:
JOptionPane.showMessageDialog(this, "Het gio!You Lost!")
+Thng bo ht move:
JOptionPane.showMessageDialog(this, "Het move!You Lost!")
Tn hm
Chc nng
void emptyLabel()
void createBoard()
void actionPerformed
void gameAction()
X l cc hnh ng ca game nh
kim tra cho php dch chuyn;xt gii
hn v thi gian,s ln dch chuyn;Xc
nh trng thi cui cng ;so snh danh
sch ngi chi c im s cao nht
ghi k lc mi
void setMax(int i)
4.Lp startGame
-y l lp chnh ca chng trnh.Ch yu tng tc vi ngi chi thng
qua 1 JMenu khi to mt game mi,thit lp kh cho tr chi.Gm cc
thnh phn v chc nng:
Page 21 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
Tn bin
Chc nng
JMenuBar menuBar
JLabel lbm,lbt
JButton sta
JPanel subPanel
Puzzle puz
i tng bn c
JPanel mainPanel
int iMax
Gi tr xc nh kh no c chn m ly
ra 2 gi tr time v move hin th
Thread thrTime
gamer gamer[]
String top[]
-Cc JOptionPanel:
+Hin ra danh sch ngi chi c im s cao nht:
Page 22 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
JOptionPane.showMessageDialog(this,top);
+Hin thng bo hng dn v game:
JOptionPane.showMessageDialog(this, "Puzzle Game!");
-JMenuBar c cu trc nh sau:
Tn hm
JMenuBar createMenuBar()
void actionPerformed
class Class1 implements
Runnable
Chc nng
To menu
X l cc s kin khi ngi chi chn Menu hay
click vo nt Start Game
Lp ci t giao din Runable chy lung to
thi gian cho tr chi
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
1.
Khi ng tr chi.
2.
3. La chn menu\Game:
3.1 If chn High Score:hin danh sch ngi chi c im cao nht.
3.2 If chn Exit:thot khi tr chi.
3.3 If chn New gi createBoard() to bn c random
3.3.1 While cha click nt Start Game m click vo cnh trng
th hin thng bo yu cu click nt Start Game bt u chi.
3.3.2 Click nt Start Game:-boSta=true
-timeMax bt u gim
-Mi ln dch chuyn move+1
3.3.3 If move>=moveMax:thng bo ht move->end
3.3.4 If timeMax=0:thng bo ht gi->end
3.3.5 Sau mi ln dch chuyn kim tra chui s thu c vi lbBtn:
a.If bng nhau th tnh:diem=timeMax*3+(moveMax-move)*5.
b.Ghi danh sch ngi chi c im s cao nht vo mng gms.
c.for(i=0;i<9;i++) if diem=gms[i].txtdiem th hin thng bo cho
php ngi chi c th nhp tn.->end
3.3.6 Nu chui s thu c sau khi dch chuyn = vi lbBtns th
thng bo trng thi khng th chin thng.->end
Page 24 of 26
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
4. La chn menu\Hepls:
4.1 If la chn Author hin bng gii thiu tc gi.
4.2 If chn About Game hin thng bo gii thiu v game.
PHN IV.TNG
KT
GVHD:Nguyn c Tun
Khoa CNTH-Vin H M HN
Website :
+ http://java.sun.com : Trang ch ca Sun
+ http://javavietnam.org : Din n
Page 26 of 26
GVHD:Nguyn c Tun