Yz_Website 2021-12-05 01:42 采纳率: 0%
浏览 39

C语言贪吃蛇easyx中绘画了墙之后蛇无法出现

是这样子的 ,在我执行完下面这段代码创建了墙壁之后,

void Gamewall() {
    setfillcolor(YELLOW);//填充边框的颜色
    HRGN rgn = CreateRectRgn(10, 470, 800, 480);//创建一块矩形区域
    setcliprgn(rgn);//矩形区域剪裁
    DeleteObject(rgn);//不要占用系统内存
    solidrectangle(10, 470, 800, 480);//实心的矩形区域
    HRGN rgn3 = CreateRectRgn(10, 0, 800, 10);//创建一块矩形区域
    setcliprgn(rgn3);//矩形区域剪裁
    DeleteObject(rgn3);//不要占用系统内存
    solidrectangle(10, 0, 800, 10);//实心的矩形区域
    HRGN rgn2 = CreateRectRgn(0, 0, 10, 480);//创建一块矩形区域
    setcliprgn(rgn2);//矩形区域剪裁
    DeleteObject(rgn2);//不要占用系统内存
    solidrectangle(0, 0, 10, 480);//实心的矩形区域
    HRGN rgn1 = CreateRectRgn(790, 0, 800, 480);//创建一块矩形区域
    setcliprgn(rgn1);//矩形区域剪裁
    DeleteObject(rgn1);//不要占用系统内存
    solidrectangle(790, 0, 800, 480);//实心的矩形区域
}

我又执行了下面这一段代码,但是下面这段代码中蛇的图一直无法画出,如果我把上面的那一段画墙壁的注释掉,又能画出蛇。找不到原因。能不能问一下是哪里出问题了?

void snakedraw() {
    setbkcolor(RGB(126, 128, 133));
    for (int i = 0; i < snake.size; i++) {
        if (i == 0) {
            setfillcolor(RED);//把蛇头画红色,便于观看
            solidcircle(snake.loc[i].x, snake.loc[i].y, 5);
        }
        else {
            setfillcolor(GREEN); solidcircle(snake.loc[i].x, snake.loc[i].y, 5);//蛇身画成绿色
        }
    }
}

  • 写回答

2条回答 默认 最新

  • 关注

    会不会是蛇的颜色与背景颜色相同了呢?

    评论

报告相同问题?

问题事件

  • 创建了问题 12月5日

悬赏问题

  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬
  • ¥15 滑块验证码拖动问题悬赏