Untitled
unknown
c_cpp
4 years ago
3.0 kB
6
Indexable
#include <stdio.h> #include <stdlib.h> // Possible square states. #define VISIBLE_SAFE 0 #define HIDDEN_SAFE 1 #define HIDDEN_MINE 2 // The size of the starting grid. #define SIZE 8 // The possible command codes. #define DETECT_ROW 1 #define DETECT_SQUARE 2 #define REVEAL_CROSS 3 #define GAME_MODE 4 #define FLAG_MINE 5 #define DEFUSE 6 // Add any extra #defines here. void initialise_field(int minefield[SIZE][SIZE]); void print_debug_minefield(int minefield[SIZE][SIZE]); // Place your function prototyes here. int main(void) { int minefield[SIZE][SIZE]; int mine_num; initialise_field(minefield); printf("Welcome to minesweeper!\n"); printf("How many mines? "); scanf("%d", &mine_num); // TODO: Scan in the number of pairs of mines. printf("Enter pairs:\n"); for(int i=0;i<mine_num;i++){ int a,b; scanf("%d %d",&a,&b); if (a > SIZE-1 || b > SIZE-1) continue; minefield[a][b] = HIDDEN_MINE; } // TODO: Scan in the pairs of mines and place them on the grid. printf("Game Started\n"); print_debug_minefield(minefield); while(1){ int command; scanf("%d",&command); if(command==1){ //Command 1 code here } else if(command==2){ //command 2 code here int r,c,s; int count = 0; scanf("%d %d %d",&r,&c,&s); for(int i=s/2;i<=(r+(s/2));i++){ for(int j=s/2;j<=(c+(s/2));j++){ printf("%d %d",i,j); if(minefield[i][j]==HIDDEN_MINE){ count++; } } } printf("%d",count); } else if(command==3){ //command 3 code here } else if(command==4){ //command 4 code here } else if(command==5){ //command 5 code here } else if(command==6){ //command 6 code here } } // TODO: Scan in commands to play the game until the game ends. // A game ends when the player wins, loses, or enters EOF (Ctrl+D). // You should display the minefield after each command has been processed. return 0; } // Set the entire minefield to HIDDEN_SAFE. void initialise_field(int minefield[SIZE][SIZE]) { int i = 0; while (i < SIZE) { int j = 0; while (j < SIZE) { minefield[i][j] = HIDDEN_SAFE; j++; } i++; } } // Print out the actual values of the minefield. void print_debug_minefield(int minefield[SIZE][SIZE]) { int i = 0; while (i < SIZE) { int j = 0; while (j < SIZE) { printf("%d ", minefield[i][j]); j++; } printf("\n"); i++; } }
Editor is loading...