Dostałem na projekt do napisania grę w kulki w języku C. Zasady gry są proste. Pojawiają się 3 kulki (2 rodzaje) w losowych miejscach na planszy 7x7. Przesuwamy jedną kulkę tak aby w efekcie utworzyć rząd pięciu kulek tego samego rodzaju. Gdy jest rząd kulki znikają. Do tej pory napisałem coś takiego. Kod jest jeszcze nie pełny i dużo mu brakuje lecz chciałbym się od was dowiedzieć jakim sposobem przesuwać te kulki z miejsca na miejsce. Z góry dzięki za pomoc.
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void bufor(void)
{
char bufor[1000];
fgets(bufor, 1000, stdin);
}
void rysuj (char ekran[7][7])
{
printf("[%c][%c][%c]\n", ekran[0][0], ekran[0][1], ekran[0][2], ekran[0][3], ekran[0][4], ekran[0][5], ekran[0][6]);
printf("[%c][%c][%c]\n", ekran[1][0], ekran[1][1], ekran[1][2], ekran[1][3], ekran[1][4], ekran[1][5], ekran[1][6]);
printf("[%c][%c][%c]\n", ekran[2][0], ekran[2][1], ekran[2][2], ekran[2][3], ekran[2][4], ekran[2][5], ekran[2][6]);
printf("[%c][%c][%c]\n", ekran[3][0], ekran[3][1], ekran[3][2], ekran[3][3], ekran[3][4], ekran[3][5], ekran[3][6]);
printf("[%c][%c][%c]\n", ekran[4][0], ekran[4][1], ekran[4][2], ekran[4][3], ekran[4][4], ekran[4][5], ekran[4][6]);
printf("[%c][%c][%c]\n", ekran[5][0], ekran[5][1], ekran[5][2], ekran[5][3], ekran[5][4], ekran[5][5], ekran[5][6]);
printf("[%c][%c][%c]\n", ekran[6][0], ekran[6][1], ekran[6][2], ekran[6][3], ekran[6][4], ekran[6][5], ekran[6][6]);
}
int clean (char ekran[7][7])
{
int w, k;
for(w=0;w<7;w++)
for(k=0;k<7;k++)
ekran[w][k]=' ';
}
int main()
{
int i;
char ch;
char ekran[7][7];
printf(" ~KULKI~\n WITAMY W GRZE!\n");
while(ch!='N')
{
printf(" 1.GRAJ\n 2.ZAMKNIJ\n");
do
{
if(scanf("%d",&i)!=1 || i!=2)
{
bufor();
if(i==1) break;
if(i==2) return 0;
printf("Wpisales nieprawidlowy znak.\nWybierz tryb konwersji ponownie: \n");
}
}
while(i!=1 && i!=2);
if(i==1)
{
srand(time(NULL));
clean(ekran);
int i,n,w,k;
char c;
for(i=0;i<3;i++)
{
do
{
w=rand()%7;
k=rand()%7;
}
while(ekran[w][k]=' ');
n=rand()%2;
if(n=1)c='O';
else c='X';
ekran[w][k]=c;
}
}
printf("\n\n\n");
printf("Czy chcesz kontynuowac?\n(T/N) : ");
do
{
if((ch=getchar())=='T' || (ch=getchar())=='N') break;
if(ch!='N' && ch!='T') printf("Prosze wpisac T lub N\n");
}
while(ch!='N' && ch!='T');
if(ch=='N') return 0;
}
}