鱼C论坛

 找回密码
 立即注册
查看: 1130|回复: 4

[已解决]easyx小程序如何debug

[复制链接]
发表于 2021-12-22 12:06:04 | 显示全部楼层 |阅读模式
20鱼币
问题描述:
本人小白,刚开始写程序的时候都是一些简单的问题,debug时可以看到每一步进行完之后的各个变量的值的情况及变化(如图,之前的debug);但是刚开始使用easyx以后发现程序可以运行,但是debug的时候看不到各个变量的情况(如图,debug区中什么都没有,没有变量的变化情况)。请问这种情况下(easyx程序)如果出现错误怎么能知道是哪里错了?
最佳答案
2021-12-22 12:06:05
Buryool 发表于 2021-12-22 12:08
需要看代码的话可以看一下2楼~

vs的那个自动窗口只显示和当前要执行的语句有关的变量
试试这个代码,在第244行下断点,看看是不是在自动窗口中显示map、a、b、flag
要查看和当前要执行的语句没有关联的变量,你需要手动添加这个变量,好像是添加到 观察窗口
好久没有用vs了,不知道它现在的这个窗口叫什么名字
你找一下吧
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//#include <easyx.h>
#include <graphics.h>//使得
#include <mmsystem.h>//多媒体(本程序是加载音乐)相关头文件
#pragma comment(lib,"winmm.lib")//加载静态库(需要以后补充,目前还不知道。。。)

//#define _CRT_SECURE_NO_WARNINGS//注意这句一定要定义到最上面,否则不能用sprintf()函数
#define ROW 10//定义行、列
#define COL 10
#define numOfBoom 10
#define SIZE 50//图片宽度

int map[ROW][COL];//全局变量自动初始化为0
//定义图片数组,保存图片
IMAGE img[12];

//游戏胜利与否
int flag;

//打印底层数据内核
void show() {
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        printf("%2d    ", map[i][j]);
                }

                putchar('\n');

        }

        putchar('\n');
        putchar('\n');

        //system("cls");//清屏
}

//游戏数据初始化
void gameInit() {
        mciSendString("open ./start.mp3 alias BGM", 0, 0, 0);//背景音乐版(BGM)音效
        mciSendString("play BGM", 0, 0, 0);
        
        //设置随机数种子
        srand((unsigned)time(NULL));

        //初始化数组
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        map[i][j] = 0;
                }
        }

        //埋雷 -1表示雷
        for (int i = 0; i < numOfBoom;) {
                int r = rand() % 10;//0~9
                int c = rand() % 10;

                if (map[r][c] == 0) {//还没设置为雷
                        map[r][c] = -1;
                        i++;//每埋雷一次就加一
                }

                map[r][c] = -1;
        }

        //把以雷为中心的九宫格数据+1,雷那格除外。
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        //判断是不是雷 -1
                        if (map[i][j] == -1) {
                                //遍历雷所在的九宫格
                                for (int m = i - 1 ; m <= i + 1; m++) {
                                        for (int n = j - 1; n <= j + 1; n++) {
                                                if ((m >= 0 && m < ROW && n >= 0 && n < COL/*判断是否越界*/) && map[m][n] != -1/*判断是否是雷*/) {
                                                        map[m][n] += 1;
                                                }
                                        }
                                }
                        }
                }
        }

        //加载图片
        for (int i = 0; i < 12; i++) {
                char file[50] = "";
                sprintf(file, "./%d.jpg", i);//将对应的字符串打印到字符串数组中
                //loadimage(&img[0], file);
                loadimage(&img[i], file, SIZE, SIZE);
        }

        //加密格子
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        map[i][j] += 20;
                }
        }
        
}

//绘制界面
void gameDraw() {

        cleardevice();
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        if (map[i][j] == -1) {
                                putimage(j * SIZE, i * SIZE,&img[9]);//绘制雷
                        }
                        else if (map[i][j] >= 0 && map[i][j] <= 8) {//把其他数字一起处理0~8
                                putimage(j * SIZE, i * SIZE, &img[map[i][j]]);
                        }
                        else if (map[i][j] >= 19 && map[i][j] <= 28) {
                                putimage(j * SIZE, i * SIZE, &img[10]);
                        }
                        else if (map[i][j] > 30) {//标记
                                putimage(j * SIZE, i * SIZE, &img[11]);
                        }
                }
        }
}

