Giới Thiệu Game Puzzle

Embed Size (px)

DESCRIPTION

Báo cáo game Puzzle

Citation preview

  • 5/25/2018 Gi i Thi u Game Puzzle

    1/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 1

    Mc lc

    CHNG 1. GII THIU GAME PUZZLE ................................................................................... 3

    1.1. Gii thiu Game Puzzle......................................................................................................... 3

    CHNG 2. GII THIU VCNG NGHJAVA ....................................................................... 4

    2.1. Gii thiu vgiAWT ......................................................................................................... 4

    2.2. Container ............................................................................................................................ 5

    2.2.1. Frame .......................................................................................................................... 5

    2.2.2. Panel ........................................................................................................................... 5

    2.2.3. Thnh phn (Component) ............................................................................................ 6

    2.2.4. Nhn (Label) ................................................................................................................ 6

    2.2.5. vn bn (TextField) .................................................................................................. 6

    2.2.6. Nt nhn (Button) ........................................................................................................ 6

    2.2.7. RadioButton, Checkbox ............................................................................................... 6

    2.2.8. Danh sch la chn (ComboBox) ................................................................................ 6

    2.2.9. GridLayout Manager .................................................................................................... 6

    2.2.10. Thc n (Menu)..................................................................................................... 6

    2.3. Xl cc skin ................................................................................................................ 7

    2.4. Gi Java Swing..................................................................................................................... 8

    2.4.1. c n pn wn v pn cp n ......................................................... 82.4.2. n n nn v n c c wn........................................................... 9

    2.4.3. dn e......................................................................................................... 10

    CHNG 3. PHN TCH THIT K........................................................................................... 11

    3.1. Phn tch Game Puzzle........................................................................................................ 11

    3.1.1. 8Puzzle .................................................................................................................. 11

    3.1.2. 15-puzzle ................................................................................................................... 12

    3.2. Phn tch Project .............................................................................................................. 15

    3.3. M v on code on cn n.............................................................................. 18

    3.4. Giao din c c...................................................................................................... 20

    CHNG 4. KT LU V HNG PHT TRIN ................................................................... 22

  • 5/25/2018 Gi i Thi u Game Puzzle

    2/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 2

    LI NI U

    Trong thgii cng nghpht trin hin nay th Game l mt loi hnh gii tr c sc

    ht v cng ln i vi nhng ngi sdng cng nghngy nay, c bit l gii tr. Dongy cng nhiu thloi game c hnh thnh nh game nhp vai, game hnh ng, gametr tu,.

    Vi shnh thnh ca Internet dn n sxut hin ca Game Online. Vic kinhdoanh cc thloi Game Online ny gip cho nh kinh doanh c thkim c nhng doanhthu khng lnu slng ngi chi ng. V vy ngnh game c thni l rt pht trin vc nhiu ngi ngy cng a chung hn. Rt nhiu cng ty ln chuyn vsn xut gamec thnh lp. Hin nay c rt nhiu ngi theo ui ngnh Cng nghthng tin mun theo

    ui ngnh ny. Nhng trc ht lm c nhng tr chi vi quy m ln th chng tacn phi hc v lm nhng game nhv c bn trc dn nm chc nhng kin thc vtch ly thm kinh nhim cho bn thn. cng l l do em chn ti lm tr chi Puzzlev sdng ngn nglp trnh Java. Do mi tip cn ngn nglp trnh ny v lp trnhgame nn chng trnh cn nhiu thiu st, mong thy gip v gp em c thhonthin tt hn.

    hon thnh c tr chi ny ngoi scgng ca bn thn em xin cm n.

    Thy Nguyn Bnh MinhGing vin trng i hc Bch Khoa H Ni nhit tnh gip em hon thnh ti ny.

    Cc bn trong lp gip em ln tng mi cho tr chi thm phong phhn.

  • 5/25/2018 Gi i Thi u Game Puzzle

    3/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 3

    CHNG 1. GII THIU GAME PUZZLE

    1.1. Gii thiu Game Puzzle

    Game Puzzle(cn gi l Gem Puzzle , Boss Puzzle , Game of Fifteen , Mystic Square.)l tr chi thuc thloi game tr tu. Tr chi ny cng ging nh cc tr chi xp hnhkhc, u tin vi kch thc tr chi l 9 v c nh sngu nhin t1 n 8 v s9sc n i. Nhim vca ngi chi l phi a chng vkiu lp ngi (ln dn ttriqua phi v ttrn xung di nh hnh bn di.

    Hnh 1: Trng thi khi to ngu nhin Hnh 2: Trng thi ch

    Ngi chi s dng chut dch chuyn cc s hoc hnh nh khi cnh n l trng i vtr vi . kh ca tr chi c gii hn bi thi gian chi hoc khngc gii hn g cty vo ngi chi la chn. i vi la chn chi theo thi gian, khi htthi gian m ngi chi cha hon thnh th sbxl thua cuc.

    Ngi chi cgng xp cc vng trng thi ch m dng cng t s ln dchchuyn cng tt. Khi ngi chi c sln dch chuyn t nht th sc ghi tn vo danhsch ngi ng u tr chi.

    Chng trnh c xy dng trn ngn ng lp trnh Java. Ch yu l s dng lptrnh GUI sdng AWT v Swing trong Java.

  • 5/25/2018 Gi i Thi u Game Puzzle

    4/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 4

    CHNG 2. GII THIU VCNG NGHJAVA

    2.1. Gii thiu v gi AWT

    Cc ng dng phn mm hin nay v cng thn thin v c trnh by nhiu mnhnh giao din ha p mt. Cc ngn nglp trnh hin nay c cung cp cc i tngha, chng c thc iu khin bi ngi lp trnh vin, hay bi ngi sdng. Mttrong snhng kt ququan trng nht chnh l cc ngn nghin nay c da trn Giaodin ngi dng ha (Graphical User InterfaceGUI).

    GUI cung cp chc nng nhp liu theo cch thn thin vi ngi dng. GUI bin i

    t ng dng n ng dng v c th cha nhiu iu khin nh textbox, label, listbox,combobox hay cc iu khin khc. Cc ngn nglp trnh khc nhau cung cp nhiu cchkhc nhau to GUI. Cc phn mm ging nh VB hay VC++ c thcung cp chc nngko v thtrong khi phn mm ging nh C++ yu cu ngi lp trnh phi vit ton bm xy dng mt GUI.

    Mt phn t(element) GUI c thit lp bng cch sdng thtc sau:

    To element, instance, checkbox, label hay listbox

    Xc nh sxut hin khi u ca cc phn t. Quyt nh xem phn t c nn chm givtr c chra hay khng.

    Thm phn tvo giao din trn mn hnh

    Mt thnh phn (component) GUI l mt i tng trc quan. Ngi dng tng tcvi i tng ny thng qua con trchut hay bn phm. Cc thnh phn nh l button, labelv.vc thc nhn thy trn mn hnh. Bt k thao tc no p dng n tt ccc thnh

    phn GUI u c tm thy trong lp i tng Component. to cc thnh phn GUIny, chng ta cn sdng cc lp tn ti trong gijava.awt.

    AWT c ngha l Abstract Windowing Toolkit. AWT l mt bcc lp trong Javacho php chng ta to ra mt GUI v chp nhn cc nhp liu ca ngi dng thng qua bn

    phm v chut. AWT cung cp cc item khc nhau to mt GUI hiu qu v li cunngi sdng. Cc item ny c thl:

    Thng cha (Container)

    Thnh phn (Component)

    Trnh qun l cc trnh by (Layout manager)

    ha (Graphic) Phng ch(Font)

  • 5/25/2018 Gi i Thi u Game Puzzle

    5/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 5

    Skin (Event)

    Gi AWT cha cc lp, giao din v cc gi khc. Hnh sau y mtmt phn nhca hthng phn cp lp AWT.

    2.2. Container

    Container l vng m bn c tht cc thnh phn ca bn vo . Bt cvt g mktha tlp Container sl mt container. Applet l mt container, applet c dn xuttpanel, lp panel li c dn xut tlp Container.

    Mt container c thcha nhiu phn t, cc phn tny c thc vhay c tmu ty thch. Bn hy xem container nh mt ca s. l ca s th phi c khung(frame), pane, latch, hook v cc thnh phn c kch thc nhhn.

    Gi java.awt cha mt lp gi l Container. Lp ny trc tip hay gin tip pht sinhra hai container c sdng phbit nht l Frame v Panel.

    Frame v Panel l cc container thng c sdng. Frame l cc ca sc tchring nhau nhng ngc li panel l cc vng c cha trong mt ca s. Panel khng ccc ng vin, chng c trnh by trong mt ca sdo trnh duyt hay appletviewer cungcp. Appletviewer l mt cng cc JDK htrxem cc applet. Frame l lp con caWindow. Chng c trnh by trong mt ca sc lp, ca sny c cc ng vin xung

    quanh.

    2.2.1. FrameFrame khng ph thuc vo applet v trnh duyt. Frame c thhot ng nh mt

    container hay nh mt thnh phn (component). Lp Frame c sdng cho php chngta c thnhn thy c thng qua phm vi lp. lm c iu cn phn sdng hai

    phng thc nm trong phng thc main: setSize() v setVisible().

    2.2.2. PanelPanel c sdng nhm mt scc thnh phn li vi nhau. Trong chng trnh

    Panel c ng dng nhm cc thnh phn nh cc mnh ghp vo mt nhm, cc lachn ty chnh vo mt nhm,..

    cng vic nhm c d dng v p hn c th s dng phng thcGridLayout() trnh by nh mt bng Table.

    Panel khng thnhn thy trc tip nn cn phi thm panel n mt frame. V vy tacn to mt Frame mi v thm Panel mi c to vo Frame .

  • 5/25/2018 Gi i Thi u Game Puzzle

    6/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 6

    2.2.3. Thnh phn (Component)Mt Component c thc t trn giao din ngi dng, c ththay i kch thc

    hay lm cho nhn thy c. V dnh trong chng trnh c sdng cc component nhLabel, Button, TextField, RadioButton,.

    2.2.4. Nhn (Label)Lp ny c sdng trnh by mt dy cc k t.

    2.2.5. vn bn (TextField)Mt TextField l mt vng chcha mt dng n, trong vn bn c thc trnh

    by hay c nhp vo bi ngi dng.

    2.2.6. Nt nhn (Button)Nt nhn hay cn gi l nt lnh l mt phn nguyn ca bt kGUI no. Sdng

    button l cc dnht chn cc tc ng ca ngi dng.

    x l cc lnh ca Button sau khi c nhn cn phi s dng s kin caButton l ActionEvent.

    2.2.7. RadioButton, CheckboxRadioButton c s dng khi ngi dng tin hnh chn mt hay nhiu ty chn.

    Ngi dng phi click trn cc RadioButton chn hay bchn chng.

    Sau khi cc RadioButton v Checkbox c chn cc lnh c thc hin thng quaskin ActionEvent.

    2.2.8. Danh sch la chn (ComboBox)Dng trnh by mt danh sch cc chn la n ngi dng trn mi GUI. Ngi

    dng c thclick vo mt hay nhiu item tdanh sch. Ngi dng c th to ComboBoxbng lnh hoc c thto bng phng php ko thnu dng cc cng cc htr.

    2.2.9. GridLayout ManagerGridLayout tr gip vic chia container vo trong li. Cc thnh phn c t

    trong cc dng v cc ct. Mi khung li nn cha t nht mt thnh phn. Mt khung lic sdng khi tt ccc thnh phn c cng kch thc.

    GridLayout c ng dng chia Panel cha cc mnh ghp thnh danh sch matrn vung.

    2.2.10. Thc n (Menu)Ngn ngJava c mt tp hp cc lp i tng to cc menu. C hai loi menu

    pull down v popup. Menu lm cho ng dng ta xy dng dsdng hn. Chduy nht

    mt thanh menubar c t trong mt Frame. Menubar l mt thanh nm ngang c tti nh ca Frame. N lit k cc mc c chn khc nhau hay menu. Mt Menu c lp

  • 5/25/2018 Gi i Thi u Game Puzzle

    7/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 7

    c thcha cc mc chn con, cc mc con ny c gi l minuitem. Java cung cp cccheckbox menuitem, chng c thc bt hay m, phthuc vo trng thi.

    2.3. X l cc s kin

    Cc hthng GUI xl cc tng tc ngi dng vi strgip ca m hnh eventdriven. Tng tc ca ngi dng c thl di chuyn chut, nhn phm, nhphm v.v Ttccc thao tc ny thit lp mt skin ca mt vi kiu no .

    Vic xl nhng skin ny phthuc vo ng dng. Abstract Windowing Toolkit(AWT) x l mt vi skin. Mi trng m cc ng dng ny c thi hnh v dnhtrnh duyt cng c thx l cc iu khin khc. Ngi lp trnh vin cn phi vit mthm xl skin.

    ng dng cn ng k mt hm xl skin vi mt i tng. Hm xl skinny sc gi bt ckhi nao skin tng ng pht sinh. JDK 1.2 lm vic theo m hnhxl skin ny.

    Trong tin trnh ny, ng dng cho php bn ng k cc handler, hay gi l listenervi cc i tng. Nhng handler ny tc c gi khi mt skin thch hp pht sinh.

    Mt Event Listener lng nghe mt skin no m mt i tng thit lp. Ngha lslun phin gi phng thc xl skin. Mi event listener cung cp cc phng thc x

    l nhng skin ny. Lp thi hnh listener cn phi nh ngha nhng phng thc ny.

    Trong chng trnh c s dng lp s kin ActionEvent x l cc s kin nhclick chut vo mnh ghp, bt u tr chi, la chn cc RadioButton,..

    Lp skin M tActionEvent Pht sinh khi mt Button c nhn, mt item, menu c chn

    hoc nhp i.AdjustmentEvent Pht sinh khi mt thanh Scrollbar c sdng.ComponentEvent Pht sinh khi mt thnh phn thay i kch thc, di chuyn, bn

    hay lm cho hot ng c.FocusEvent Pht sinh khi mt thnh phn mt hay nhn focus tbn phm.ItemEvent Pht sinh khi mt menu item c chn hay b chn. Mt

    checkbox hay item trong danh sch c click.WindowEvent Pht sinh khi mt ca sc kch hot, c ng, mhay thot.TextEvent Pht sinh khi gi trtrong thnh phn text field hay text area bthay

    i.MouseEvent Pht sinh khi chut c di chuyn, click, ko hay thra.KeyEvent Pht sinh khi input c nhp tbn phm

  • 5/25/2018 Gi i Thi u Game Puzzle

    8/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 8

    2.4. Gi Java Swing

    2.4.1. Cc thnh phn win v s phn cp ii hn.Swing cung cp rt nhiu thnh phn GUI chun nh: buttons, lists, menus, v text

    areas, l nhng thnh phn m bn s phi hp to nn GUI cho chng trnh ca bn.Ngoi ra, cn c cc i tng cha nh windows v tool bars.

    SwingApplication to 4 thnh phn Swing thng dng nh sau:

    Mt frame, hoc mt ca slm vic chnh (JFrame)

    Mt panel, thng thng gi l pane (JPanel)

    Mt button (JButton)

    Mt label (JLabel)

    Framel i tng cha mc nh. is a top-level container. Shin din ca framenhm cung cp mt vng cc thnh phn khc thit lp sc mt ca mnh trn vng .

    Ngoi ra cn c cc thnh phn khc thng c s dng lm i tng cha mc nhl dialogs (JDialog) v applets (JApplet).

    Panel l i tng cha mc trung gian (intermediate container). Panel nhm mcch xc nh v tr ca button v label. Nhng i tng cha mc trung gian khc cn c

    scroll panes (JScrollPane) v tabbed panes (JTabbedPane), chng c nh hng ln nhau,tng tc vi nhau trong giao din ca mt chng trnh.

    Buttonv Labell nhng thnh phn c bn (atomic components), nhng thnh phnm khng th cha cc thnh phn Swing khc AWT thng thng, cc thnh phn c bnny s l ni nhn thng tin u vo t pha ngi dng. Swing API cung cp nhiu thnh

    phn c bn, bao gm combo boxes (JComboBox), text fields (JTextField), v tables(JTable).

    ng dng cc thnh phn ca win tron chn trnh.JLabelng dng to cc dng chthng bo nh sbc dch chuyn, thi gian

    qua phng thc setFont() v cn c sdng lm cc mnh ghp hnh nh, vi miJLabel sc gn bng mt mnh ghp qua phng thc setIcon() .

    JButtonc sdng lm cc nt lnh bt u chy tr chi, ng vi cc thitlp ty chnh hay hy bcc thit lp va sa i xong.

    JTextFieldc ng dng trong chng trnh hin ln sbc di chuyn sau mi

    ln i mnh ghp v thi gian chi. lm c cn phi s dng phng thc

  • 5/25/2018 Gi i Thi u Game Puzzle

    9/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 9

    setText() cho cc JTextField . Sau khi ngi chi ginh chin thng th dng phng thcgetText() ly cc gi trtrong JTextField hin ln thng bo cho ngi chi.

    JRadioButtonng dng to cc ty chn ty chnh trong chng chnh nh kch

    thc ca tr chi, bt tt m thanh, kiu chiJComboBoxc ng dng to danh sch la chn hnh nh ghp.

    Pane contains, trc tip hoc gin tip cha tt c cc thnh phn s hin th trongGUI. Ring i vi top-level container th c Menu bar, Menu bar s ng trong mt vngc bit nm ngoi content pane.

    Trong tr chi Menubar c ng dng lit k cc chc nng ca chng trnh nhbt u tr chi, chn hnh nh, xem im cao, hng dn,

    thm mt thnh phn vo i tng cha, c th dng nhiu cch khc nhau ca phngthc add(). Phng thc add() c t nht 1 i s (argument)

    2.4.2. Nhn tnh nn v khi nim khc ca winSwing cung cp nhiu tnh nng. Rt nhiu tnh nng c cung cp bi JComponent

    class.

    Nhn tnh nn ca JComponent (Features that JComponent Provides)

    Ngoi tr i tng cha mc nh, tt c cc thnh phn khc bt u bng k t Ju c tha k t lp Jcomponent. Hu ht cc thnh phn u c cc tnh nng chung nhtooltips v cu hnh v giao din (look and feel). Ngoi ra, chng cn tha k nhiu phngthc tin li khc na.

    Icons

    Nhiu thnh phn Swing, t bit l button v label, c th hin th hnh nh. Ta c thch nh cho cc hnh nh ny nh l cc i tng icon

    ActionsVi i tng Action, Swing API cung cp nhng h tr c bit cho vic chia x d

    liu v trng thi gia hai hoc nhiu thnh phn pht ra cc s kin hnh ng. V d, khi tac mt button v mt menu item cng mt chc nng, lc os cn cn nhc vic s dng itng Action xc nh vn bn, icon v trng thi ca hai thnh phn.

  • 5/25/2018 Gi i Thi u Game Puzzle

    10/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 10

    Cch s dn cc n vin(order)

    Borders s em li cho chng ta nhiu thun li trong vic v cc ng thng, tiu hay cc vng trng ca mt thnh phn. Trong chng trnh c sdng cc Border kng vin cho cc mnh ghp

    Cch s dn Icons

    Nhiu thnh phn Swing c th hin th icons(JLabel v JButton). Thng th icons ltrng hp c bit ca ImageIcon class.

    Mt vi thnh phn Swing nh JLabel v JButton, c th c trang tr bi mt icon.Icon l mt i tng gn kt cht ch vi giao din Icon. Swing cung cp cho giao din Iconcch thc hin rt t bit v hiu qu v mt Icon tg mt tp tin nh c dng thc GIF

    hoc JPEG.

    2.4.3. dn imersVi lp Timer, bn c th cho thc hin mt tin trnh ca vic thc thi mt hnh ng saumt khong thi gian xc nh v lp li hnh vi y.

    C hai cch thc hin Timer:

    Thc hin mt tc v, vi thi gian lp li c xc nh. V d, tool tip manager sdng timers quyt nh khi no th hin th v khi no th tt n i.

    Thc hin vic lp i lp li mt tc v.

    chng trnh th Timers c ng dng tnh thi gian chi.

  • 5/25/2018 Gi i Thi u Game Puzzle

    11/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 11

    CHNG 3. PHN TCH THIT K

    3.1. Phn tch Game Puzzle

    3.1.1. 8Puzzle n gin trong cch tip cn gii bi ton, ngi ta gi nh ch c trng trong bng

    l di chuyn n nhng v tr khc. Nh vy ti mt trng thi th ch c ti a 4 cch i chuyn sang trng thi khc (tri, phi, ln, xung). Ngi ta cng nhn ra c rng cth chuyn t 1 trng thi bt k v trng thi ch nh trn th trng thi u phi theomt quy lut trnh by sau y.

    Cho trng thi u tin nh hnh di, duyt qua tng theo th t t tri qua v t trnxung, mi s duyt n, bn hy m xem c bao nhiu s c gi tr b hn n.

    nh 3: ng thi bt u 8 - Puzzle

    u tin l s 4, ta thy c 3 s{1;3;2} nm pha sau vb hn n nn n1=3 Tip n l s 8 c 6 nh hn l {1;6; 3; 2; 7; 5}, vy n2 = 6 s 1 l b nht nn n3=0 Tng t s 6, n4=3 s 3, n5=1 s 2, n6=0 s 7, n7=1 cui lun bng 0 nn c th b qua, n8=0

    Hnh 3.1: Tnh N :8-puzzle

    http://yinyangit.files.wordpress.com/2010/12/8-puzzle-12.pnghttp://yinyangit.files.wordpress.com/2010/12/8-puzzle-02.pnghttp://yinyangit.files.wordpress.com/2010/12/8-puzzle-12.pnghttp://yinyangit.files.wordpress.com/2010/12/8-puzzle-02.png
  • 5/25/2018 Gi i Thi u Game Puzzle

    12/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 12

    Tnh tng cc s t n1->n8 ta c:

    N = 3 + 6 + 0 + 3 + 1 + 0 + 1 + 0 = 14

    Vi s N ny ta ch cn bit 1 thng tin l n c chia ht cho 2 hay khng (l hay chn).Nu n l s chn th chc chn c th chuyn v trng thi ch t trng thi hin ti ny.Bi v khi di chuyn trng vi hng i bt k th gi tr N mod 2 cng khng thay i. Tcl t trng thi ch bn c th xo trn bng cch di chuyn trng nhiu ln th gi tr Nvn l s chn.

    3.1.2. 15-puzzle

    Kh n tha vi bi ton 8-puzzle, ta th phn tch tip bi ton 15-puzzle. V bt ng

    bn gp phi vn khi kim tra theo cch tng t nh vi bi ton 8-puzzle: Khi di chuyn trng trong bng gia cc dng v tnh ton gi tr N th bn nhn ra rng N s thay i gitr chn, l.

    nh 4: 15 - Puzzle

    V d nh cc bng pha trn bn tnh c N tng ng khi di chuyn trng giacc dng ln lt l 60, 59, 60, 61. Qua vi ln th bn c th nhn ra quy lut l N l l khi trng nm cc dng l tnh t trn xung (dng u tin l 1),v N l chn khi trngnm cc dng chn tnh t trn xung.

    S khc bit ny so vi phin 8-puzzle l do di cnh (n) khc nhau. Tc l vi n lth gi tr N mod 2 s ko thay i, vi n th th n s thay i tng ng vi v tr dng ca trngtrn bng.

    Ta so snh v nhn thy l khng th p dng cng quy lut ca bi ton 8-puzzle kim tra xem bi ton c th gii c khng. Phn tch li bi ton 8 -puzzle bn c thvn thc mc ti sao vic di chuyn trng gia hai dng li khng lm thay i tnh chn lca N.

    http://yinyangit.files.wordpress.com/2010/12/15-puzzle-0.png
  • 5/25/2018 Gi i Thi u Game Puzzle

    13/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 13

    Chuyn bng 33 ny dng mng 1 chiu ri hnh dung vic di chuyn trng giacc hng.

    nh 5: 8 Puzzle dng mng mt chiu

    Nh trong bng 33 khi di chuyn trng ln pha trn tc l hon v th 3 v th6. Tm thi khng quan tm n trng, ta ch xt c gi tr 1, dy trn chuyn thnh.

    nh 6

    Gi tr N ban u c tng ln 2 l do hin ti c thm hai ln hn nm trc cgi tr 1. Nu th vi ln bn c th thy khi di chuyn trng gia cc dng th gi tr Nmi s c 1 trong 3 trng hp: khng thay i, tng 2, gim 2. Ta c nhn xt: gi trNmitnim1 vislnchn.

    Tng t vi n=4 ta c:

    nh 7: i chun gia cc dng trong 15Puzze

    http://yinyangit.files.wordpress.com/2010/12/15-puzzle-1.pnghttp://yinyangit.files.wordpress.com/2010/12/8-puzzle-3.pnghttp://yinyangit.files.wordpress.com/2010/12/8-puzzle-2.pnghttp://yinyangit.files.wordpress.com/2010/12/15-puzzle-1.pnghttp://yinyangit.files.wordpress.com/2010/12/8-puzzle-3.pnghttp://yinyangit.files.wordpress.com/2010/12/8-puzzle-2.pnghttp://yinyangit.files.wordpress.com/2010/12/15-puzzle-1.pnghttp://yinyangit.files.wordpress.com/2010/12/8-puzzle-3.pnghttp://yinyangit.files.wordpress.com/2010/12/8-puzzle-2.png
  • 5/25/2018 Gi i Thi u Game Puzzle

    14/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 14

    - L1: Vic di chun s 6 xung v t cui lm gim N i 2 n v (do ng sau 3 v5) v tng N ln 1 n v (do ng sau s 9). a c N = N 11 + 1.

    - L2: di chun s 4 xung v t 12 tng N ln 2 n v (ng sau 14 v 10) v gimN 1 n v (do ng sau s 1). a c N= N +1 +11.

    - L3: ng t N = N + 1 +1 1.

    Tc l mi ln trng gia cc dng ta ch lm thay i gi tr N i 1 n v. Nu thvi cc trng hp khc, gi tr N c th thay i 3 n v. Nhn xtgi trN mi tnim1 vislnl.

    Vi hai v d trn ta nhn ra mt quy lut l: Khi thay iv tr trnia ccdng th gi trN sthay itnnvigi trl slhay schnty thucvo n.nqut ln chnh l n-1 cnl gi trtiam N c ththay i.Cui cng ta suy ra phng php tng qut p dng cho mi n.

    - Vi n l: Chcn N mod 2 = 0

    - Vi n chn: N mod 2 = 0 v trng nm trn dng chn tnh ttrn xung. N mod 2 = 1 v trng nm trn dng ltnh ttrn xung.

    Cui cng ta gii quyt c vn u tin l: xc nhcmtn-puzzle c thchuynvtrnthi chvislndi chuynbtk hay khng. Vic bit iu ny rtquan trng khi ta a ra mt trng thi bt u c th a v trng thi chc hay khng.

  • 5/25/2018 Gi i Thi u Game Puzzle

    15/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 15

    3.2. Phn tch Project

    cu trc ni dn chn trnh

    Cu trc chn trnh

  • 5/25/2018 Gi i Thi u Game Puzzle

    16/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 16

    nh 8:Tng quan vcc lp c sdng tong chng tnh

    Chng trnh xy dng chyu lp FormMain v vy chng ta si su vlp ny.

    Danh sch cc bin c sdng trong lp FormMain

  • 5/25/2018 Gi i Thi u Game Puzzle

    17/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 17

    Cc phn thc v chc nn ca cc phn thc.

    n cc phn thc Chc nncreatGame() Khi to tr chiresizeImage(final Image image, int width, intheight)

    Cn chnh li kch thc hnh nh nu nhhnh nh qu to hoc qu b sao cho va vikhung hnh.

    setPicture(JLabel label, int x, int y) Gn nh vo JLabel vi rng x v cao yMoveCount() m sln di chuyn cc mnh ghpNewGameActionPerformed(ActionEvent evt) Bt u tr chiaddLabel() t li thi gian v sln dch chuyn sau

    sgn cc mnh hnh nh tng ng vo ccJLabel c gi trtext tng ng vi mnh .

    AddFileImageActionPerformed(ActionEventevt)

    Dng chn n mt hnh nh bt k khikhng mun s dng hnh nh c sn trongtr chi.

    CheckWin() Kim tra xem chin thng hay cha.checkTop(int countMove) Kim tra xem c phi l ngi c s di

    chuyn t nht hay khng.writeTop(int countMove) Ghi tn vo TOP c sdi chuyn t nhtSetImgLabel() Dng ly ra mnh ghp cui cng.ThoiGian() Hm chy thi gian chi game.

  • 5/25/2018 Gi i Thi u Game Puzzle

    18/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 18

    3.3. Mt vi on code tron chn trnh

    on Code xt xem c th a v trn thi ch hay khn

    Phn thc chnh li kch thc hnh nh (Tham kho)

  • 5/25/2018 Gi i Thi u Game Puzzle

    19/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 19

    Phn thc chn hnh nh t bn noi chn trnh

    Phn thc bt s kin click chut vo mnh hp

  • 5/25/2018 Gi i Thi u Game Puzzle

    20/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 20

    3.4. Giao din ca tr chi

    nh 9: iao din mc nh khi ch t chi

    nh 10: au hi t u t chi

  • 5/25/2018 Gi i Thi u Game Puzzle

    21/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 21

    nh 11: Giao din phn ty chnh ca ngi chi

    nh 12: iao din op im cao

  • 5/25/2018 Gi i Thi u Game Puzzle

    22/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 22

    CHNG 4. KT LUN V HNG PHT TRIN

    KT LUN

    Trong qu trnh lm bi tp ln ny em nm vng c nhng phn c bn trong Java,hiu c cch ci t cc thut ton cng nh cc giao din c trong Java. Bn cnh cng bit cch xl cc skin cho cc Button, Label,

    u nhc im

    u im.

    - L mt chng trnh c vit bng Java nn dung lng tng i nh.- p ng cho nhu cu chi game gii tr bnh thng cho mi ngi.- C nhiu cp v hnh nh khc nhau cho ngi chi la chn

    Nhc im.

    - Chhin thc danh sch ngi chi c im cao nht.- Mt vi thut ton vn blp i lp li.- Khng sdng c bn phm di chuyn cc mnh ghp

    Hng pht trin tr chi.

    - Ti u ha thut ton sao.- Hin thdanh sch ngi chi ln 5 hoc 10 ngi.- Thm skin bm phm di chuyn.

  • 5/25/2018 Gi i Thi u Game Puzzle

    23/23

    Project 1: Game Puzzle Khoa CNTTH Bch Khoa H Ni

    Page 23

    TI LIU THAM KHO

    [1] Core Java volume 1

    Webside:

    http://congdongjava.com Cng ng Java

    http://yinyangit.wordpress.com YinYangs Programing Blog

    https://www.youtube.com/watch?v=yignhiE6n3Q

    http://congdongjava.com/http://congdongjava.com/http://yinyangit.wordpress.com/http://yinyangit.wordpress.com/https://www.youtube.com/watch?v=yignhiE6n3Qhttps://www.youtube.com/watch?v=yignhiE6n3Qhttps://www.youtube.com/watch?v=yignhiE6n3Qhttp://yinyangit.wordpress.com/http://congdongjava.com/