Nesse tutorial vou descrever Como fazer um Jogo da Velha em Kotlin 2 que assim é a segunda parte do jogo da velha inserimos contra o computador.
Se você ainda não viu a primeira parte do nosso Jogo da Velha então acesse Como fazer um Jogo da Velha em Kotlin.
Você também pode clonar nosso repositório com o seguinte comando.
Portanto na segunda parte do nosso Jogo da Velha vamos colocar o computador para jogar como o “O”.
Vamos então abrir o nosso primeiro projeto e modificar apenas a MainActivity para colocar o computador para jogar com o seguinte código.
class MainActivity : AppCompatActivity() {
var fimJogo: Boolean = false
var jogador: Int = 1
private var btnList = ArrayList<Button>()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btnList = arrayListOf<Button>(btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9)
btnRestart.visibility = View.GONE
for(x in 0..btnList.size-1) {
btnList[x].setOnClickListener {
joga(it as Button)
}
}
btnRestart.setOnClickListener {
restart()
}
}
private fun joga(btn: Button){
marca(btn)
if(jogador<9 && !checkGame()) jogaComp()
}
private fun marca(btn: Button){
if(jogador % 2 != 0) {
btn.text = "X"
}
else{
btn.text = "O"
}
btn.isClickable = false
checkGame()
jogador++
}
private fun jogaComp(){
var bol: Boolean = true
do {
var rand = Random.nextInt(9)
if (btnList[rand].text == "") {
marca(btnList[rand])
bol = false
}
else {
bol = true
}
}while (bol)
}
private fun restart(){
for(x in 0..btnList.size-1){
btnList[x].text = ""
btnList[x].isClickable = true
}
tvResult.text = ""
jogador = 1
fimJogo = false
btnRestart.visibility = View.GONE
}
private fun checkGame(): Boolean{
val numb = listOf<Int>(0,3,6)
for(x in numb){
if (btnList[x].text != "" && btnList[x].text == btnList[x+1].text && btnList[x+1].text == btnList[x + 2].text) {
ganhador()
return true
}
}
for(x in 0..2){
if(btnList[x].text != "" && btnList[x].text == btnList[x+3].text && btnList[x+3].text == btnList[x+6].text){
ganhador()
return true
}
}
if ((btnList[0].text != "" && btnList[0].text == btnList[4].text && btnList[4].text == btnList[8].text)
|| (btnList[2].text != "" && btnList[2].text == btnList[4].text && btnList[4].text == btnList[6].text)) {
ganhador()
return true
}
else if(jogador == 9){
tvResult.text = "Empate"
btnRestart.visibility = View.VISIBLE
return true
}
return false
}
private fun ganhador(){
if(!fimJogo) {
if (jogador % 2 != 0) {
tvResult.text = "Ganhador: X"
} else {
tvResult.text = "Ganhador: O"
}
endGame()
btnRestart.visibility = View.VISIBLE
fimJogo = true
}
}
private fun endGame(){
for(x in 0..btnList.size-1){
btnList[x].isClickable = false
}
}
}
Logo depois de modificar nossa MainActivity vamos dar uma olhada nas mudanças.
Para ver as mudanças dentro do git basta apenas você digitar.
Então você pode observar que modificamos algumas funções no projeto, como a função que checa o final do jogo que agora responde um Boolean.
E também a função de joga que logo após o jogador fazer sua jogada executa a jogada do computador.
Enfim espero poder ter ajudado com mais esta parte do Como fazer um Jogo da Velha em Kotlin 2.
Visite e siga nosso canal no YouTube para ajudar no crescimento do site.
Tags:
Android Studio Jogo da Velha Kotlin TutorialPosts relacionados: