-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExer01JogodaVelha.java
More file actions
105 lines (84 loc) · 4.38 KB
/
Exer01JogodaVelha.java
File metadata and controls
105 lines (84 loc) · 4.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package com.laiane.cursojava.aula20;
import java.util.Scanner;
public class Exer06 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
char[][] jogoVelha = new char[3][3];
System.out.println("Jogador 1 = X");
System.out.println("Jogador 2 = O");
boolean ganhou = false;
int jogada = 1;
char sinal;
int linha = 0, coluna = 0;
while (!ganhou) {
if (jogada % 2 == 1) { //jogador 1
System.out.println("Vez do jogador 1. Escolha linha e coluna (1-3).");
sinal = 'X';
} else {
System.out.println("Vez do jogador 2. Escolha linha e coluna (1-3).");
sinal = 'O';
}
boolean linhaValida = false;
while (!linhaValida) {
System.out.println("Entre com a linha (1, 2 ou 3)");
linha = scan.nextInt();
if (linha >= 1 && linha <= 3) {
linhaValida = true;
} else {
System.out.println("Entrada inválida, tente novamente");
}
}
boolean col;
linhaValida = false;
while (!linhaValida) {
System.out.println("Entre com a coluna (1, 2 ou 3)");
coluna = scan.nextInt();
if (coluna >= 1 && coluna <= 3) {
linhaValida = true;
} else {
System.out.println("Entrada inválida, tente novamente");
}
}
//verifica posição válida
linha--;
coluna--;
if (jogoVelha[linha][coluna] == 'X' || jogoVelha[linha][coluna] == 'O') {
System.out.println("Posição já usada, tente novamente");
} else { //jogada válida
jogoVelha[linha][coluna] = sinal;
jogada++;
}
for (int i = 0; i < jogoVelha.length; i++) {
for (int j = 0; j < jogoVelha[i].length; j++) {
System.out.print((jogoVelha[i][j] == '\0' ? ' ' : jogoVelha[i][j]) + " | ");
}
System.out.println();
}
//verifica se tem ganhador
if ((jogoVelha[0][0] == 'X' && jogoVelha[0][1] == 'X' && jogoVelha[0][2] == 'X') || //linha 1
(jogoVelha[1][0] == 'X' && jogoVelha[1][1] == 'X' && jogoVelha[1][2] == 'X') || //linha 2
(jogoVelha[2][0] == 'X' && jogoVelha[2][1] == 'X' && jogoVelha[2][2] == 'X') || //linha 3
(jogoVelha[0][0] == 'X' && jogoVelha[1][0] == 'X' && jogoVelha[2][0] == 'X') || //coluna 1
(jogoVelha[0][1] == 'X' && jogoVelha[1][1] == 'X' && jogoVelha[2][1] == 'X') || //coluna 2
(jogoVelha[0][2] == 'X' && jogoVelha[1][2] == 'X' && jogoVelha[2][2] == 'X') || //coluna 3
(jogoVelha[0][0] == 'X' && jogoVelha[1][1] == 'X' && jogoVelha[2][2] == 'X') || //diagonal
(jogoVelha[0][2] == 'X' && jogoVelha[1][1] == 'X' && jogoVelha[2][0] == 'X')) { //diagonal inversa
ganhou = true;
System.out.println("Parabéns, jogador 1 ganhou!");
} else if ((jogoVelha[0][0] == 'O' && jogoVelha[0][1] == 'O' && jogoVelha[0][2] == 'O') || //linha 1
(jogoVelha[1][0] == 'O' && jogoVelha[1][1] == 'O' && jogoVelha[1][2] == 'O') || //linha 2
(jogoVelha[2][0] == 'O' && jogoVelha[2][1] == 'O' && jogoVelha[2][2] == 'O') || //linha 3
(jogoVelha[0][0] == 'O' && jogoVelha[1][0] == 'O' && jogoVelha[2][0] == 'O') || //coluna 1
(jogoVelha[0][1] == 'O' && jogoVelha[1][1] == 'O' && jogoVelha[2][1] == 'O') || //coluna 2
(jogoVelha[0][2] == 'O' && jogoVelha[1][2] == 'O' && jogoVelha[2][2] == 'O') || //coluna 3
(jogoVelha[0][0] == 'O' && jogoVelha[1][1] == 'O' && jogoVelha[2][2] == 'O') || //diagonal
(jogoVelha[0][2] == 'O' && jogoVelha[1][1] == 'O' && jogoVelha[2][0] == 'O')) { //diagonal inversa
ganhou = true;
System.out.println("Parabéns, jogador 2 ganhou!");
} else if (jogada > 9) {
ganhou = true;
System.out.println("Ninguém ganhou essa partida.");
}
}
}
}