- r2 = sq->file->row;
- c2 = sq->file->col;
- sq->file->dir = dir[l];
- sq->file->row = row[l];
- sq->file->col = col[l];
- if (snagged2(sp, sq)
- && push(sp, sq) && range(sp, sq) > 1) {
- Write(W_SHIPROW, sq, 0,
- sp->file->row - 1, 0, 0, 0);
- if (sp->file->dir == 1
- || sp->file->dir == 5) /* XXX */
- Write(W_SHIPCOL, sq, 0,
- sp->file->col - 1,
- 0, 0, 0);
- else
- Write(W_SHIPCOL, sq, 0,
- sp->file->col, 0, 0, 0);
- Write(W_SHIPDIR, sq, 0,
- sp->file->dir, 0, 0, 0);
- }
- if (!range(sp, sq) && !fouled2(sp, sq)
- && push(sp, sq)) {
+ if (!push(sp, sq))
+ goto cont2;
+ if (snagged2(sp, sq) && range(sp, sq) > 1)
+ snap++;
+ if (!range(sp, sq) && !fouled2(sp, sq)) {