
Статьи
916 Checkerboard V1 — Codehs Fixed [better]
If you are working through the CodeHS curriculum, you’ve likely encountered the assignment. It’s a classic challenge that tests your ability to use nested loops, coordinate systems, and conditional logic.
var SQUARES_PER_SIDE = 8; var SQUARE_SIZE = getWidth() / SQUARES_PER_SIDE; function start() { for (var row = 0; row < SQUARES_PER_SIDE; row++) { for (var col = 0; col < SQUARES_PER_SIDE; col++) { drawSquare(row, col); } } } function drawSquare(row, col) { var x = col * SQUARE_SIZE; var y = row * SQUARE_SIZE; var rect = new Rectangle(SQUARE_SIZE, SQUARE_SIZE); rect.setPosition(x, y); // The "Fixed" Logic: Check if sum of indices is even if ((row + col) % 2 == 0) { rect.setColor(Color.red); } else { rect.setColor(Color.black); } add(rect); } Use code with caution. Troubleshooting Common Errors 1. The "Off-by-One" Pixel Gap 916 checkerboard v1 codehs fixed
Make sure your setPosition uses col * SQUARE_SIZE for the X-coordinate and row * SQUARE_SIZE for the Y-coordinate. Swapping these can sometimes cause the grid to render incorrectly if your canvas isn't a perfect square. 3. Infinite Loops If you are working through the CodeHS curriculum,
Here is a clean, "fixed" implementation for the CodeHS environment: javascript var SQUARE_SIZE = getWidth() / SQUARES_PER_SIDE