package games;
import java.util.HashSet;
import java.util.Scanner;
public class TicTacToe {
static HashSetur_set = new HashSet();
static HashSetcomp_set = new HashSet();
static int generate_rd(){
int min=1;
int max=9;
int range= max-min+1;
int res=(int) (Math.random()*range)+min;
return res;
}
static void print_board(char[][] arr){
for(int r =0;rr1=new HashSet();
r1.add(1);r1.add(2);r1.add(3);
HashSetr2=new HashSet();
r2.add(4);r2.add(5);r2.add(6);
HashSetr3=new HashSet();
r3.add(7);r3.add(8);r3.add(9);
HashSetc1=new HashSet();
c1.add(1);c1.add(4);c1.add(7);
HashSetc2=new HashSet();
c2.add(2);c2.add(5);c2.add(8);
HashSetc3=new HashSet();
c3.add(3);c3.add(6);c3.add(9);
HashSetd1=new HashSet();
d1.add(1);d1.add(5);d1.add(9);
HashSetd2=new HashSet();
d2.add(3);d2.add(5);d2.add(7);
HashSet> set=new HashSet<>();
set.add(r1);set.add(r2);set.add(r3);
set.add(c1);set.add(c2);set.add(c3);
set.add(d1);set.add(d2);
for (HashSet c: set) {
if (ur_set.containsAll(c)){
return "You Won";
}else if(comp_set.containsAll(c)){
return "You Lose , Computer Won";
}
}
if(ur_set.size()+ comp_set.size()==9){
return "Draw";
}
return "";
}
public static void main(String[] args) {
// creating a tic tac toe game.r=5 ,c=5
char [][] gboard={
{' ','|',' ','|',' '},
{'-','|','-','|','-'},
{' ','|',' ','|',' '},
{'-','|','-','|','-'},
{' ','|',' ','|',' '},
};
print_board(gboard);
Scanner sc = new Scanner(System.in);
while(true){
System.out.print("Enter values from 1 to 9 :");
int user_pos=sc.nextInt();
while(ur_set.contains(user_pos)|| comp_set.contains(user_pos)){
System.out.println();
System.out.print("Retry , Enter values from 1 to 9 :");
user_pos=sc.nextInt();
}
p_holder(gboard,user_pos,"Me");
String res=check_winner();
if(res.length()>0)
{
System.out.println(res);
break;
}
int comp_pos=generate_rd();
while(ur_set.contains(comp_pos)|| comp_set.contains(comp_pos)){
comp_pos=generate_rd();
}
p_holder(gboard,comp_pos,"Comp");
res=check_winner();
if(res.length()>0)
{
System.out.println(res);
break;
}
}
}
}