hello world. I dont can finish my project. can you solves the problems? I use code:blocks and every funktion and header is on a own file.
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(void);
void field(int paiOpen[][18], int iBig);
int summe(int iGroesse, int paiFeld[][18]);
int inputf(int *piFeld);
void randgen(int iGroesse, int iAllbombs, int paiFeld);
void end(int paiOpen[][18], int iBig);
void clear(int iFeld, int paiFeld[][18], int iSet);
int inputb(int iGroesse);
/* logan denef
IF1A Gruppe B
06.06.10
Meins Wieper*/
#include "header.h"
int main(void)
{
int aiBombs[18][18], aiOffen[18][18], iGroesse, iGesbomben;
srand(time(0));
inputf(&iGroesse);
printf("\niGroesse auf null\n");
clear(iGroesse,aiBombs,0);
printf("\naiOffen auf Null\n");
clear(iGroesse,aiOffen,-1);
iGesbomben=inputb(iGroesse);
randgen(iGroesse, iGesbomben, aiBombs);
field(aiOffen, iGroesse);
getchar();
return(0);
}
#include "header.h"
void clear(int iFeld, int paiFeld[][18], int iSet)
{
int iX, iY;
for(iX=0;iX<iFeld;iX++)
{
for(iY=0;iY<iFeld;iY++)
{
paiFeld[iX][iY]=iSet;
}
}
printf("\n");
printf("\n");
printf("erste auf null gesetzt\n");
for(iX=0;iX<iFeld;iX++)
{
for(iY=0;iY<iFeld;iY++)
{
printf("%d",paiFeld[iX][iY]);
}
printf("\n");
}
printf("\n");
}
#include "header.h"
void end(int paiOpen[][18], int iBig)
{
int iX, iY, iL, iIndexx;
char cAntwort;
iBig++;
for(iY=1;iY<iBig;iY++)
{
if(iY==1)
{
for(iIndexx=0;iIndexx<iBig;iIndexx++)
{
if(iIndexx==0)
{
printf(" ");
}
else
{
printf(" %2d ", iIndexx);
}
}
printf("\n\n");
}
for(iX=1;iX<iBig;iX++)
{
if(iX==1)
{
printf(" ");
}
printf("+---");
if(iX==iBig-1)
{
printf("+\n");
for(iL=1;iL<iBig;iL++)
{
if(iL==1)
{
printf("%2d ", iY);
}
switch(paiOpen[iX][iY])
{
case 0:
printf("| ");
break;
case -9:
printf("| \01 ");
break;
case -1:
printf("| \02 ");
break;
default:
printf("| %d ", paiOpen[iX][iY]);
break;
}
}
printf("|\n");
}
}
}
printf(" +");
for(iY=1;iY<iBig;iY++)
{
printf("---+");
}
iBig--;
printf("moechten Sie nochmal spielen? (j/n)");
scanf("%c",&cAntwort);
fflush(stdin);
if(cAntwort=='j')
{
main();
}
getchar();
}
#include "header.h"
void field(int paiOpen[][18], int iBig)
{
int iX, iY, iL, iIndexx;
iBig++;
for(iY=1;iY<iBig;iY++)
{
if(iY==1)
{
for(iIndexx=0;iIndexx<iBig;iIndexx++)
{
if(iIndexx==0)
{
printf(" ");
}
else
{
printf(" %2d ", iIndexx);
}
}
printf("\n\n");
}
for(iX=1;iX<iBig;iX++)
{
if(iX==1)
{
printf(" ");
}
printf("+---");
if(iX==iBig-1)
{
printf("+\n");
for(iL=1;iL<iBig;iL++)
{
if(iL==1)
{
printf("%2d ", iY);
}
switch(paiOpen[iX][iY])
{
case -1:
iBig--;
printf("| %d ", paiOpen[iX][iY]);
break;
case -9:
printf("| \01 ");
end(paiOpen,iBig);
break;
default:
printf("| \02 ");
break;
}
}
printf("|\n");
}
}
}
printf(" +");
for(iY=1;iY<iBig;iY++)
{
printf("---+");
}
printf("\n");
iBig--;
}
#include "header.h"
int inputb(int iGroesse)
{
int iBomb;
do
{
printf("Wie viele Bomben moechten Sie verstecken?\n");
scanf("%d",&iBomb);
fflush(stdin);
iBomb--;
if(iBomb>=(iGroesse*iGroesse))
{
printf("Bitte waehlen Sie hoechstens soviele Bomben wie Felder da sind!\n");
scanf("%d",&iBomb);
fflush(stdin);
}
}
while(iBomb>=(iGroesse*iGroesse));
return(iBomb);
}
#include "header.h"
int inputf(int *piFeld)
{
printf("wie gross soll das Feld werden?\n");
scanf("%d",piFeld);
fflush(stdin);
return(*piFeld);
}
#include "header.h"
void randgen(int iGroesse, int iAllbombs,int paiFeld)
{
int iBombs=0;
int iZeile, iSpalte;
int iX, iY;
do
{
iZeile=rand()%iGroesse;
iSpalte=rand()%iGroesse;
if(paiFeld[iZeile][iSpalte]==0)
{
paiFeld[iZeile][iSpalte]=-9;
iBombs++;
}
}
while(iBombs<=iAllbombs);
printf("bomben setzten\n\n");
for(iX=0;iX<iGroesse;iX++)
{
for(iY=0;iY<iGroesse;iY++)
{
printf("%d",paiFeld[iY][iX]);
}
printf("\n");
}
printf("\n");
}
#include "header.h"
int summe(int iGroesse, int paiFeld[][18])
{
int iX, iY, iL, iM, iSumme;
printf("\n\nWelches Feld soll aufgedeckt werden?\nBitte geben Sie die Zeilennummer ein:");
scanf("%d",&iX);
fflush(stdin);
printf("\nBitte geben Sie die Spaltennummer ein:");
scanf("%d",&iY);
fflush(stdin);
iX--;
iY--;
if(*paiFeld[iX][iY]==-1)
{
printf("Dieses Feld ist bereits aufgedeckt");
}
if(*paiFeld[iX][iY]==-2)
{
end(&paiFeld, iGroesse);
}
iSumme=0;
for(iL=-1;iL<2;iL++)
{
for(iM=-1;iM<2;iM++)
{
if((iX+iL>=0 || iY+iM>=0 || iGroesse>iX+iL || iGroesse>iY+iM) && iM!=0 && iL!=0)
{
if (paiFeld[iX+iL][iY+iM]==-9)
{
iSumme++;
printf("test:%d",iSumme)
}
}
}
}
*paiFeld[iX][iY]=iSumme;
getchar();
return(iSumme);
}
its my first programm thats why i didnt comment it...
but if you have any question tell me it.