@@ -20,7 +20,7 @@ document.addEventListener('DOMContentLoaded', function() {
2020 player : 'computer' ,
2121 computerPoints : 0 ,
2222 humanPoints : 0 ,
23- end : false
23+ end : false
2424 }
2525 }
2626 render ( ) {
@@ -29,32 +29,42 @@ document.addEventListener('DOMContentLoaded', function() {
2929 < Intro onStart = { this . moveAI } />
3030 < div >
3131 < div className = 'header-container' >
32- < div className = 'game-title' > < h1 > Tic Tac Toe 9000</ h1 > </ div >
32+ < div className = 'game-title' >
33+ < h1 > Tic Tac Toe 9000</ h1 >
3334 </ div >
34- < div className = 'points-ai' > < h3 > punkty uzytkownika < span > { this . state . humanPoints } </ span > </ h3 > </ div >
35- < div className = 'points-human' > < h3 > Punkty komputera < span > { this . state . computerPoints } </ span > </ h3 > </ div >
3635 </ div >
37- < div className = 'game-container' >
38- < div className = 'row' >
39- < div data-tag = '1' className = { this . state . fieldOne + ' field' } id = 'fieldOne' onClick = { this . makeMove } > </ div >
40- < div data-tag = '2' className = { this . state . fieldTwo + ' field' } id = 'fieldTwo' onClick = { this . makeMove } > </ div >
41- < div data-tag = '3' className = { this . state . fieldThree + ' field' } id = 'fieldThree' onClick = { this . makeMove } > </ div >
42- </ div >
43- < div className = 'row' >
44- < div data-tag = '4' className = { this . state . fieldFour + ' field' } id = 'fieldFour' onClick = { this . makeMove } > </ div >
45- < div data-tag = '5' className = { this . state . fieldFive + ' field' } id = 'fieldFive' onClick = { this . makeMove } > </ div >
46- < div data-tag = '6' className = { this . state . fieldSix + ' field' } id = 'fieldSix' onClick = { this . makeMove } > </ div >
47- </ div >
48- < div className = 'row' >
49- < div data-tag = '7' className = { this . state . fieldSeven + ' field' } id = 'fieldSeven' onClick = { this . makeMove } > </ div >
50- < div data-tag = '8' className = { this . state . fieldEight + ' field' } id = 'fieldEight' onClick = { this . makeMove } > </ div >
51- < div data-tag = '9' className = { this . state . fieldNine + ' field' } id = 'fieldNine' onClick = { this . makeMove } > </ div >
52- </ div >
53- < div className = 'buttons' >
54- < button onClick = { this . stopAndReset } > Zacznij jeszcze raz </ button >
55- </ div >
36+ < div className = 'points-ai' >
37+ < h3 > punkty uzytkownika: < span > { this . state . humanPoints } </ span >
38+ </ h3 >
39+ </ div >
40+ < div className = 'points-human' >
41+ < h3 > Punkty komputera: < span > { this . state . computerPoints } </ span >
42+ </ h3 >
43+ </ div >
5644 </ div >
45+ < div className = 'game-container' >
46+ < div className = 'row' >
47+ < div data-tag = '1' className = { this . state . fieldOne + ' field' } id = 'fieldOne' onClick = { this . makeMove } > </ div >
48+ < div data-tag = '2' className = { this . state . fieldTwo + ' field' } id = 'fieldTwo' onClick = { this . makeMove } > </ div >
49+ < div data-tag = '3' className = { this . state . fieldThree + ' field' } id = 'fieldThree' onClick = { this . makeMove } > </ div >
50+ </ div >
51+ < div className = 'row' >
52+ < div data-tag = '4' className = { this . state . fieldFour + ' field' } id = 'fieldFour' onClick = { this . makeMove } > </ div >
53+ < div data-tag = '5' className = { this . state . fieldFive + ' field' } id = 'fieldFive' onClick = { this . makeMove } > </ div >
54+ < div data-tag = '6' className = { this . state . fieldSix + ' field' } id = 'fieldSix' onClick = { this . makeMove } > </ div >
55+ </ div >
56+ < div className = 'row' >
57+ < div data-tag = '7' className = { this . state . fieldSeven + ' field' } id = 'fieldSeven' onClick = { this . makeMove } > </ div >
58+ < div data-tag = '8' className = { this . state . fieldEight + ' field' } id = 'fieldEight' onClick = { this . makeMove } > </ div >
59+ < div data-tag = '9' className = { this . state . fieldNine + ' field' } id = 'fieldNine' onClick = { this . makeMove } > </ div >
60+ </ div >
61+ < div className = 'buttons' >
62+ < button onClick = { this . stopAndReset } >
63+ Zacznij jeszcze raz
64+ </ button >
65+ </ div >
5766 </ div >
67+ </ div >
5868
5969 )
6070 }
@@ -81,65 +91,52 @@ document.addEventListener('DOMContentLoaded', function() {
8191 }
8292 }
8393
84-
85-
8694 // akcja dla wygranej
8795 endGame = ( winner ) => {
88- if ( winner === 'human' ) {
89- let num = this . state . humanPoints + 1
90- this . setState ( {
91- humanPoints : num ,
92- end : true
93- } ) ;
96+ if ( winner === 'human' ) {
97+ let num = this . state . humanPoints + 1
98+ this . setState ( { humanPoints : num , end : true } ) ;
9499 } else {
95- let num = this . state . computerPoints + 1
96- this . setState ( {
97- computerPoints : num ,
98- end : true ,
99- } ) ;
100+ let num = this . state . computerPoints + 1
101+ this . setState ( { computerPoints : num , end : true } ) ;
100102 }
101- } //zatrzymaj cala gre, dodaj punkt, pokaz przycisk restart, pokaz animacje w miejscu gdzie trzeba zrobic animacje
102-
103+ } //zatrzymaj cala gre, dodaj punkt, pokaz przycisk restart, pokaz animacje w miejscu gdzie trzeba zrobic animacje
103104
104105 //tu bedzie caly ai
105106 moveAI = ( ) => {
106107 if ( this . state . end ) {
107108 console . log ( 'koniec gry' ) ;
108109 } else {
109- setTimeout ( this . checkWinAI , 200 )
110- }
110+ setTimeout ( this . checkWinAI , 200 )
111+ }
111112 }
112113
113-
114114 stopAndReset = ( ) => {
115115 this . setState ( {
116- fieldOne : '' ,
117- fieldTwo : '' ,
118- fieldThree : '' ,
119- fieldFour : '' ,
120- fieldFive : '' ,
121- fieldSix : '' ,
122- fieldSeven : '' ,
123- fieldEight : '' ,
124- fieldNine : '' ,
125- takenFieldsX : [ ] ,
126- takenFieldsY : [ ] ,
127- moveNumber : 0 ,
128- end : false
129- } ) ;
116+ fieldOne : '' ,
117+ fieldTwo : '' ,
118+ fieldThree : '' ,
119+ fieldFour : '' ,
120+ fieldFive : '' ,
121+ fieldSix : '' ,
122+ fieldSeven : '' ,
123+ fieldEight : '' ,
124+ fieldNine : '' ,
125+ takenFieldsX : [ ] ,
126+ takenFieldsY : [ ] ,
127+ moveNumber : 0 ,
128+ end : false
129+ } ) ;
130130
131- if ( this . state . player === 'human' ) {
131+ if ( this . state . player === 'human' ) {
132132 this . setState ( {
133- player : 'computer'
133+ player : 'computer'
134134 } , ( ) => this . moveAI ( ) )
135135 } else {
136- this . setState ( {
137- player : 'human'
138- } )
136+ this . setState ( { player : 'human' } )
139137 }
140138 }
141139
142-
143140 //generator losowego ruchu
144141 randomMove = ( ) => {
145142 let randomMove = Math . floor ( Math . random ( ) * 9 ) ;
@@ -165,9 +162,7 @@ document.addEventListener('DOMContentLoaded', function() {
165162 //sprawdz remis
166163 checkDraw = ( ) => {
167164 if ( this . state . moveNumber === 9 ) {
168- this . setState ( {
169- end : true ,
170- } ) ;
165+ this . setState ( { end : true } ) ;
171166 } //pokaz przycisk restart, zatrzymaj gre, wywolaj metode endgame(remis, kazdy po punkcie)
172167 }
173168
@@ -349,15 +344,13 @@ document.addEventListener('DOMContentLoaded', function() {
349344
350345 class Intro extends React . Component {
351346 handleStartClick = ( ) => {
352- if ( typeof this . props . onStart === 'function' ) {
353- $ ( '.intro' ) . css ( 'visibility' , 'hidden' )
354- setTimeout ( this . props . onStart , 300 )
355-
356- // this.props.onStart();
347+ if ( typeof this . props . onStart === 'function' ) {
348+ $ ( '.intro' ) . addClass ( 'fade-out' )
349+ setTimeout ( this . props . onStart , 300 )
357350 }
358351 }
359- render ( ) {
360- return < div className = 'intro' >
352+ render ( ) {
353+ return < div className = 'intro' >
361354 < button onClick = { this . handleStartClick } >
362355 START
363356 </ button >
@@ -367,8 +360,8 @@ document.addEventListener('DOMContentLoaded', function() {
367360
368361 class App extends React . Component {
369362 render ( ) {
370- return < div className = 'main-container' >
371- < TicTacBoard />
363+ return < div className = 'main-container' >
364+ < TicTacBoard />
372365 </ div >
373366 }
374367 }
0 commit comments