let socket;
let ourId;
let enemyId;
let startGame = id => socket.emit('startGame', {id})
connect.onchange = () => ({
true(){
//socket = io('http://localhost:4000') //connect
socket = io() //connect
socket.on('hi',({id}) => ourId = id) //our id from serverside
socket.emit('conn', {nick: nick.value}) //our nick to serverside
socket.on('gamers', gamers => nicksDiv.innerHTML = //show gamers
gamers.reduce((str, {nick, newGame, id, inGameWith}) => str +
`
${nick}
${newGame && ourId !== id && !inGameWith ?
`
`: ''}
`,"")
)
socket.on('startGame', ({inGameWith, turn}) => { //when someone else accept our game
enemyId = inGameWith
gameDiv.style.display = 'block';
//time to init board
send.disabled = true;
})
socket.on('turn', data => { //our turn
send.disabled = false;
enemyData.innerHTML = data ? data.data : 'your turn';
})
},
false(){
socket.disconnect()
nicksDiv.innerHTML = ''
gameDiv.style.display = 'none';
}
})[nick.disabled = connect.checked]()
nick.oninput = () => connect.disabled = !nick.value
newGame.onchange = () => socket.emit('newGame', {newGame: newGame.checked})
gameDiv.style.display = 'none';
send.onclick = () => {
socket.emit('turn', {data: data.value})
enemyData.innerHTML = 'enemy turn';
send.disabled = true;
}