2015年07月29日
windows10ねぇ〜
ちゃんと動いてくれる事を祈ります、ソフト引き継ぎが一番心配。
出張先ではMacBookなので関係ないけど。。。
週末は。。。
土曜日:大垣ひまわりランド+花火
日曜日:ゴルフ
そして来週月曜日は出張元に出勤して会議、そこから更にこことは別の場所に出張。
火曜日から今の出張先に戻ります。(新幹線ホテル予約変更済)
お盆休み前の追い込みかな。。。着手しているお仕事はソコソコ進みました。
基本機能だけは、お休み前に片付けたいのですが。。。
さあ、今日も時間までzeburaのsolver読んでみます。
昨日の続き。。。
/*! macros to check if a move (<= 4 flips) is correct along a direction */
#define BOARD_CHECK_MOVE_4(dir) \
( square[dir] == o && \
( square[2 * dir] == p || (square[2 * dir] == o && \
( square[3 * dir] == p || (square[3 * dir] == o && \
( square[4 * dir] == p || (square[4 * dir] == o && \
square[5 * dir] == p)))))))
6個と4個返すdefineを分ける意味は???です。
読み時間短縮だとは思いますが、今後の読み込みに期待ですね。
やってる事は昨日の6個返すdefineが4個になってるだけみたい。。。
さて、次は。。。
/*! macro to count (at most 6) discs flipped along a direction */
#define BOARD_COUNT_FLIPS_6(dir) \
if (square[dir] == o) { \
if (square[2 * dir] == p) n_flips++; \
else if (square[2 * dir] == o) { \
if (square[3 * dir] == p) n_flips += 2; \
else if (square[3 * dir] == o) { \
if (square[4 * dir] == p) n_flips += 3; \
else if (square[4 * dir] == o) { \
if (square[5 * dir] == p) n_flips += 4; \
else if (square[5 * dir] == o) { \
if (square[6 * dir] == p) n_flips += 5; \
else if (square[6 * dir] == o \
&& square[7 * dir] == p) n_flips += 6; \
}}}}}
これは見たまんまですね。。。返す数のカウント、n_flipsに返す数を+しています。
さらに、次は。。。
/*! macro to count (at most 4) discs flipped along a direction */
#define BOARD_COUNT_FLIPS_4(dir) \
if (square[dir] == o) { \
if (square[2 * dir] == p) n_flips++; \
else if (square[2 * dir] == o) { \
if (square[3 * dir] == p) n_flips += 2; \
else if (square[3 * dir] == o) { \
if (square[4 * dir] == p) n_flips += 3; \
else if (square[4 * dir] == o \
&& square[5 * dir] == p) n_flips += 4; \
}}}
これは4枚の場合ですね、使い方は6枚と同じですね。。。
それからそれから。。。
*! macro to flip discs along a direction */
#define BOARD_FLIP(dir, max_flip) \
if (BOARD_CHECK_MOVE_##max_flip(dir)) { \
int z = x + (dir); \
do { \
board->square[z] = p; \
move->position[++move->n] = z; \
z += (dir); \
} while (board->square[z] == o); \
}
コマを返すdefineですね、もうちょっと見たいのですが、
出張疲れと、練習疲れ(今日も400球)があるので、
今日はこれ位で。。。