void openNull(int row, int col);//声明一下,以便在下面的mouseControl()中使用
//鼠标操作
int mouseControl() {
        if (MouseHit()) {//判断有没有鼠标消息
                MOUSEMSG msg = GetMouseMsg();//鼠标所在的x,y

                int row = msg.y / SIZE;//把鼠标坐标转换成数组下标
                int col = msg.x / SIZE;
                //对鼠标消息进行分发
                switch (msg.uMsg) {
                case WM_LBUTTONDOWN://鼠标左键点击
                        if (map[row][col] > 8) {//如果没有打开就打开
                                mciSendString("close click", 0, 0, 0);
                                
                                mciSendString("open ./click.mp3 alias click", 0, 0, 0);//点击版(click)音效
                                mciSendString("play click", 0, 0, 0);
                                
                                map[row][col] -= 20;//解密
                                //解密各数字及区间代表含义:
                                //1.                  -1:雷  0: 空白  1~8:  数字  
                                //2.+=20:(盖起来)  19:雷  20:空白  21~28:数字  
                                //3.+=20:            >=30:都是旗子
                                flag++;

                                openNull(row, col);

                                
                        }
                        show();

                        break;
                case WM_RBUTTONDOWN://鼠标右键点击
                        if (map[row][col] > 8 && map[row][col] <= 28) {//如果没打开,且未被标记
                                map[row][col] += 20;
                        }
                        else if (map[row][col] > 28) {//只有没打开的才可以取消标记和标记
                                map[row][col] -= 20;
                        }
                        show();

                        break;
                }

                return map[row][col];
        }
}

//打开所有以空白为中心的九宫格
void openNull(int row, int col) {
        if (map[row][col] == 0) {//点击的是空白
                for (int m = row - 1; m <= row + 1; m++) {
                        for (int n = col - 1; n <= col + 1; n++) {
                                if ((m >= 0 && m < ROW && n >= 0 && n < COL) && 
                                        (map[m][n] == 20 || map[m][n] != 19/*不为雷(这里个人认为不用前面那个,到时候试试,因为感觉不为雷就包括了是空)*/)&&
                                        map[m][n] > 8//如果没有越界,并且为空或者数字,并且没有被点开
                                        ) {
                                        map[m][n] -= 20;

                                        flag++;

                                        openNull(m, n);
                                }
                        }
                }
        }

}

void judge() {
        if (mouseControl() == -1) {
                //结束
                
                ////看到所有炸弹位置
                //cleardevice();
                //for (int i = 0; i < ROW; i++) {
                //        for (int j = 0; j < COL; j++) {
                //                if (map[i][j] == 19 || map[i][j] == -1 || map[i][j] == 39) {
                //                        putimage(j * SIZE, i * SIZE, &img[9]);
                //                        //map[i][j] = 0;
                //                }
                //        }
                //}

                system("pause");

                int isOK = MessageBox(GetHWnd(), "你输了噢~要不要再来一次?","提示", MB_OKCANCEL);

                if (IDOK == isOK) {
                        gameInit();

                        flag = 0;
                }
                else {
                        exit(-1);
                }
        }
        if (flag == ROW * COL - numOfBoom) {
                int isOK = MessageBox(GetHWnd(), "你赢了!哦吼吼吼吼!!","提示", MB_OKCANCEL);
                
                if (IDOK == isOK) {
                        gameInit();

                        flag = 0;
                }
                else {
                        exit(-1);
                }

                mciSendString("close BGM", 0, 0, 0);
        }

        
}


int a, b;

