要するに全部配列使ってやればいいんでしょ

int takara[SIZE][SIZE];/*宝が入ってれば1 無ければ0*/
int hide[SIZE][SIZE];/*既にオープンされている=1 されていない=0*/
int around[SIZE][SIZE];/*周囲の宝の数*/

もう出来たも同然