您的位置:首页 > 编程语言 > C语言/C++

C语言实现扫雷游戏

2017-10-06 00:08 696 查看
#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#include<windows.h>

char map[10][10]={
{'k','1','2','3','4','5','6','7','8','9'},
{'1','n','o','p','o','n','n','n','n','n'},
{'2','n','o','o','o','n','o','o','o','n'},
{'3','n','n','n','o','o','T','p','o','n'},
{'4','n','o','o','T','p','T','o','o','n'},
{'5','n','o','p','T','o','o','n','o','o'},
{'6','n','o','o','o','n','o','T','e','p'},
{'7','n','n','n','n','n','o','p','p','T'},
{'8','o','o','o','o','o','T','T','e','T'},
{'9','o','p','o','o','p','o','n','o','p'}

};

//初始化地图

void Initmap()

{   
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
switch(map[i][j])
{
case 'p':printf("■");break;
case 'n':printf("■");break;
case 'o':printf("■");break;
case 'T':printf("■");break;
case 'e':printf("■");break;
default: printf("%c ",map[i][j]); 
}
if(j==9) printf("\n");
}
}

}

//画地图

void drawmap()

{
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
switch(map[i][j])
{
case 'j':printf("  ");break;
case 'r':printf("1 ");break;
case 's':printf("2 ");break;
case 'q':printf("3 ");break;
case 'p':printf("■");break;
case 'n':printf("■");break;
case 'o':printf("■");break;
case 'T':printf("■");break;
case 'e':printf("■");break;
default:printf("%c ",map[i][j]);break;
}
if(j==9) printf("\n");
}
}

}

//游戏判断

void judge(int m,int n)

{
switch(map[m]
)
{
case 'n':map[m]
='j';break;
case 'o':map[m]
='r';break;
case 'T':map[m]
='s';break;
case 'e':map[m]
='q';break;
}

}

//打印游戏失败界面

void lostgame()

{

    puts("k 1 2 3 4 5 6 7 8 9");

    puts("1 □□□□□□□□□");

    puts("2 □□□□□□□□□");

    puts("3 □□□□□□□□□");

    puts("4 □□□□□□□□□");

    puts("5 □□Game Over!□□");

    puts("6 □□□□□□□□□");

    puts("7 □□□□□□□□□");

    puts("8 □□□□□□□□□");

    puts("9 □□□□□□□□□");



//玩游戏

void main()

{

       system("title 扫雷游戏V-1.0");//设置标题

       system("mode con cols=32 lines=18");

        HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

        system("color 18");
char a,b;
int m,n;
Initmap();
while(1)
{
 a=getch();
 b=getch();

          m=(int)(a-'0');
 n=(int)(b-'0');
 system("CLS");
 if(map[m]
=='p') {lostgame();break;}
 judge(m,n);
 drawmap();
}
getche();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: