From d5e0b24f01bdc015729223a96ce603d4886a25ad Mon Sep 17 00:00:00 2001 From: nick black Date: Wed, 25 Mar 2020 21:52:23 -0400 Subject: [PATCH] Tetris: PieceStuck() learns of lower halves --- src/tetris/newpiece.h | 2 +- src/tetris/stuck.h | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/tetris/newpiece.h b/src/tetris/newpiece.h index 471a320ee..3b3a8e929 100644 --- a/src/tetris/newpiece.h +++ b/src/tetris/newpiece.h @@ -18,7 +18,7 @@ std::unique_ptr NewPiece() { const size_t cols = strlen(t->texture); int y, x; stdplane_->get_dim(&y, &x); - const int xoff = x / 2 - BOARD_WIDTH + (random() % BOARD_WIDTH - 1); + const int xoff = x / 2 - BOARD_WIDTH + random() % BOARD_WIDTH; std::unique_ptr n = std::make_unique(2, cols, board_top_y_ - 1, xoff, nullptr); if(n){ uint64_t channels = 0; diff --git a/src/tetris/stuck.h b/src/tetris/stuck.h index f8f35da81..0b47d6515 100644 --- a/src/tetris/stuck.h +++ b/src/tetris/stuck.h @@ -12,8 +12,12 @@ bool PieceStuck() { if(board_->get_at(cmpy, cmpx, &c) < 0){ throw TetrisNotcursesErr("get_at()"); } - if(c.get().gcluster && c.get().gcluster != ' '){ - return true; + if(c.get().gcluster){ + if(c.get().gcluster != ' '){ + if(strcmp(board_->get_extended_gcluster(c), "▄")){ + return true; + } + } } } }