int main() {
        initgraph(ROW * SIZE, COL * SIZE, SHOWCONSOLE);

        map[a][b] = flag;
        
        gameInit();
        
        BeginBatchDraw();//解决不断刷新时卡屏卡顿问题
        while (1) {
                //show();
                gameDraw();
                FlushBatchDraw();//配合BeginBatchDraw()函数,在画图函数之后调用

                /*mouseControl();*/
                judge();
        }
        EndBatchDraw();//和FlushBatchDraw()函数作用基本一样,但是没有它好用一点。



        getchar();
        return 0;
}

目前debug截图

目前debug截图

之前debug截图

之前debug截图

最佳答案

查看完整内容

vs的那个自动窗口只显示和当前要执行的语句有关的变量 试试这个代码,在第244行下断点,看看是不是在自动窗口中显示map、a、b、flag 要查看和当前要执行的语句没有关联的变量,你需要手动添加这个变量,好像是添加到 观察窗口 好久没有用vs了,不知道它现在的这个窗口叫什么名字 你找一下吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-22 12:06:05 | 显示全部楼层    本楼为最佳答案   
Buryool 发表于 2021-12-22 12:08
需要看代码的话可以看一下2楼~

vs的那个自动窗口只显示和当前要执行的语句有关的变量
试试这个代码,在第244行下断点,看看是不是在自动窗口中显示map、a、b、flag
要查看和当前要执行的语句没有关联的变量,你需要手动添加这个变量,好像是添加到 观察窗口
好久没有用vs了,不知道它现在的这个窗口叫什么名字
你找一下吧
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//#include <easyx.h>
#include <graphics.h>//使得
#include <mmsystem.h>//多媒体(本程序是加载音乐)相关头文件
#pragma comment(lib,"winmm.lib")//加载静态库(需要以后补充,目前还不知道。。。)

//#define _CRT_SECURE_NO_WARNINGS//注意这句一定要定义到最上面,否则不能用sprintf()函数
#define ROW 10//定义行、列
#define COL 10
#define numOfBoom 10
#define SIZE 50//图片宽度

int map[ROW][COL];//全局变量自动初始化为0
//定义图片数组,保存图片
IMAGE img[12];

//游戏胜利与否
int flag;

//打印底层数据内核
void show() {
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        printf("%2d    ", map[i][j]);
                }

                putchar('\n');

        }

        putchar('\n');
        putchar('\n');

        //system("cls");//清屏
}

//游戏数据初始化
void gameInit() {
        mciSendString("open ./start.mp3 alias BGM", 0, 0, 0);//背景音乐版(BGM)音效
        mciSendString("play BGM", 0, 0, 0);
        
        //设置随机数种子
        srand((unsigned)time(NULL));

        //初始化数组
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        map[i][j] = 0;
                }
        }

        //埋雷 -1表示雷
        for (int i = 0; i < numOfBoom;) {
                int r = rand() % 10;//0~9
                int c = rand() % 10;

                if (map[r][c] == 0) {//还没设置为雷
                        map[r][c] = -1;
                        i++;//每埋雷一次就加一
                }

                map[r][c] = -1;
        }

        //把以雷为中心的九宫格数据+1,雷那格除外。
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        //判断是不是雷 -1
                        if (map[i][j] == -1) {
                                //遍历雷所在的九宫格
                                for (int m = i - 1 ; m <= i + 1; m++) {
                                        for (int n = j - 1; n <= j + 1; n++) {
                                                if ((m >= 0 && m < ROW && n >= 0 && n < COL/*判断是否越界*/) && map[m][n] != -1/*判断是否是雷*/) {
                                                        map[m][n] += 1;
                                                }
                                        }
                                }
                        }
                }
        }

        //加载图片
        for (int i = 0; i < 12; i++) {
                char file[50] = "";
                sprintf(file, "./%d.jpg", i);//将对应的字符串打印到字符串数组中
                //loadimage(&img[0], file);
                loadimage(&img[i], file, SIZE, SIZE);
        }

        //加密格子
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        map[i][j] += 20;
                }
        }
        
}

