可能是因为在绘制黑色方格边框时,循环的范围是 WIDTH/GRID_SIZE,而实际上应该是 (WIDTH-2*GRID_SIZE)/GRID_SIZE+1,因为边框占用了两个格子的宽度和高度,而且要加上最外层的边框线。修改代码如下:

// 绘制黑色方格边框
g.setColor(Color.black);
for (int i = 0; i <= (WIDTH-2*GRID_SIZE) / GRID_SIZE; i++) {
    g.fillRect(i*GRID_SIZE+GRID_SIZE,GRID_SIZE,GRID_SIZE,GRID_SIZE);
    g.fillRect(i*GRID_SIZE+GRID_SIZE,GRID_SIZE*18,GRID_SIZE,GRID_SIZE);
    g.fillRect(GRID_SIZE,i*GRID_SIZE+GRID_SIZE,GRID_SIZE,GRID_SIZE);
    g.fillRect(GRID_SIZE*18,i*GRID_SIZE+GRID_SIZE,GRID_SIZE,GRID_SIZE);
}
``
为什么我的这段代码蛇的第二个区域会显示空白并且蛇头的大小刚好是一个方格的大小package game;import javaxsoundsampled;import javaxswing;import javaawt;import javaawteventKeyEvent;import javaawteventKeyListener;import javaioFile;import javaioI

原文地址: https://www.cveoy.top/t/topic/fK9m 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录