C語言實現掃雷遊戲簡易版
阿新 • • 發佈:2020-11-30
本文例項為大家分享了C語言實現掃雷遊戲的簡易版,供大家參考,具體內容如下
game.h
#pragma once #include <stdio.h> #include <string.h> #include <time.h> #include <windows.h> #define ROW 12 #define COL 12 #define NUMS 20 #pragma warning(disable:4996) void Menu(); void Game();
game.c
#include "game.h" void Menu() { printf("###########################\n"); printf("## 1.Play 2. Exit ##\n"); printf("###########################\n"); printf("請輸入# "); } void SetMines(char board[][COL],int row,int col) { int num = NUMS; while (num) { int x = rand() % 10 + 1; int y = rand() % 10 + 1; if (board[x][y] == '0') { board[x][y] = '1'; num--; } } } int GetNums(char board[][COL],int col,int x,int y) { return board[x - 1][y - 1] + board[x - 1][y] + \ board[x - 1][y + 1] + board[x][y + 1] + \ board[x + 1][y + 1] + board[x + 1][y] + \ board[x + 1][y - 1] + board[x][y - 1] - 8 * '0'; } void ShowBoard(char board[][COL],int col) { printf(" "); for (int i = 1; i < col - 1; i++) { printf(" %2d ",i); } printf("\n"); printf("-------------------------------------------\n"); for (int i = 1; i < row - 1; i++) { printf("%2d|",i); for (int j = 1; j < col - 1; j++) { printf(" %c |",board[i][j]); } printf("\n"); printf("-------------------------------------------\n"); } } void Game() { system("cls"); srand((unsigned long)time(NULL)); char show_board[ROW][COL]; char mine_board[ROW][COL]; memset(show_board,'*',sizeof(show_board)); memset(mine_board,'0',sizeof(mine_board)); SetMines(mine_board,ROW,COL); int count = (ROW - 2) * (COL - 2) - NUMS; int x = 0; int y = 0; do { ShowBoard(show_board,COL); printf("請輸入座標# "); scanf("%d %d",&x,&y); if (x < 1 || x > ROW - 2 || y < 1 || y > COL - 2) { printf("輸入位置越界,請重新輸入!\n"); continue; } if (show_board[x][y] != '*') { printf("該位置已經被排除!\n"); continue; } if (mine_board[x][y] == '1') { break; } int num = GetNums(mine_board,COL,x,y); show_board[x][y] = num + '0'; count--; system("cls"); } while (count > 0); if (count > 0) { printf("你被炸死了!\n"); ShowBoard(mine_board,COL); } else { printf("恭喜,你通過遊戲!\n"); } }
main.c
#include "game.h" void Menu() { printf("###########################\n"); printf("## 1.Play 2. Exit ##\n"); printf("###########################\n"); printf("請輸入# "); } void SetMines(char board[][COL],COL); } else { printf("恭喜,你通過遊戲!\n"); } }
更多有趣的經典小遊戲實現專題,分享給大家:
C++經典小遊戲彙總
python經典小遊戲彙總
python俄羅斯方塊遊戲集合
JavaScript經典遊戲 玩不停
java經典小遊戲彙總
javascript經典小遊戲彙總
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。