C言語コードに基づいて掃海ゲームを実現します。


本論文の実例はC言語による掃海ゲームの具体的なコードを共有しています。参考にしてください。具体的な内容は以下の通りです。
機雷除去(初めてのマルチファイル応用)
機雷除去の考え方

game.h

#ifndef _GAME_H_
#define _GAME_H_
#include<stdio.h>
#include <time.h>
#include<string.h>
#include<windows.h>
#pragma warning(disable:4996)
#define ROW 12
#define COL 12
//  20  
#define NUMS 20
void Menu();
void Game();

#endif
メール.

#include "game.h"

int main(){
 int quit = 0;
 int select = 0;
 while (!quit){
 Menu();
 scanf("%d", &select);
 switch (select){
 case 1:
 Game();
 break;
 case 2:
  quit = 1;
 break;
 default:
 printf("     ");
 break;
 }
 
 }
 system("pause");
 return 0;
}
game.c

#include "game.h"

void Menu()
{
 printf("##########################
"); printf("## 1. Play 2. Exit ##
"); printf("##########################
"); printf(" # "); } // 20 void SetMines(char mine_board[][COL], int row, int col) { int count = NUMS; while (count){ int x = rand() % 10 + 1; int y = rand() % 10 + 1; if (mine_board[x][y] == '0'){ mine_board[x][y] = '1'; count--; } } } // int GetMines(char mine[][COL], int row, int col, int x, int y) { return mine[x - 1][y - 1] + mine[x - 1][y] + mine[x - 1][y + 1] + \ mine[x][y - 1] + mine[x][y + 1] + mine[x + 1][y - 1] + \ mine[x + 1][y] + mine[x + 1][y + 1] - 8 * '0'; } // static void ShowLine(int nums) { printf("---"); for (int i = 0; i < nums; i++){ printf("-"); } printf("
"); } // , , void ShowBoard(char show_board[][COL], int row, int col) { printf(" "); for (int i = 1; i < row - 1; i++){ printf(" %d ", i); } printf("
"); ShowLine(2 * col + col + 4); for (int i = 1; i < row - 1; i++){ printf("%2d|", i); for (int j = 1; j < col - 1; j++){ printf(" %c |", show_board[i][j]); } printf("
"); ShowLine(2 * col + col + 4); } } void Game() { char show_board[ROW][COL]; char mine_board[ROW][COL]; memset(show_board, '*', sizeof(show_board)); memset(mine_board, '0', sizeof(mine_board)); srand((unsigned long)time(NULL)); SetMines(mine_board, ROW, COL); int count = (ROW - 2)*(COL - 2) - NUMS; int x = 0; int y = 0; do{ ShowBoard(show_board, ROW, COL); printf(" # "); scanf("%d %d", &x, &y); if (x < 1 || x > 10 || y < 1 || y >10){ printf(" , !
"); continue; } if (show_board[x][y] != '*'){ printf(" , !
"); continue; } if (mine_board[x][y] == '1'){ break; } int num = GetMines(mine_board, ROW, COL, x, y); show_board[x][y] = num + '0'; count--; system("cls"); } while (count > 0); //count>0 ,break if (count > 0){ printf(" !
"); } else{ printf(" !
"); } printf(" !
"); ShowBoard(mine_board, ROW, COL); }
もっと面白い経典ミニゲームはテーマを実現して、みんなに共有します。
C++クラシックミニゲームまとめ
pythonクラシックミニゲームまとめ
pythonテトリスゲーム集合
JavaScript経典ゲームは遊んで止まらないです。
java経典の小さいゲームのまとめ
javascript経典ミニゲームのまとめ
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。