○×ゲームで・・・
Posted: 2010年11月16日(火) 23:19
↓のようなプログラムで○×ゲームを作ってるのですが、
○と×の場所を保存しながら場所を入力するたびに増やしていきたいのですが
入力のたびに前回の○と×の場所がリセットされてしまい困ってます。
まだ、勝利条件などは書いていません。
まずはちゃんと表示させたいです。
c言語で書いています。bcpadを使ってます。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void){
int map[3][3];
int a,b,x,y,w,h,c,d;
srand(time(NULL));
for(a=0;a<3;a++){
for(b=0;b<3;b++){
map[a]=0; //マップのクリア
}
}
for(c=0;c<9;c++){ //9回繰り返す
for(a=0;a<3;a++){
for(b=0;b<3;b++){
if(x==a&&y==b)printf("○"); //○の表示
else if(w==a&&h==b)printf("×"); //×の表示
else printf("■"); //何もない場所の表示
}
printf("\n");
}
printf("縦のどこに置きますか?");
scanf("%d",&a);
printf("横のどこに置きますか?");
scanf("%d",&b);
x=a;
y=b;
for(;;){
a=rand()%3;
b=rand()%3;
if(map[a]==0){
w=a;
h=b;
break;
}
}
}
return 0;
}
へたくそなプログラムですいません。
○と×の場所を保存しながら場所を入力するたびに増やしていきたいのですが
入力のたびに前回の○と×の場所がリセットされてしまい困ってます。
まだ、勝利条件などは書いていません。
まずはちゃんと表示させたいです。
c言語で書いています。bcpadを使ってます。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void){
int map[3][3];
int a,b,x,y,w,h,c,d;
srand(time(NULL));
for(a=0;a<3;a++){
for(b=0;b<3;b++){
map[a]=0; //マップのクリア
}
}
for(c=0;c<9;c++){ //9回繰り返す
for(a=0;a<3;a++){
for(b=0;b<3;b++){
if(x==a&&y==b)printf("○"); //○の表示
else if(w==a&&h==b)printf("×"); //×の表示
else printf("■"); //何もない場所の表示
}
printf("\n");
}
printf("縦のどこに置きますか?");
scanf("%d",&a);
printf("横のどこに置きますか?");
scanf("%d",&b);
x=a;
y=b;
for(;;){
a=rand()%3;
b=rand()%3;
if(map[a]==0){
w=a;
h=b;
break;
}
}
}
return 0;
}
へたくそなプログラムですいません。