Beruflich Dokumente
Kultur Dokumente
TP CH LP TRNH
Agile Di ng Thit k Ch khc
Search
BI VIT GN Y
Th lnh ngh #18: Chm m chc (SMCRemote phn 8) M sch: Tn c ngha Th lnh ngh #20: Chng gng -1(SMCRemote phn 10) Th lnh ngh #19: Kin nhn (SMCRemote Phn 9) Th lnh ngh #17: Gi bo k (SMCRemote phn 7)
8 Votes
Gii thiu
Tic Tac Toe l mt tr chi kh ph bin dng vit trn bn c giy c 9 . Hai ngi chi, mt ngi dng k hiu O, ngi kia dng k hiu X, ln lt in k hiu ca mnh vo cc . Ngi thng cuc l ngi u tin to c mt dy 3 k hiu ca mnh theo cc chiu ngang, dc hay cho u c. Nu sau khi lp y cc trng m vn khng c ai t c mt dy 3 thng hng th s l ha. Hnh sau m t 3 trng hp v d:
BI VIT NG CH
To Layout n gin vi DIV v CSS M sch: Tn c ngha 7 bc m port 1433 cho MS SQL Server
(a) Ngi chi X thng (b) C ha (c) Ngi chi O thng Bi vit ny s gii thiu vi cc bn gii php thit k v trin khai tr chi ny trong Java. y l gii php c gii thiu bi Daniel Liang trong cun Introduction to Java Programming.
Ty bin ListView trong Android 10 cch hay tr thnh mt lp trnh vin gii
PHN HI MI
hakisaman on JavaScript v lp trnh hng hakisaman on Gii thiu v cch ci t Yu Yu on Hello world trn Windows Phone Nha on To ng dng Web chy offline taincgc00760 on [Chia s] Con ng hc lp tr
LU TR
January 2014 December 2013 November 2013 October 2013
trnh
http://tapchilaptrinh.vn/2012/11/26/java-viet-tro-choi-tic-tac-toe/
1/6
September 2013 August 2013 July 2013 June 2013 May 2013 April 2013 March 2013 February 2013 January 2013 December 2012 November 2012
- token: K hiu c dng trong cc , mc nh l - getToken(): Tr v k hiu hin ti ca . - setToken(token: char): Nhp k hiu mi cho . - paintComponent(g: Graphics): V k hiu trong . - mouseClicked(e: MouseEvent): X l s kin nhn chut ca . Bn c ca tr chi Tic Tac Toe bao gm 9 , c to ra bng cu lnh new Cell[3][3]. xc nh c lt chi ca ngi chi th chng ta s s dng mt bin c tn l whoseTurn vi kiu d liu l char. Ban u th whoseTurn s c gi tr l X, sau chuyn thnh O v c thay i ln lt gia hai gi tr mi khi cc mi c nh. Khi tr chi kt thc th gi tr ca whoseTurn s chuyn thnh . Lm sao bit c tr chi kt thc hay cha? C ai thng cuc hay khng? V ai l ngi thng, nu c? Chng ta c th to mt phng thc c tn l isWon(char token) kim tra xem mt ngi chi vi k hiu token thng cuc hay cha, v mt phng thc khc l isFull() kim tra xem liu tt c cc u c nh hay cha. Vi nhng phn tch nh vy, chng ta thy l r ra 2 lp. Lp u tin l Cell, vi chc nng l iu khin cc thao tc cho mt . Lp th hai l TicTacToe c chc nng l thc hin ton b tr chi v x l tt c cc . Mi quan h gia hai lp ny c th hin trong hnh di y:
MY TH
PHP Pht
trin hng kim th phn mm Responsive Web Design Sort() Swing tableless test testing Thit
k thread Th thut
tdd
tin ha typography ti s dng Tp Ch Lp Trnh unit test Visual Studio 2010 Web
2/6
- TicTacToe(): Khi to giao din ngi dng. - isFull(): Tr v gi tr true nu tt c cc u c nh. - isWon(token: char): Tr v gi tr true nu ngi chi c k hiu token thng. Vi l do l lp Cell ch c dng trong lp TicTacToe nn n c th c nh ngha bn trong lp TicTacToe (inner class). Chi tit ca chng trnh c th hin bn di:
Theo di
Tp Ch Lp Trnh
1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 5 0 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 6 0 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 7 0 7 1 7 2 7 3 7 4
i m p o r tj a v a . a w t . * ; i m p o r tj a v a . a w t . e v e n t . * ; i m p o r tj a v a x . s w i n g . * ; i m p o r tj a v a x . s w i n g . b o r d e r . L i n e B o r d e r ; p u b l i cc l a s sT i c T a c T o ee x t e n d sJ A p p l e t{ / /C h r al tc h ic an g ic h i ,g i t r b a n ul X p r i v a t ec h a rw h o s e T u r n=' X ' ; / /K h it oc c p r i v a t eC e l l [ ] [ ]c e l l s= n e wC e l l [ 3 ] [ 3 ] ; / /K h it ol a b e lt r n gt h ic at r c h i p r i v a t eJ L a b e lj l b l S t a t u s=n e wJ L a b e l ( " X ' st u r nt op l a y " ) ; / * *I n i t i a l i z eU I* / p u b l i cT i c T a c T o e ( ){ / /P a n e lpc h ac c J P a n e lp=n e wJ P a n e l ( n e wG r i d L a y o u t ( 3 ,3 ,0 ,0 ) ) ; f o r( i n ti=0 ;i<3 ;i + + ) f o r( i n tj=0 ;j<3 ;j + + ) p . a d d ( c e l l s [ i ] [ j ]=n e wC e l l ( ) ) ; / /T h a y i n gv i nc ac cv l a b e lt r n gt h i p . s e t B o r d e r ( n e wL i n e B o r d e r ( C o l o r . r e d ,1 ) ) ; j l b l S t a t u s . s e t B o r d e r ( n e wL i n e B o r d e r ( C o l o r . y e l l o w ,1 ) ) ; / / ap a n e lv l a b e lv ot r o n ga p p l e t a d d ( p ,B o r d e r L a y o u t . C E N T E R ) ; a d d ( j l b l S t a t u s ,B o r d e r L a y o u t . S O U T H ) ;
Thch
Plugin x hi ca Facebook
TRANG LIN KT
Hanoi Scrum Tn's Notes FU Agile DevMaster
/ * * X c n hx e ml i un g ic h iv ik h i nt o k e n t h n gh a yc h a * / p u b l i cb o o l e a ni s W o n ( c h a rt o k e n ){ f o r( i n ti=0 ;i<3 ;i + + ) i f( ( c e l l s [ i ] [ 0 ] . g e t T o k e n ( )= =t o k e n ) & &( c e l l s [ i ] [ 1 ] . g e t T o k e n ( )= =t o k e n ) & &( c e l l s [ i ] [ 2 ] . g e t T o k e n ( )= =t o k e n ) ){ r e t u r nt r u e ; } f o r( i n tj=0 ;j<3 ;j + + ) i f( ( c e l l s [ 0 ] [ j ] . g e t T o k e n ( )= = t o k e n ) & &( c e l l s [ 1 ] [ j ] . g e t T o k e n ( )= =t o k e n ) & &( c e l l s [ 2 ] [ j ] . g e t T o k e n ( )= =t o k e n ) ){ r e t u r nt r u e ; } i f( ( c e l l s [ 0 ] [ 0 ] . g e t T o k e n ( )= =t o k e n ) & &( c e l l s [ 1 ] [ 1 ] . g e t T o k e n ( )= =t o k e n ) & &( c e l l s [ 2 ] [ 2 ] . g e t T o k e n ( )= =t o k e n ) ){ r e t u r nt r u e ; } i f( ( c e l l s [ 0 ] [ 2 ] . g e t T o k e n ( )= =t o k e n ) & &( c e l l s [ 1 ] [ 1 ] . g e t T o k e n ( )= =t o k e n ) & &( c e l l s [ 2 ] [ 0 ] . g e t T o k e n ( )= =t o k e n ) ){ r e t u r nt r u e ; }
3/6
http://tapchilaptrinh.vn/2012/11/26/java-viet-tro-choi-tic-tac-toe/
7 5 7 6 7 7 7 8 7 9 8 0 8 1 8 2 8 3 8 4 8 5 8 6 8 7 8 8 8 9 9 0 9 1 9 2 9 3 9 4 9 5 9 6 9 7 9 8 9 9 1 0 0 1 0 1 1 0 2 1 0 3 1 0 4 1 0 5 1 0 6 1 0 7 1 0 8 1 0 9 1 1 0 1 1 1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 2 0 1 2 1 1 2 2 1 2 3 1 2 4 1 2 5 1 2 6 1 2 7 1 2 8 1 2 9 1 3 0 1 3 1 1 3 2 1 3 3 1 3 4 1 3 5 1 3 6 1 3 7 1 3 8 1 3 9 1 4 0 1 4 1 1 4 2 1 4 3 1 4 4 1 4 5 1 4 6 1 4 7 1 4 8 1 4 9 1 5 0 1 5 1 1 5 2 1 5 3 1 5 4 1 5 5 1 5 6 1 5 7 1 5 8
r e t u r nf a l s e ;
/ /M ti n n e rc l a s s id i nc h om t p u b l i cc l a s sC e l le x t e n d sJ P a n e l{ / /K h i uc an y p r i v a t ec h a rt o k e n='' ; p u b l i cC e l l ( ){ s e t B o r d e r ( n e wL i n e B o r d e r ( C o l o r . b l a c k ,1 ) ) ;/ /T h a y i n gv i nc a a d d M o u s e L i s t e n e r ( n e wM y M o u s e L i s t e n e r ( ) ) ; / / n gk l i s t e n e r } / * * T r v k h i uc a * / p u b l i cc h a rg e t T o k e n ( ){ r e t u r nt o k e n ; } / * * N h pm tk h i um ic h o * / p u b l i cv o i ds e t T o k e n ( c h a rc ){ t o k e n=c ; r e p a i n t ( ) ; } / * * V * / p r o t e c t e dv o i dp a i n t C o m p o n e n t ( G r a p h i c sg ){ s u p e r . p a i n t C o m p o n e n t ( g ) ; i f( t o k e n= =' X ' ){ g . d r a w L i n e ( 1 0 ,1 0 ,g e t W i d t h ( )-1 0 ,g e t H e i g h t ( )-1 0 ) ; g . d r a w L i n e ( g e t W i d t h ( )-1 0 ,1 0 ,1 0 ,g e t H e i g h t ( )-1 0 ) ; } e l s ei f( t o k e n= =' O ' ){ g . d r a w O v a l ( 1 0 ,1 0 ,g e t W i d t h ( )-2 0 ,g e t H e i g h t ( )-2 0 ) ; }
p r i v a t ec l a s sM y M o u s e L i s t e n e re x t e n d sM o u s e A d a p t e r{ / * *X l s k i nn h nc h u tt r o n gm t* / p u b l i cv o i dm o u s e C l i c k e d ( M o u s e E v e n te ){ / /N um tc nt r n gv t r c h iv nc h ak tt h c i f( t o k e n= =''& &w h o s e T u r n! ='' ){ s e t T o k e n ( w h o s e T u r n ) ;/ /T h a y ik h i uc h o / /K i mt r at r n gt h ic at r c h i i f( i s W o n ( w h o s e T u r n ) ){ j l b l S t a t u s . s e t T e x t ( w h o s e T u r n+"w o n !T h eg a m ei so v e r " ) ; w h o s e T u r n='' ;/ /T r c h ik tt h c } e l s ei f( i s F u l l ( ) ){ j l b l S t a t u s . s e t T e x t ( " D r a w !T h eg a m ei so v e r " ) ; w h o s e T u r n='' ;/ /T r c h ik tt h c } e l s e{ / /T h a y il tc h i w h o s e T u r n=( w h o s e T u r n= =' X ' )?' O ' :' X ' ; / /H i nt h l tc h i j l b l S t a t u s . s e t T e x t ( w h o s e T u r n+" ' st u r n " ) ; }
http://tapchilaptrinh.vn/2012/11/26/java-viet-tro-choi-tic-tac-toe/
1 5 9 1 6 0 1 6 1 1 6 2 1 6 3
f r a m e . s e t S i z e ( 3 0 0 ,3 0 0 ) ; f r a m e . s e t D e f a u l t C l o s e O p e r a t i o n ( J F r a m e . E X I T _ O N _ C L O S E ) ; f r a m e . s e t V i s i b l e ( t r u e ) ;
Kt lun
Lp TicTacToe khi to giao din ngi dng vi 9 t trong mt panel vi GridLayout. Mt label c tn l jlblStatus c s dng hin th trng thi ca tr chi. Bin whoeTurn c s dng lu k hiu tip theo s c gn cho cc . Phng thc isFull() v isWon() c s dng kim tra trng thi ca tr chi. Bi v lp Cell l inner class ca lp TicTacToe nn bin whoseTurn v cc phng thc isFull() v isWon() ca lp TicTacToe u c th s dng c trong lp Cell. Inner class gip cho chng trnh tr nn n gin v ngn gn hn. Nu lp Cell khng c khai bo l inner class ca lp TicTacToe th chng ta cn phi truyn mt i tng ca TicTacToe vo trong lp Cell lp ny c th s dng c cc bin v phng thc ca lp TicTacToe . Bn c th th vit li chng trnh ny m khng s dng inner class. S kin MouseEvent c ng k cho tng , nu mt trng c nhn chut trong khi tr chi vn cha kt thc th k hiu hin ti s c t cho . Nu tr chi kt thc, bin whoseTurn s c gn gi tr , cn nu khng th whoseTurn s chuyn sang gi tr ca lt chi mi.
Mo:
Hy s dng phng php tip cn tng cng (incremental approach) trong vic pht trin v kim th mt d n Java thuc loi ny. Chng trnh trn c th c chia thnh 5 bc nh sau:
1. Dng giao din ngi dng v hin th k hiu X trong mt c nh. 2. To cho cc kh nng hin th k hiu X mi khi mt no c nhn chut. 3. Kt hp gia hai ngi chi sao cho cc k hiu X v O c hin th thay phin nhau. 4. Kim tra xem mt ngi chi thng hay cha, hoc l tt c cc u c
nh. 5. Hin th thng bo trn label trng thi sau mi nc i ca ngi chi.
Chia s:
Like this:
Like
One blogger likes this.
TAGGED WITH: C CA RO, C CA RO TRONG JAVA, GAME, GAME TRONG JAVA, THIT
[Kata] PokerHands
Comments
hien says: November 5, 2013 at 10:27 pm
Rate This
http://tapchilaptrinh.vn/2012/11/26/java-viet-tro-choi-tic-tac-toe/
5/6
Leave a Reply
Enter your comment here...
DANH MC
Agile Android Windows Phone
TM KIM
Ni dung c pht hnh theo Search this website Search giy php CC BY-NC 3.0.
http://tapchilaptrinh.vn/2012/11/26/java-viet-tro-choi-tic-tac-toe/
6/6