//绘制界面
void gameDraw() {

        cleardevice();
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        if (map[i][j] == -1) {
                                putimage(j * SIZE, i * SIZE,&img[9]);//绘制雷
                        }
                        else if (map[i][j] >= 0 && map[i][j] <= 8) {//把其他数字一起处理0~8
                                putimage(j * SIZE, i * SIZE, &img[map[i][j]]);
                        }
                        else if (map[i][j] >= 19 && map[i][j] <= 28) {
                                putimage(j * SIZE, i * SIZE, &img[10]);
                        }
                        else if (map[i][j] > 30) {//标记
                                putimage(j * SIZE, i * SIZE, &img[11]);
                        }
                }
        }
}

void openNull(int row, int col);//声明一下,以便在下面的mouseControl()中使用
//鼠标操作
int mouseControl() {
        if (MouseHit()) {//判断有没有鼠标消息
                MOUSEMSG msg = GetMouseMsg();//鼠标所在的x,y

                int row = msg.y / SIZE;//把鼠标坐标转换成数组下标
                int col = msg.x / SIZE;
                //对鼠标消息进行分发
                switch (msg.uMsg) {
                case WM_LBUTTONDOWN://鼠标左键点击
                        if (map[row][col] > 8) {//如果没有打开就打开
                                mciSendString("close click", 0, 0, 0);
                                
                                mciSendString("open ./click.mp3 alias click", 0, 0, 0);//点击版(click)音效
                                mciSendString("play click", 0, 0, 0);
                                
                                map[row][col] -= 20;//解密
                                //解密各数字及区间代表含义:
                                //1.                  -1:雷  0: 空白  1~8:  数字  
                                //2.+=20:(盖起来)  19:雷  20:空白  21~28:数字  
                                //3.+=20:            >=30:都是旗子
                                flag++;

                                openNull(row, col);

                                
                        }
                        show();

                        break;
                case WM_RBUTTONDOWN://鼠标右键点击
                        if (map[row][col] > 8 && map[row][col] <= 28) {//如果没打开,且未被标记
                                map[row][col] += 20;
                        }
                        else if (map[row][col] > 28) {//只有没打开的才可以取消标记和标记
                                map[row][col] -= 20;
                        }
                        show();

                        break;
                }

                return map[row][col];
        }
}

//打开所有以空白为中心的九宫格
void openNull(int row, int col) {
        if (map[row][col] == 0) {//点击的是空白
                for (int m = row - 1; m <= row + 1; m++) {
                        for (int n = col - 1; n <= col + 1; n++) {
                                if ((m >= 0 && m < ROW && n >= 0 && n < COL) && 
                                        (map[m][n] == 20 || map[m][n] != 19/*不为雷(这里个人认为不用前面那个,到时候试试,因为感觉不为雷就包括了是空)*/)&&
                                        map[m][n] > 8//如果没有越界,并且为空或者数字,并且没有被点开
                                        ) {
                                        map[m][n] -= 20;

                                        flag++;

                                        openNull(m, n);
                                }
                        }
                }
        }

}

void judge() {
        if (mouseControl() == -1) {
                //结束
                
                ////看到所有炸弹位置
                //cleardevice();
                //for (int i = 0; i < ROW; i++) {
                //        for (int j = 0; j < COL; j++) {
                //                if (map[i][j] == 19 || map[i][j] == -1 || map[i][j] == 39) {
                //                        putimage(j * SIZE, i * SIZE, &img[9]);
                //                        //map[i][j] = 0;
                //                }
                //        }
                //}

                system("pause");

                int isOK = MessageBox(GetHWnd(), "你输了噢~要不要再来一次?","提示", MB_OKCANCEL);

                if (IDOK == isOK) {
                        gameInit();

                        flag = 0;
                }
                else {
                        exit(-1);
                }
        }
        if (flag == ROW * COL - numOfBoom) {
                int isOK = MessageBox(GetHWnd(), "你赢了!哦吼吼吼吼!!","提示", MB_OKCANCEL);
                
                if (IDOK == isOK) {
                        gameInit();

                        flag = 0;
                }
                else {
                        exit(-1);
                }

                mciSendString("close BGM", 0, 0, 0);
        }

        
}


int a, b;

int main() {
        initgraph(ROW * SIZE, COL * SIZE, SHOWCONSOLE);

        map[a][b] = flag;
        
        gameInit();
        
        BeginBatchDraw();//解决不断刷新时卡屏卡顿问题
        while (1) {
                //show();
                gameDraw();
                FlushBatchDraw();//配合BeginBatchDraw()函数,在画图函数之后调用

                /*mouseControl();*/
                judge();
        }
        EndBatchDraw();//和FlushBatchDraw()函数作用基本一样,但是没有它好用一点。



        getchar();
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-12-22 12:07:03 | 显示全部楼层
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//#include <easyx.h>
#include <graphics.h>//使得
#include <mmsystem.h>//多媒体(本程序是加载音乐)相关头文件
#pragma comment(lib,"winmm.lib")//加载静态库(需要以后补充,目前还不知道。。。)

//#define _CRT_SECURE_NO_WARNINGS//注意这句一定要定义到最上面,否则不能用sprintf()函数
#define ROW 10//定义行、列
#define COL 10
#define numOfBoom 10
#define SIZE 50//图片宽度

int map[ROW][COL];//全局变量自动初始化为0
//定义图片数组,保存图片
IMAGE img[12];

//游戏胜利与否
int flag;

//打印底层数据内核
void show() {
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        printf("%2d    ", map[i][j]);
                }

                putchar('\n');

        }

        putchar('\n');
        putchar('\n');

        //system("cls");//清屏
}

//游戏数据初始化
void gameInit() {
        mciSendString("open ./start.mp3 alias BGM", 0, 0, 0);//背景音乐版(BGM)音效
        mciSendString("play BGM", 0, 0, 0);
        
        //设置随机数种子
        srand((unsigned)time(NULL));

        //初始化数组
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        map[i][j] = 0;
                }
        }

        //埋雷 -1表示雷
        for (int i = 0; i < numOfBoom;) {
                int r = rand() % 10;//0~9
                int c = rand() % 10;

                if (map[r][c] == 0) {//还没设置为雷
                        map[r][c] = -1;
                        i++;//每埋雷一次就加一
                }

                map[r][c] = -1;
        }

        //把以雷为中心的九宫格数据+1,雷那格除外。
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        //判断是不是雷 -1
                        if (map[i][j] == -1) {
                                //遍历雷所在的九宫格
                                for (int m = i - 1 ; m <= i + 1; m++) {
                                        for (int n = j - 1; n <= j + 1; n++) {
                                                if ((m >= 0 && m < ROW && n >= 0 && n < COL/*判断是否越界*/) && map[m][n] != -1/*判断是否是雷*/) {
                                                        map[m][n] += 1;
                                                }
                                        }
                                }
                        }
                }
        }

        //加载图片
        for (int i = 0; i < 12; i++) {
                char file[50] = "";
                sprintf(file, "./%d.jpg", i);//将对应的字符串打印到字符串数组中
                //loadimage(&img[0], file);
                loadimage(&img[i], file, SIZE, SIZE);
        }

        //加密格子
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        map[i][j] += 20;
                }
        }
        
}

//绘制界面
void gameDraw() {

        cleardevice();
        for (int i = 0; i < ROW; i++) {
                for (int j = 0; j < COL; j++) {
                        if (map[i][j] == -1) {
                                putimage(j * SIZE, i * SIZE,&img[9]);//绘制雷
                        }
                        else if (map[i][j] >= 0 && map[i][j] <= 8) {//把其他数字一起处理0~8
                                putimage(j * SIZE, i * SIZE, &img[map[i][j]]);
                        }
                        else if (map[i][j] >= 19 && map[i][j] <= 28) {
                                putimage(j * SIZE, i * SIZE, &img[10]);
                        }
                        else if (map[i][j] > 30) {//标记
                                putimage(j * SIZE, i * SIZE, &img[11]);
                        }
                }
        }
}

