6
6
//
7
7
8
8
import UIKit
9
+ import SocketIO
9
10
10
11
class ViewController : UIViewController , UIAlertViewDelegate {
11
12
@IBOutlet weak var btn0 : UIButton !
@@ -18,7 +19,7 @@ class ViewController: UIViewController, UIAlertViewDelegate {
18
19
@IBOutlet weak var btn7 : UIButton !
19
20
@IBOutlet weak var btn8 : UIButton !
20
21
@IBOutlet weak var label : UILabel !
21
- let socket = SocketIOClient ( socketURL: NSURL ( string: " http://localhost:8900 " ) !)
22
+ let socket = SocketIOClient ( socketURL: URL ( string: " http://localhost:8900 " ) !)
22
23
var name : String ?
23
24
var resetAck : SocketAckEmitter ?
24
25
@@ -31,11 +32,11 @@ class ViewController: UIViewController, UIAlertViewDelegate {
31
32
let grad = CAGradientLayer ( )
32
33
grad. frame = self . view. bounds
33
34
34
- let colors = [ UIColor ( red: 127 , green: 0 , blue: 127 , alpha: 1 ) . CGColor ,
35
- UIColor ( red: 0 , green: 0 , blue: 0 , alpha: 1 ) . CGColor ]
35
+ let colors = [ UIColor ( red: 127 , green: 0 , blue: 127 , alpha: 1 ) . cgColor ,
36
+ UIColor ( red: 0 , green: 0 , blue: 0 , alpha: 1 ) . cgColor ]
36
37
37
38
grad. colors = colors
38
- view. layer. insertSublayer ( grad, atIndex : 0 )
39
+ view. layer. insertSublayer ( grad, at : 0 )
39
40
}
40
41
41
42
func addHandlers( ) {
@@ -51,13 +52,13 @@ class ViewController: UIViewController, UIAlertViewDelegate {
51
52
}
52
53
53
54
socket. on ( " playerMove " ) { [ weak self] data, ack in
54
- if let name = data [ 0 ] as? String , x = data [ 1 ] as? Int , y = data [ 2 ] as? Int {
55
+ if let name = data [ 0 ] as? String , let x = data [ 1 ] as? Int , let y = data [ 2 ] as? Int {
55
56
self ? . handlePlayerMove ( name, coord: ( x, y) )
56
57
}
57
58
}
58
59
59
60
socket. on ( " win " ) { [ weak self] data, ack in
60
- if let name = data [ 0 ] as? String , typeDict = data [ 1 ] as? NSDictionary {
61
+ if let name = data [ 0 ] as? String , let typeDict = data [ 1 ] as? NSDictionary {
61
62
self ? . handleWin ( name, type: typeDict)
62
63
}
63
64
}
@@ -86,10 +87,10 @@ class ViewController: UIViewController, UIAlertViewDelegate {
86
87
exit ( 0 )
87
88
}
88
89
89
- socket. onAny { print ( " Got event: \( $0. event) , with items: \( $0. items) " ) }
90
+ socket. onAny { print ( " Got event: \( $0. event) , with items: \( $0. items! ) " ) }
90
91
}
91
92
92
- @IBAction func btnClicked( btn: UIButton) {
93
+ @IBAction func btnClicked( _ btn: UIButton ) {
93
94
let coord : ( x: Int , y: Int )
94
95
95
96
switch btn. tag {
@@ -118,7 +119,7 @@ class ViewController: UIViewController, UIAlertViewDelegate {
118
119
socket. emit ( " playerMove " , coord. x, coord. y)
119
120
}
120
121
121
- func drawWinLine( type: NSDictionary) {
122
+ func drawWinLine( _ type: NSDictionary ) {
122
123
let winType = type [ " type " ] as! String
123
124
let to : CGPoint
124
125
let from : CGPoint
@@ -137,8 +138,8 @@ class ViewController: UIViewController, UIAlertViewDelegate {
137
138
to = btn6. center
138
139
from = btn8. center
139
140
default :
140
- to = CGPointMake ( 0.0 , 0.0 )
141
- from = CGPointMake ( 0.0 , 0.0 )
141
+ to = CGPoint ( x : 0.0 , y : 0.0 )
142
+ from = CGPoint ( x : 0.0 , y : 0.0 )
142
143
}
143
144
} else if winType == " col " {
144
145
let row = type [ " num " ] as! Int
@@ -154,8 +155,8 @@ class ViewController: UIViewController, UIAlertViewDelegate {
154
155
to = btn2. center
155
156
from = btn8. center
156
157
default :
157
- to = CGPointMake ( 0.0 , 0.0 )
158
- from = CGPointMake ( 0.0 , 0.0 )
158
+ to = CGPoint ( x : 0.0 , y : 0.0 )
159
+ from = CGPoint ( x : 0.0 , y : 0.0 )
159
160
}
160
161
} else {
161
162
let coord = type [ " coord " ] as! NSDictionary
@@ -176,24 +177,24 @@ class ViewController: UIViewController, UIAlertViewDelegate {
176
177
to = btn2. center
177
178
from = btn6. center
178
179
default :
179
- to = CGPointMake ( 0.0 , 0.0 )
180
- from = CGPointMake ( 0.0 , 0.0 )
180
+ to = CGPoint ( x : 0.0 , y : 0.0 )
181
+ from = CGPoint ( x : 0.0 , y : 0.0 )
181
182
}
182
183
}
183
184
184
185
let path = UIBezierPath ( )
185
- path. moveToPoint ( from)
186
- path. addLineToPoint ( to)
186
+ path. move ( to : from)
187
+ path. addLine ( to : to)
187
188
188
189
let shapeLayer = CAShapeLayer ( )
189
- shapeLayer. path = path. CGPath
190
- shapeLayer. strokeColor = UIColor . whiteColor ( ) . CGColor
190
+ shapeLayer. path = path. cgPath
191
+ shapeLayer. strokeColor = UIColor . white . cgColor
191
192
shapeLayer. lineWidth = 3.0
192
- shapeLayer. fillColor = UIColor . clearColor ( ) . CGColor
193
+ shapeLayer. fillColor = UIColor . clear . cgColor
193
194
view. layer. addSublayer ( shapeLayer)
194
195
}
195
196
196
- func handleCurrentTurn( name: String) {
197
+ func handleCurrentTurn( _ name: String ) {
197
198
if name == self . name! {
198
199
label. text = " Your turn! "
199
200
} else {
@@ -206,59 +207,59 @@ class ViewController: UIViewController, UIAlertViewDelegate {
206
207
}
207
208
208
209
func handleGameReset( ) {
209
- btn0. setTitle ( " - " , forState : UIControlState . Normal )
210
- btn1. setTitle ( " - " , forState : UIControlState . Normal )
211
- btn2. setTitle ( " - " , forState : UIControlState . Normal )
212
- btn3. setTitle ( " - " , forState : UIControlState . Normal )
213
- btn4. setTitle ( " - " , forState : UIControlState . Normal )
214
- btn5. setTitle ( " - " , forState : UIControlState . Normal )
215
- btn6. setTitle ( " - " , forState : UIControlState . Normal )
216
- btn7. setTitle ( " - " , forState : UIControlState . Normal )
217
- btn8. setTitle ( " - " , forState : UIControlState . Normal )
210
+ btn0. setTitle ( " - " , for : UIControlState ( ) )
211
+ btn1. setTitle ( " - " , for : UIControlState ( ) )
212
+ btn2. setTitle ( " - " , for : UIControlState ( ) )
213
+ btn3. setTitle ( " - " , for : UIControlState ( ) )
214
+ btn4. setTitle ( " - " , for : UIControlState ( ) )
215
+ btn5. setTitle ( " - " , for : UIControlState ( ) )
216
+ btn6. setTitle ( " - " , for : UIControlState ( ) )
217
+ btn7. setTitle ( " - " , for : UIControlState ( ) )
218
+ btn8. setTitle ( " - " , for : UIControlState ( ) )
218
219
219
- btn0. enabled = true
220
- btn1. enabled = true
221
- btn2. enabled = true
222
- btn3. enabled = true
223
- btn4. enabled = true
224
- btn5. enabled = true
225
- btn6. enabled = true
226
- btn7. enabled = true
227
- btn8. enabled = true
220
+ btn0. isEnabled = true
221
+ btn1. isEnabled = true
222
+ btn2. isEnabled = true
223
+ btn3. isEnabled = true
224
+ btn4. isEnabled = true
225
+ btn5. isEnabled = true
226
+ btn6. isEnabled = true
227
+ btn7. isEnabled = true
228
+ btn8. isEnabled = true
228
229
229
230
view. layer. sublayers? . removeLast ( )
230
231
label. text = " Waiting for Opponent "
231
232
}
232
233
233
- func handlePlayerMove( name: String, coord: ( Int, Int) ) {
234
+ func handlePlayerMove( _ name: String , coord: ( Int , Int ) ) {
234
235
switch coord {
235
236
case ( 0 , 0 ) :
236
- btn0. setTitle ( name, forState : UIControlState . Disabled )
237
- btn0. enabled = false
237
+ btn0. setTitle ( name, for : UIControlState . disabled )
238
+ btn0. isEnabled = false
238
239
case ( 0 , 1 ) :
239
- btn1. setTitle ( name, forState : UIControlState . Disabled )
240
- btn1. enabled = false
240
+ btn1. setTitle ( name, for : UIControlState . disabled )
241
+ btn1. isEnabled = false
241
242
case ( 0 , 2 ) :
242
- btn2. setTitle ( name, forState : UIControlState . Disabled )
243
- btn2. enabled = false
243
+ btn2. setTitle ( name, for : UIControlState . disabled )
244
+ btn2. isEnabled = false
244
245
case ( 1 , 0 ) :
245
- btn3. setTitle ( name, forState : UIControlState . Disabled )
246
- btn3. enabled = false
246
+ btn3. setTitle ( name, for : UIControlState . disabled )
247
+ btn3. isEnabled = false
247
248
case ( 1 , 1 ) :
248
- btn4. setTitle ( name, forState : UIControlState . Disabled )
249
- btn4. enabled = false
249
+ btn4. setTitle ( name, for : UIControlState . disabled )
250
+ btn4. isEnabled = false
250
251
case ( 1 , 2 ) :
251
- btn5. setTitle ( name, forState : UIControlState . Disabled )
252
- btn5. enabled = false
252
+ btn5. setTitle ( name, for : UIControlState . disabled )
253
+ btn5. isEnabled = false
253
254
case ( 2 , 0 ) :
254
- btn6. setTitle ( name, forState : UIControlState . Disabled )
255
- btn6. enabled = false
255
+ btn6. setTitle ( name, for : UIControlState . disabled )
256
+ btn6. isEnabled = false
256
257
case ( 2 , 1 ) :
257
- btn7. setTitle ( name, forState : UIControlState . Disabled )
258
- btn7. enabled = false
258
+ btn7. setTitle ( name, for : UIControlState . disabled )
259
+ btn7. isEnabled = false
259
260
case ( 2 , 2 ) :
260
- btn8. setTitle ( name, forState : UIControlState . Disabled )
261
- btn8. enabled = false
261
+ btn8. setTitle ( name, for : UIControlState . disabled )
262
+ btn8. isEnabled = false
262
263
default :
263
264
return
264
265
}
@@ -272,12 +273,12 @@ class ViewController: UIViewController, UIAlertViewDelegate {
272
273
}
273
274
}
274
275
275
- func handleWin( name: String, type: NSDictionary) {
276
+ func handleWin( _ name: String , type: NSDictionary ) {
276
277
label. text = " Player \( name) won! "
277
278
drawWinLine ( type)
278
279
}
279
280
280
- func alertView( alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {
281
+ func alertView( _ alertView: UIAlertView , clickedButtonAt buttonIndex: Int ) {
281
282
if buttonIndex == 0 {
282
283
resetAck? . with ( false )
283
284
} else {
0 commit comments