* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * $Id: board.c,v 1.15 1999/05/16 06:56:24 mhw Exp $
*/
#include "netris.h"
for (y = Players[scr].boardVisible - 1; y >= 0; y--)
if ((c = changed[scr][y])) { //line changed
for (x = 0; c; (c >>= 1), x++)
- if ((c & 1) && board[scr][y][x] != oldBoard[scr][y][x]) {
+ if (c & 1 && board[scr][y][x] != oldBoard[scr][y][x]) {
PlotBlock(scr, y, x, board[scr][y][x]);
oldBoard[scr][y][x] = board[scr][y][x];
}
if (!Game.gravity) return 0;
for (y = Players[scr].boardHeight - 1; y > 0; y--)
for (x = 0; x < Players[scr].boardWidth; x++) {
- if (((z = GetBlock(scr, y, x)) > BT_none) && ((z & 160) == 0)) {
+ if ((z = GetBlock(scr, y, x)) > BT_none && (z & 160) == 0) {
//doesn't stick left/up => topleft block
if (BlockFree(scr, x, y, 240)) {
BlockFall(scr, x, y, 240);
while (LineIsFull(scr, from)) {
from++; //skip
for (x = 0; x<Players[scr].boardWidth; x++) {
- SetBlock(scr, from, x, GetBlock(scr, from, x)&239);
+ SetBlock(scr, from, x, GetBlock(scr, from, x) & 239);
if (from > 1)
- SetBlock(scr, from-2, x, GetBlock(scr, from-2, x)&223);
+ SetBlock(scr, from-2, x, GetBlock(scr, from-2, x) & 223);
} //don't stick blocks to line which we'll remove
} //full lines
CopyLine(scr, from++, to++);
CopyLine(scr, y, y + count);
for (y = 0; y < count; ++y)
for (x = 0; x < Players[scr].boardWidth; ++x)
- SetBlock(scr, y, x, (x == column) ? BT_none : color + 1
+ SetBlock(scr, y, x, x == column ? BT_none : color + 1
+ 64 * (x != column-1 && x < Players[scr].boardWidth-1)
+ 128 * (x != column+1 && x > 0));
Players[scr].curY += count; //move piece up..