![]() |
|
||||
|
Java yok ama, C++ ile yapılmış bir ödev var.Mantığını kavrayabilirsen Java'ya uyarlaman pek bi zamanını almaz..
Kod:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
char matrix[3][3];
void get_player_move(void);
char get_player_harf(void);
void get_computer_move(void);
char check(void);
void display_matrix(void);
void main()
{
char done;
char ad[20];
int i,j;
printf("_____________________SOS___________________\n\n");
printf("________Edited by Cemal Okan SAKAR_________\n\n");
printf("________Yildiz Technical University________\n\n");
printf("__________Mathematical Engineering_________\n\n");
printf("\nIsminiz:");
gets(ad);
for(i=0;i<3;i++){
for(j=0;j<3;j++)
matrix[i][j]=' ';
}
do{
display_matrix();
printf("%s is playing\n\n",ad);
get_player_move();
done=check();
if(done!=' ') {printf("%s wins!\n\n\nGame over!\n",ad);break;}
get_computer_move();
done=check();
if(done!=' ') {printf("Computer wins!\n\n\nGame over!\n");break;}
}while(done==' ');
display_matrix();
getch();
}
void display_matrix(void)
{
int i;
for(i=0;i<3;i++){
printf("__________________\n");
printf("| %c | %c | %c |\n",matrix[i][0],matrix[i][1],matrix[i][2]);
}
}
char get_player_harf()
{
char ch1,ch2;
printf("X or O\n");
ch1=getch();
ch2=toupper(ch1);
if(ch2!='X' && ch2!='O'){printf("\nLutfen O ya da X ten birini giriniz!");get_player_harf();}
else return ch2;
}
void get_player_move(void)
{
int x,y;
char ch;
ch=get_player_harf();
printf("\nEnter the coordinates!\n\n");
scanf("%d %d",&x,&y);
x--;y--;
if(matrix[x][y]!=' '){
printf("Invalid Move!Try again!");
get_player_move();
}
else if(ch=='X'){matrix[x][y]='X';}
else if(ch=='O'){matrix[x][y]='O';}
}
void get_computer_move()
{
int i,j;
// kazanma hamleleri
for(i=0;i<3;i++){
if(matrix[i][0]=='X' && matrix[i][1]=='O' && matrix[i][2]==' ')
{matrix[i][2]='X';return ;}
}
for(i=0;i<3;i++){
if(matrix[i][2]=='X' && matrix[i][1]=='O' && matrix[i][0]==' ')
{matrix[i][0]='X';return ;}
}
//satırlari hallettik
for(i=0;i<3;i++){
if(matrix[0][i]=='X' && matrix[1][i]=='O' && matrix[2][i]==' ')
{matrix[2][i]='X';return ;}
}
for(i=0;i<3;i++){
if(matrix[2][i]=='X' && matrix[1][i]=='O' && matrix[0][i]==' ')
{matrix[0][i]='X';return ;}
}
//Sütunlari hallettik
if(matrix[0][0]=='X' && matrix[1][1]=='O' && matrix[2][2]==' ')
{matrix[2][2]='X';return ;}
if(matrix[2][2]=='X' && matrix[1][1]=='O' && matrix[1][1]==' ')
{matrix[1][1]='X';return ;}
if(matrix[1][1]=='X' && matrix[0][2]=='O' && matrix[2][0]==' ')
{matrix[2][0]='X';return ;}
if(matrix[2][0]=='X' && matrix[1][1]=='O' && matrix[0][2]==' ')
{matrix[0][2]='X';return ;}
for(i=0;i<3;i++){
if(matrix[i][0]=='X' && matrix[i][2]=='X' && matrix[i][1]==' ')
{matrix[0][i]='O';return ;}
}
for(i=0;i<3;i++){
if(matrix[0][i]=='X' && matrix[2][i]=='X' && matrix[1][i]==' ')
{matrix[1][i]='O';return ;}
}
if(matrix[0][0]=='X' && matrix[2][2]=='X' && matrix[1][1]==' ')
{matrix[1][1]='O';return ;}
if(matrix[0][2]=='X' && matrix[2][0]=='O' && matrix[1][1]==' ')
{matrix[1][1]='O';return ;}
//Engel Hamleleri
for(i=0;i<3;i++){
if(matrix[i][0]=='X' && matrix[i][1]==' ')
{matrix[i][1]='X';return ;}
}
for(i=0;i<3;i++){
if(matrix[i][2]=='X' && matrix[i][1]==' ')
{matrix[i][1]='X';return ;}
}
for(i=0;i<3;i++){
if(matrix[i][1]=='O' && matrix[i][0]==' ')
{matrix[i][0]='O';return ;}
}
for(i=0;i<3;i++){
if(matrix[i][1]=='O' && matrix[i][2]==' ')
{matrix[i][2]='O';return ;}
}
if((matrix[0][0]=='X' || matrix[2][2]=='X') && matrix[1][1]==' '){matrix[1][1]='X';return ;}
if((matrix[0][2]=='X' || matrix[2][0]=='X') && matrix[1][1]==' '){matrix[1][1]='X';return ;}
for(i=0;i<3;i++)
for(j=0;j<3;j++){
if(matrix[i][j]==' '){matrix[i][j]='O';return ;}
}
printf("\n_______Draw_______\n");
display_matrix();
exit(0);
}
char check(void)
{
int i;
for(i=0;i<3;i++){
if(matrix[i][0]=='X' && matrix[i][1]=='O' && matrix[i][2]=='X') return matrix[i][0];
}
for(i=0;i<3;i++){
if(matrix[0][i]=='X' && matrix[1][i]=='O' && matrix[2][i]=='X') return matrix[i][0];
}
if(matrix[0][0]=='X' && matrix[1][1]=='O' && matrix[2][2]=='X') return matrix[0][0];
if(matrix[0][2]=='X' && matrix[0][2]=='O' && matrix[0][2]=='X') return matrix[0][2];
return ' ';
}
|
![]() |
| Seçenekler | |
| Stil | |
|
|
Benzer Konular
|
||||
| Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
| basit bir php yardımı istiyorum.... | bigowner | PHP | 5 | 2006-02-04 00:18 |
| Frameden kurtulmak için basit bir java uygulaması | bedavaonline | Javascript Ajax ve Frameworkler | 0 | 2005-05-14 13:20 |
| Acele Java Kodu Yardim Pls | cahveci | Javascript Ajax ve Frameworkler | 2 | 2005-02-13 14:40 |
| Acele mail yardımı | cahveci | PHP | 2 | 2005-01-04 15:50 |
| sitenize basit Java scriptler | GuLSehri | Javascript Ajax ve Frameworkler | 0 | 2004-12-26 12:02 |