From 8c92d54ff640be160e0fb0c54e2a50b18fab3a7c Mon Sep 17 00:00:00 2001 From: Christian Kroll Date: Tue, 14 Dec 2010 22:59:21 +0000 Subject: [PATCH] fixed: using wrong index at the nStartingRow array --- games/tetris/variant_bastet.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/games/tetris/variant_bastet.c b/games/tetris/variant_bastet.c index 1db3330..4396b68 100644 --- a/games/tetris/variant_bastet.c +++ b/games/tetris/variant_bastet.c @@ -78,6 +78,7 @@ void tetris_bastet_doPreprocessing(tetris_bastet_variant_t *pBastet) pBastet->pColScore[t0] > pBastet->pColScore[t1] ? pBastet->pColScore[t0] : pBastet->pColScore[t1]; } + // normalize to bucket geometry for (uint8_t i = 0; i < nWidth + 3; ++i) { @@ -255,7 +256,7 @@ int16_t tetris_bastet_evaluateMove(tetris_bastet_variant_t *pBastet, // the row where the given piece collides int8_t nDeepestRow = tetris_bucket_predictDeepestRow(pBastet->pBucket, - pPiece, pBastet->pStartingRow[nColumn], nColumn); + pPiece, pBastet->pStartingRow[nColumn + 3], nColumn); // in case the prediction fails we return the lowest possible score if (nDeepestRow == TETRIS_BUCKET_INVALIDROW) @@ -320,7 +321,6 @@ void tetris_bastet_evaluatePieces(tetris_bastet_variant_t *pBastet) for (int8_t nAngle = TETRIS_PC_ANGLE_0; nAngle < nAngleCount; ++nAngle) { tetris_piece_setAngle(pPiece, nAngle); - tetris_piece_rotate(pPiece, TETRIS_PC_ROT_CW); for (int8_t nCol = -3; nCol < nWidth; ++nCol) { int16_t nScore = tetris_bastet_evaluateMove(pBastet,