Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   Please read this code and fix the bug.HELP needed URGENTLY!! (http://www.go4expert.com/forums/read-code-fix-bughelp-urgently-t26072/)

jose_peeterson 15Jun2011 21:58

Please read this code and fix the bug.HELP needed URGENTLY!!
 
hi i tried making the mineweeper game for my project.it does not seem to work. i dont know the bug inside.please some one read it and fix it for me please

sorry its quite big please help.
please try compile and then debug. the problem is with the rand_mines() function i think, and i cannot print the 2d array because i get this warning.pointer to integer without cast, please help me in need it fast. i am a newbie....

Code:

#include<stdio.h>  // interger to pointer without cast PROBLEM....
#include<stdlib.h>

void welcome();
void rand_mines(int msweep[12][12]);
void printmatrix(int a[11][11],int r);
int process(int msweep[12][12],int r,int c);

int main()

{

int msweep[12][12] = {{0}};     
int i,r,c; 

 welcome(); 
   
 rand_mines(msweep); 

// printmatrix(msweep,11);  // note grid from 1 to 11 
 
  printf("Enter you location on the minefield x,y\n");
  scanf("%d%d",&r,&c);

  i = process(msweep,r,c);
 
   
  while(i)   
  {
    printf("Lucky BRAT, live on for another step\n");     
    printf("enter next move ... ");
    scanf("%d%d",&r,&c);
 
   
    i = process(msweep,r,c);   
 
  printf(" %d Surrounding MINEs\n",msweep[r][c]);
   
  } 

  if(i=0)
  printf("Game OVER, ta ta. you stepped on a MINE !!\n");

return 0;   
   
}

void welcome()
{

char op;

 printf("Welcome to MINESWEEPER in C >>.....\n");

 printf("Enter <<\n");
 printf("        i for instructions\n");
 printf("        e to enter game\n");
 scanf("%c",&op);

 if(op == 'i')
  {
  printf("OH DEAR, what a shock you are unfortunatly in the midst of a "); printf("mine field.\n");   
  printf("Enter the coordinates of the x and y plane between 0 to 9\n"); 
  printf("Are you destined to DIE or live ?\n");
  printf("HA ha ha huh, GOOD LUCK\n");
 
  }
else
 return;   
}

void rand_mines(int msweep[12][12])

{
   
int r,c,m;

 //srand(12); 
 
 for(m=0;m<20;m++)
  {
  r = rand() % 11;   
    if(r = 0) 
      r = 10;

  c = rand() % 11;
    if(c == 0)
      c = 2;
 
  msweep[r][c] = 9;
  printf("%d %d \n",r,c);
  } 
   
return;

}

void printmatrix(int a[][11],int r)
{
   
int i,j;   
 
 for(i=1;i<r;i++)
  {
  for(j=1;j<11;j++)   
    {
    printf("%d ",a[i][j]);   
    }
  printf("\n"); 
 
  }

return;   
}

int process(int msweep[12][12],int r,int c)
{
   
 int i,j,b=0;   
   
 if(msweep[r][c] == 9) 
  return 0;
 else
  {
  if(msweep[i-1][j-1] == 9)   
    b++; 
  if(msweep[i-1][j] == 9)   
    b++; 
  if(msweep[i-1][j+1] == 9)   
    b++; 
  if(msweep[i][j-1] == 9)   
    b++; 
  if(msweep[i][j+1] == 9)   
    b++; 
  if(msweep[i+1][j-1] == 9)   
    b++; 
  if(msweep[i+1][j] == 9)   
    b++; 
  if(msweep[i+1][j+1] == 9)   
    b++; 
 
  msweep[r][c] = b;
  }
   
 return 1; 
   
}


xpi0t0s 16Jun2011 12:26

Re: Please read this code and fix the bug.HELP needed URGENTLY!!
 
Could you explain how your process() function is meant to work?

jose_peeterson 18Jun2011 11:48

Re: Please read this code and fix the bug.HELP needed URGENTLY!!
 
Thanks mr xpi0t0s, for seeing my code
i have finished the game already.
please take a look and give me some comments
the source code is a bit messy but i put in lot of comments
you can view this game under thread name simple minesweeper game in c.
take care


All times are GMT +5.5. The time now is 10:04.