VC绘图/游戏简易教程--2:简单绘图,学习单步执行
2010-4-21 ~ 2021-5-28
(4)
教程总目录:https://codebus.cn/bestans/post/concise-lesson-contents(里面包括VC下的graphics.h的配置方法)
本期目标
学会简单绘图,并学会简单调试。
先看看上一课的代码,我加上了注释
#include <graphics.h> // 绘图库头文件,绘图语句需要
#include <conio.h> // 控制台输入输出头文件,_getch()语句需要
int main()
{
initgraph(640, 480); // 初始化640x480的绘图屏幕
line(200, 240, 440, 240); // 画线(200,240) - (440,240)
line(320, 120, 320, 360); // 画线(320,120) - (320,360)
_getch(); // 按任意键
closegraph(); // 关闭绘图屏幕
return 0;
}
解释:
- 创建的绘图屏幕 640x480,表示横向有 640 个点,纵向有 480 个点。左上角是原点 (0, 0),右下角坐标是 (639, 479),x 轴 向右为正,y 轴向下为正(和数学的 y 轴相反)。
- _getch 实现按任意键功能,按任意键后,程序继续执行。否则,程序会立刻执行 closegraph 以至于看不到绘制的内容。
学习基本调试技巧
程序执行的时候,是一条一条的语句依次执行的。现在通过调试来理解程序的执行。由于绘图程序有若干限制,请请务必按照以下步骤尝试(熟练了以后就可以随意些了):
先要在 VC 里编写代码,并编译成功,确保 0 错误。有错误的代码是无法调试的。
调试执行与断点
- 编译成功后,按 F5,直接调试执行,可以看到程序的执行结果。
- 光标点到“line(320, 120, 320, 360); // 画线(320,120) - (320,360)”这行,按 F9,会看到这行左边多了一个红点,这是断点标记。再按 F9 可以取消断点。也可以用鼠标点一下左边的的红点位置来设置断点。
- 再次按 F5,会看到代码执行到断点位置就不再执行了。程序断下来后,可以观察执行到此时的情况(如变量的值)。注意:由于绘图机制的限制,程序断下来时无法立刻看到绘图窗口的变化。
- 再次按 F5,程序会从断下来的位置继续执行,直到结束。
- 程序里可以设置多个断点。
单步执行
- 编译成功后,按一下 F10(单步执行),会看到屏幕上出现一个黄色的小箭头,指示将要执行的代码。
- 一下下按 F10,会看到黄色的小箭头逐步下移。注意:由于绘图机制的限制,程序断下来时无法立刻看到绘图窗口的变化。
- 在 _getch() 这行按下 F10 后,无法继续按 F10,因为执行 _getch() 语句后,程序在等待用户输入。这时候切换到绘图窗口,并按任意键,_getch() 即可执行完毕,再切换回 VC,可以继续调试。
- 直接按 F5 执行全部剩余程序,结束。
调试很重要,可以让你知道程序执行到哪里是什么效果,哪条语句执行出了问题等等。
更详细的调试资料,请看这里:http://pan.baidu.com/s/1eR6HT
该文档写的调试的东西比较多,看一下大概有个了解,以后都会用到(不过以后我就不再讲了)
注:
- 许多学校都忽略了调试部分,如果你不曾用过调试,请务必熟练该过程。
- win-tc 不带有任何调试功能,即便你不用 vc,也请不要使用 win-tc。调试是相当相当重要的。
作业
- 用线条画出更多的图形,要求不少于 10 条直线。
- 尝试单步调试自己写的代码,熟悉调试过程。