消消乐(C语言版)

来源:互联网 发布:淘宝满减怎么免费设置 编辑:程序博客网 时间:2024/05/16 02:10

消消乐,游戏规则很简单,点击的位置颜色相连的区域抵消。


实现思路:从点击位置开始深搜(递归),记录搜索的坐标并抵消。

贴上关键代码:

map数组保存每个点的颜色,state保存是否搜索过

//判断当前点是否满足条件,并且未搜索过 int isValid(int x, int y){    if (x < 0 || x >= row || y < 0 || y >= col || state[x][y])    return 0;    return 1;}//递归深搜 void find_dfs(int x, int y,int color){    if (!isValid(x, y))    return;    if (map[x][y] != color)    return;    state[x][y] = true;    count++;    find_dfs(x+1,y,color);    find_dfs(x-1,y,color);    find_dfs(x,y+1,color);    find_dfs(x,y-1,color);}





原创粉丝点击