用C语言实现扫雷游戏(三)

此次完成了扫雷游戏的显示

#include
#include
#include
#include
#include

void init_stystem();
void init_globals();
void close_system();
void draw_box(int x,int y,int w,int h,int depth);
void draw_mine_area();
void set_mines();
void test_data();
void count_mines();
void show_number(int x,int y,int num);


#define MINE_YES -1

int m_x0,m_y0,m_row,m_col,m_w,m_h;

int *m_pMines;
int m_num;

void main()
{
	init_stystem();
	draw_mine_area();
	set_mines();
	test_data();
	getch();
	close_system();
}

void init_stystem()
{
	m_row=20,m_col=30,m_w=30,m_h=30;
	m_pMines=NULL;
	m_num=50;
	init_globals();
}

void init_globals()
{
	int w,h;
	m_x0=m_w+m_w/2;
	m_y0=m_h+m_h+m_h/2;
	m_pMines=(int *)malloc(sizeof(int)*m_row*m_col);
	w=(m_w+1)*m_col+3*m_w-1;
	h=(m_h+1)*m_row+4*m_h-1;
	initgraph(w,h);
}

void close_system()
{
	closegraph();
	free(m_pMines);
}

void draw_box(int x,int y,int w,int h,int depth)
{
	int k,mdepth;
	setfillstyle(BS_SOLID);
	setfillcolor(LIGHTGRAY);
	fillrectangle(x,y,x+w,y+h);

	if(depth>=0) mdepth=depth;
	else	     mdepth=-depth;

	if(depth>=0) setcolor(WHITE);
	else         setcolor(DARKGRAY);
	for(k=0;k=0) setcolor(DARKGRAY);
	else         setcolor(WHITE);
	for(k=0;k

你可能感兴趣的:(用C语言实现扫雷游戏(三))