程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 掃雷游戲(純C實現)(二)

掃雷游戲(純C實現)(二)

編輯:關於C語言

<1>:返回周圍地雷個數的函數
函數原型: int round_num_mines(int i,int j);

原函數見:html">http://www.BkJia.com/kf/201104/87210.html

優化後的

算法函數接口:
1.返回周圍地雷個數的函數
/*************************************************************
返回周圍地雷個數的函數
函數原型: int round_num_mines(int i,int j);
參 數: int i, int j為當前的坐標
返回值類型: int 返回該坐標處周圍的地雷數
返回值情況:(1)返回1-8代表周圍有1-8個地雷;
(2)返回0代表周圍沒有地雷;
(3)返回*代表此坐標時地雷;
**********************************************************/
//////////////////////////////////////////////////////
//
//就是搞不懂為什麼下面兩個函數不會出現數組越界情況???
//
//////////////////////////////////////////////////////
char round_num_mines(int i,int j)
{
if (map[i][j] == *)
{
return *;
}

int k = 0;
if (map[i+1][j] == *) k++;
if (map[i+1][j-1] == *) k++;
if (map[i+1][j+1] == *) k++;
if (map[i][j+1] == *) k++;
if (map[i-1][j] == *) k++;
if (map[i-1][j+1] == *) k++;
if (map[i][j-1] == *) k++;
if (map[i-1][j-1] == *) k++;
return k;
}
*/
//改進後的(書上的)代碼:
(改進算法)
(1).首先定義一個二維數組:
int
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved