Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- //the format dun touch cos is directly from codeblocks, seem ok to me for now
- //i change space back to int so case 2 easier
- //putting in all the variables needed for the entire code
- int row,column,finalscore,count1,count2,r,c,c1,c2,selection;
- int space[6][6]={{0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0},{0,0,0,0,0,0}};
- int mines=0;
- int score=0;
- char returnmain;
- char blank[6][6]={{'x','x','x','x','x','x'},{'x','x','x','x','x','x'},{'x','x','x','x','x','x'},{'x','x','x','x','x','x'},{'x','x','x','x','x','x'},{'x','x','x','x','x','x'}};
- char mainmenu ='y';
- while(mainmenu=='Y'||mainmenu=='y')//looping so it returns to main menu after each selection
- {
- printf("*********************************************************\n");
- printf("* Minesweeper *\n");
- printf("*********************************************************\n");
- printf(" Main Menu:\n");//options
- printf(" 1. Position mines\n");
- printf(" 2. Clear minefields\n");
- printf(" 3. Calculate score\n");
- printf(" 4. Quit\n");
- printf("********************************************************\n");
- printf("Select your option:");//requesting for option
- scanf("%d",&selection);
- switch (selection)//runs code for selected option
- {
- case 1:
- //case1 set mines
- {
- mainmenu='n';
- printf("********************************************************\n");
- printf("* Position Mines *\n");
- printf("********************************************************\n");
- printf("\t 0 1 2 3 4 5");
- printf("\n\t-------------------------\n");
- for(count1=0;count1<6;count1++)
- {
- printf(" %d\t",count1);
- for(count2=0;count2<6;count2++)
- {
- if(space[count1][count2]==9) //here u see, i put
- {
- printf("| * ");
- }
- else{
- printf("| %d ",space[count1][count2]); //input the design
- }
- }
- printf("|\n\t-------------------------\n");
- }
- while((mainmenu=='N') || (mainmenu=='n'))
- {
- printf("Enter row and column position to toggle mine : ");
- scanf("%d %d",&row,&column);
- if((space[row][column]==9)&&(row<6)&&(column<6)) //to clear mines
- {
- space[row][column]=0;
- mines=mines-1; //let us keep track/user friendliness idk necessary or not
- }
- else if((space[row][column]==0)&&(row<6)&&(column<6))
- {
- space[row][column]=9; //cos it maximum only 8 when fully surrounded
- mines=mines+1; //let us keep track/user friendliness idk necessary or not
- }
- else//in case error value
- {
- printf("wrong code bro ");
- }
- printf("No of mines left = %d\n",mines);
- printf("\t 0 1 2 3 4 5");
- printf("\n\t-------------------------\n");
- for(count1=0;count1<6;count1++)
- {
- printf(" %d\t",count1);
- for(count2=0;count2<6;count2++)
- {
- if(space[count1][count2]>=9) //here u see, i put
- {
- printf("| * ");
- }
- else{
- printf("| %d ",space[count1][count2]); //input the design
- }
- }
- printf("|\n\t-------------------------\n");
- }
- //after 1positioning done
- printf("\n*********************************************************\n");
- printf("\nDo you want to start your game?(Y/N) ");
- printf("\n*********************************************************\n");
- scanf(" %c",&mainmenu);
- }
- //mapping
- for(count1=0;count1<6;count1++)
- {
- switch(count1)
- {
- case 0:
- {
- for(count2=0;count2<6;count2++)
- {
- switch(count2)
- {
- case 0:
- {
- if(space[count1][count2+1]>=9) //right
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1+1][count2]>=9) //down
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1+1][count2+1]>=9) //down right
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- break;
- }
- case 1:
- case 2:
- case 3:
- case 4:
- {
- if(space [count1][count2-1]>=9) //left
- {
- space[count1][count2]= space[count1][count2]+1;
- }
- if(space[count1+1][count2-1]>=9) //down left
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1][count2+1]>=9) //right
- {
- space[count1][count2]= space[count1][count2]+1;
- }
- if(space[count1+1][count2+1]>=9) //down right
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- break;
- }
- case 5:
- {
- if(space[count1][count2-1]>=9) //left
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1+1][count2]>=9) //down
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1+1][count2-1]>=9) //down left
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- break;
- } //just the top row only
- default:
- {
- printf("error count1=0 default");
- } //for count1=0
- }
- }
- }
- case 1:
- case 2:
- case 3:
- case 4:
- {
- for(count2=0;count2<6;count2++)
- {
- switch(count2)
- {
- case 0:
- {
- if(space[count1][count2+1]>=9) //right
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1-1][count2]>=9) //up
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1-1][count2+1]>=9) //up right
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1+1][count2+1]>=9) //down right
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1+1][count2]>=9) //down
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- break;
- }
- case 1:
- case 2:
- case 3:
- case 4:
- {
- if(space[count1-1][count2-1]>=9) //top left
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1-1][count2]>=9) //top
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1-1][count2+1]>=9) //top right
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1][count2-1]>=9) //left
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1][count2+1]>=9) //right
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1+1][count2-1]>=9) //down left
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1+1][count2]>=9) //down
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1+1][count2+1]>=9) //down right
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- break;
- }
- case 5:
- {
- if(space[count1][count2-1]>=9) //left
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1+1][count2]>=9) //down
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1+1][count2-1]>=9) //down left
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1-1][count2]>=9) //top
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1-1][count2+1]>=9)//top righ
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- break;
- }
- default:
- {
- printf("error in coding at mapping");
- }
- }
- }
- break;
- }
- case 5:
- {
- for(count2=0;count2<6;count2++)
- {
- switch(count2)
- {
- case 0:
- {
- if(space[count1][count2+1]>=9) //right
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1-1][count2]>=9) //up
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1-1][count2+1]>=9) //up right
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- break;
- }
- case 1:
- case 2:
- case 3:
- case 4:
- {
- if(space [count1][count2-1]>=9) //left
- {
- space[count1][count2]= space[count1][count2]+1;
- }
- if(space[count1][count2+1]>=9) //right
- {
- space[count1][count2]= space[count1][count2]+1;
- }
- if(space[count1-1][count2]>=9) //up
- {
- space[count1][count2]= space[count1][count2]+1;
- }
- if(space[count1-1][count2-1]>=9) //up left
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1-1][count2+1]>=9) //up right
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- break;
- }
- case 5:
- {
- if(space[count1][count2-1]>=9) //left
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1-1][count2]>=9) //up
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- if(space[count1-1][count2-1]>=9) //up left
- {
- space[count1][count2]= space[count1][count2]+1;
- } //no else
- break; //just the bottom row only
- }
- default:
- {
- printf("error count1=5 default");
- }
- } //for count1=0
- printf("\t 0 1 2 3 4 5");
- printf("\n\t-------------------------\n");
- for(count1=0;count1<6;count1++)
- {
- printf(" %d\t",count1);
- for(count2=0;count2<6;count2++)
- {
- if(space[count1][count2]>=9) //here u see, i put
- {
- printf("| * ");
- }
- else
- {
- printf("| %d ",space[count1][count2]); //input the design
- }
- }
- printf("|\n\t-------------------------\n");
- }
- }
- break;
- }
- }
- }
- }
- case 2://starts the game
- {
- mainmenu='n';
- printf("\t 0 1 2 3 4 5");
- printf("\n\t-------------------------\n");
- for(c1=0;c1<=5;c1++)
- {
- printf(" %d ",c1);
- for(c2=0;c2<=5;c2++)
- {
- printf("| %c ",blank[c1][c2]); //over here u see?
- }
- printf("|\n\t-------------------------\n");
- }
- while((mainmenu=='N') || (mainmenu=='n'))
- {
- printf("Enter row and column to clear:");
- scanf("%d %d",&r,&c);
- switch(space[r][c])
- {
- case 0:
- {
- blank[r][c]='0';
- break;
- }
- case 1:
- {
- blank[r][c]='1';
- break;
- }
- case 2:
- {
- blank[r][c]='2';
- break;
- }
- case 3:
- {
- blank[r][c]='3';
- break;
- }
- case 4:
- {
- blank[r][c]='4';
- break;
- }
- case 5:
- {
- blank[r][c]='5';
- break;
- }
- case 6:
- {
- blank[r][c]='6';
- break;
- }
- case 7:
- {
- blank[r][c]='7';
- break;
- }
- case 8:
- {
- blank[r][c]='8';
- break;
- }
- default:
- {
- blank[r][c]='*';
- }
- }
- if(blank[r][c]=='*')
- {
- printf("\t 0 1 2 3 4 5");
- printf("\n\t-------------------------\n");
- for(count1=0;count1<6;count1++)
- {
- printf(" %d\t",count1);
- for(count2=0;count2<6;count2++)
- {
- if(blank[count1][count2]=='*')
- {
- printf("| * ");
- }
- else
- {
- printf("| %c ",blank[count1][count2]); //input the design
- }
- } printf("|\n\t-------------------------\n");
- }
- printf("Oops! You just hit a mine. Game Over! :");
- printf("Press any key to continue.");
- scanf(" %c", &returnmain);
- returnmain='y';
- mainmenu=returnmain;
- mainmenu='y';
- }
- else //no hit i also think the code wrong but fk it next time we run to see the prob
- {
- printf("\t 0 1 2 3 4 5");
- printf("\n\t-------------------------\n");
- for(count1=0;count1<6;count1++)
- {
- printf(" %d\t",count1);
- for(count2=0;count2<6;count2++)
- {
- printf("| %c ", blank[count1][count2]); //input the design
- }
- printf("|\n\t-------------------------\n");
- }
- }
- }
- break;
- }
- case 3://calculates the score
- {
- if(score<=1)
- {
- printf("Try harder next time\n");
- }
- else
- {
- finalscore=(score-1)*10;
- printf("You have a total score of: %d\n",finalscore);
- }
- break;
- }
- case 4: //makes the user leave
- {
- printf("You have left the game.");
- mainmenu='n';
- break;
- }
- default ://asking user to check his selection
- {
- printf("\nYou have made an invalid selection,please choose again\n");
- mainmenu='y';
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement