İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Acele Basit Java yardımı

feverinlove

0
İyinet Üyesi
Katılım
21 Kasım 2004
Mesajlar
0
Reaction score
0
Konum
Istanbul / Turkey
ya Javadan ödevim var ve pek iyi degilim. Cok basit bir program yapılması gerekiyor: Assagiya copy paste yapıcam: Yrn aksama kadar birisi yapabilirse cok minnettar olucam.

Reversi-based One-Person Puzzle

Program
Declare the puzzle board as a two-dimensional 3x3 array of characters but the value in each cell is one of two characters (decided by user e.g. O and X).

Initialize the puzzle board to the first character e.g. all O; we shall call this the target position. The computer should display the initial board in square form, perhaps using printable characters to simulate border lines (as in tic-tac-toe example in chapter 1), and again after each move.

At each move, choose one of the cells (input two coordinates, or label from 1 to 9 and convert within program), and change the value to the opposite character in that cell and in every other cell in the same row and column (a total of 5 cells).

After three or four such moves in different cells it may be hard to see how to restore the original situation, but if you made the moves you can play them in reverse order. You can present the situation to a friend (not a collaborator) and ask them to find the moves back to the original situation, counting them as a check. The program should recognize that they have returned to the target position.

In an improved version for bonus points, let the computer generate a few random moves from the target position. See whether you can solve your own puzzle.


Yapabilecek varmı?
 

zokkie

0
İyinet Üyesi
Onaylı Üye
Katılım
8 Şubat 2003
Mesajlar
1,465
Reaction score
0
bence zor yapabilecek birinin çıkmasını, hemde teşekkür karşılığı ?
 

tolgahat

0
İyinet Üyesi
Katılım
28 Eylül 2004
Mesajlar
896
Reaction score
0
zokkie' Alıntı:
bence zor yapabilecek birinin çıkmasını, hemde teşekkür karşılığı ?

valla anlasam ben yapardım ama anlamıyom ki. nolcek ki insan insana her zaman muhtactır. Bugun sen ona yarın o sana. dimi ama ?
 

SLiM_BoY

0
İyinet Üyesi
Katılım
4 Ağustos 2005
Mesajlar
2,325
Reaction score
0
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 ' ';
}
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst