// 绘制视野范围内的迷宫 void Paint() { int x1, y1; // 绘制视野内的迷宫 SetWorkingImage(&g_imgSight); for (int x = g_rtSight.left; x <= g_rtSight.right; x++) for (int y = g_rtSight.top; y <= g_rtSight.bottom; y++) { x1 = (x - g_rtSight.left) * 20; y1 = (y - g_rtSight.top) * 20; putimage(x1, y1, 20, 20, &g_imgItem, GetMazeItem(x, y), 0); } // 绘制游戏者 x1 = (g_ptPlayer.x - g_rtSight.left) * 20; y1 = (g_ptPlayer.y - g_rtSight.top) * 20; putimage(x1, y1, 20, 20, &g_imgItem, MAP_PLAYER, 0); // 绘制迷你地图 SetWorkingImage(&g_imgGPS); cleardevice(); int tx = (int)((g_ptPlayer.x - 1) * g_szGPS.cx / (double)(g_szMap.cx - 1) + 0.5); int ty = (int)((g_ptPlayer.y - 1) * g_szGPS.cy / (double)(g_szMap.cy - 1) + 0.5); setlinecolor(YELLOW); circle(tx, ty, 1); // 更新到绘图窗口 SetWorkingImage(); putimage(150, 110, 340, 260, &g_imgSight, 10, 10); putimage(g_ptGPS.x, g_ptGPS.y, &g_imgGPS); }
时间: 2024-02-16 11:01:09 浏览: 141
canvas绘制迷宫
这段代码是用来绘制一个迷宫游戏中的视野范围内的迷宫、游戏者、以及迷你地图的。其中,迷宫的每个单元格大小为20x20像素,游戏者在视野中的位置为(g_ptPlayer.x, g_ptPlayer.y),迷宫中的物品是从g_imgItem中获取的,迷你地图的位置在(g_ptGPS.x, g_ptGPS.y)处。绘制迷你地图时,将游戏地图的大小映射到迷你地图上,以便玩家可以更好地了解自己在游戏中的位置。
阅读全文