戻る
img[22]をクリックした場合
j=0 j=1 j=2 j=3 j=4 開いたmapが周りに地雷がなかったとき(map[num]==0のとき)
img[22]をクリックしたとき、関数 put(2,4)が実行される。
図の場合(6行5列の表にしてある)、
numにi*5+j=4*5+2=22が代入される。
op_cntに0を代入
op_cnt2 に1を代入
op_mapx[0] に2、
op_mapy[0] に4を代入
numにi*5+j=4*5+2=22が代入される。
op_map[22]に1を代入(開いている)
img[22]の画像を0.jpgにする。

map[22]は0だからopen_map2(2,4)が実行される。

map[22]の左にcheck(1,4)を実行。
map[21]は1であり、0でも99でもないので、1.jpgを表示。
map[22]の右も同様に2.jpgを表示。

map[22]の上にcheck(2,3)を実行。
map[17]は0であるから、op_mapx[1]に2、op_mapy[1]に3を代入して、op_cnt2に1を足す(2を代入)。
map[17]は99でないので、0.jpgを表示。
open_cnt=1でopen_cnt2=2であるから、breakせずに繰り返す。

open_map2(2,3)を実行。

左右上下にcheck(×,×)を実行。下は開いているので何もしない。上、左右は1.jpg、1.jpg、2.jpgを表示する。

map[22]の下にcheck(2,5)を実行。
map[27]は0であるから、op_mapx[2]に2、op_mapy[2]に5を代入して、op_cnt2に1を足す(3を代入)。
map[27]は99でないので、0.jpgを表示。open_cnt=2でopen_cnt=3であるから、breakせずに繰り返す。

open_map2(2,5)を実行。左右に1.jpg、1.jpgを表示。
open_cnt=open_cnt2=3となり、breakし、
while(1)による繰り返し終了。
j=0 img[0]
map[0]=99
img[1]
map[1]=4
img[2]
map[2]=99
img[3]
map[3]=2
img[4]
map[4]=0
j=1 img[5]
map[5]=99
img[6]
map[6]=5
img[7]
map[7]=99
img[8]
map[8]=2
img[9]
map[9]=0
j=2 img[10]
map[10]=99
img[11]
map[11]=3
img[12]
map[12]=1
img[13]
map[13]=2
img[14]
map[14]=1
j=3 img[15]
map[15]=1
img[16]
map[16]=1
img[17]
map[17]=0
img[18]
map[18]=2
img[19]
map[19]=99
j=4 img[20]
map[20]=1
img[21]
map[21]=1
img[22]
map[22]=0
img[23]
map[23]=2
img[24]
map[24]=99
j=5 img[25]
map[25]=99
img[26]
map[26]=1
img[27]
map[27]=0
img[28]
map[28]=1
img[29]
map[29]=1
j=0 j=1 j=2 j=3 j=4
j=0 img[0]
map[0]=99
img[1]
map[1]=4
img[2]
map[2]=99
img[3]
map[3]=2
img[4]
map[4]=0
j=1 img[5]
map[5]=99
img[6]
map[6]=5
img[7]
map[7]=99
img[8]
map[8]=2
img[9]
map[9]=0
j=2 img[10]
map[10]=99
img[11]
map[11]=3
img[12]
map[12]=1
img[13]
map[13]=2
img[14]
map[14]=1
j=3 img[15]
map[15]=1
img[16]
map[16]=1
img[17]
map[17]=0
img[18]
map[18]=2
img[19]
map[19]=99
j=4 img[20]
map[20]=1
img[21]
map[21]=1
img[22]
map[22]=0
img[23]
map[23]=2
img[24]
map[24]=99
j=5 img[25]
map[25]=99
img[26]
map[26]=1
img[27]
map[27]=0
img[28]
map[28]=1
img[29]
map[29]=1

戻る