void openNull(int row, int col);//声明一下,以便在下面的mouseControl()中使用
//鼠标操作
int mouseControl() {
        if (MouseHit()) {//判断有没有鼠标消息
                MOUSEMSG msg = GetMouseMsg();//鼠标所在的x,y

                int row = msg.y / SIZE;//把鼠标坐标转换成数组下标
                int col = msg.x / SIZE;
                //对鼠标消息进行分发
                switch (msg.uMsg) {
                case WM_LBUTTONDOWN://鼠标左键点击
                        if (map[row][col] > 8) {//如果没有打开就打开
                                mciSendString("close click", 0, 0, 0);
                                
                                mciSendString("open ./click.mp3 alias click", 0, 0, 0);//点击版(click)音效
                                mciSendString("play click", 0, 0, 0);
                                
                                map[row][col] -= 20;//解密
                                //解密各数字及区间代表含义:
                                //1.                  -1:雷  0: 空白  1~8:  数字  
                                //2.+=20:(盖起来)  19:雷  20:空白  21~28:数字  
                                //3.+=20:            >=30:都是旗子
                                flag++;

                                openNull(row, col);

                                
                        }
                        show();

                        break;
                case WM_RBUTTONDOWN://鼠标右键点击
                        if (map[row][col] > 8 && map[row][col] <= 28) {//如果没打开,且未被标记
                                map[row][col] += 20;
                        }
                        else if (map[row][col] > 28) {//只有没打开的才可以取消标记和标记
                                map[row][col] -= 20;
                        }
                        show();

                        break;
                }

                return map[row][col];
        }
}

//打开所有以空白为中心的九宫格
void openNull(int row, int col) {
        if (map[row][col] == 0) {//点击的是空白
                for (int m = row - 1; m <= row + 1; m++) {
                        for (int n = col - 1; n <= col + 1; n++) {
                                if ((m >= 0 && m < ROW && n >= 0 && n < COL) && 
                                        (map[m][n] == 20 || map[m][n] != 19/*不为雷(这里个人认为不用前面那个,到时候试试,因为感觉不为雷就包括了是空)*/)&&
                                        map[m][n] > 8//如果没有越界,并且为空或者数字,并且没有被点开
                                        ) {
                                        map[m][n] -= 20;

                                        flag++;

                                        openNull(m, n);
                                }
                        }
                }
        }

}

void judge() {
        if (mouseControl() == -1) {
                //结束
                
                ////看到所有炸弹位置
                //cleardevice();
                //for (int i = 0; i < ROW; i++) {
                //        for (int j = 0; j < COL; j++) {
                //                if (map[i][j] == 19 || map[i][j] == -1 || map[i][j] == 39) {
                //                        putimage(j * SIZE, i * SIZE, &img[9]);
                //                        //map[i][j] = 0;
                //                }
                //        }
                //}

                system("pause");

                int isOK = MessageBox(GetHWnd(), "你输了噢~要不要再来一次?","提示", MB_OKCANCEL);

                if (IDOK == isOK) {
                        gameInit();

                        flag = 0;
                }
                else {
                        exit(-1);
                }
        }
        if (flag == ROW * COL - numOfBoom) {
                int isOK = MessageBox(GetHWnd(), "你赢了!哦吼吼吼吼!!","提示", MB_OKCANCEL);
                
                if (IDOK == isOK) {
                        gameInit();

                        flag = 0;
                }
                else {
                        exit(-1);
                }

                mciSendString("close BGM", 0, 0, 0);
        }

        
}

int main() {
        initgraph(ROW * SIZE, COL * SIZE, SHOWCONSOLE);
        
        gameInit();
        
        BeginBatchDraw();//解决不断刷新时卡屏卡顿问题
        while (1) {
                //show();
                gameDraw();
                FlushBatchDraw();//配合BeginBatchDraw()函数,在画图函数之后调用

                /*mouseControl();*/
                judge();
        }
        EndBatchDraw();//和FlushBatchDraw()函数作用基本一样,但是没有它好用一点。



        getchar();
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-12-22 12:08:19 | 显示全部楼层
需要看代码的话可以看一下2楼~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-12-22 15:02:14 | 显示全部楼层
人造人 发表于 2021-12-22 12:06
vs的那个自动窗口只显示和当前要执行的语句有关的变量
试试这个代码,在第244行下断点,看看是不是在自 ...

非常感谢!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-28 06:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表