问题描述
- 为什么楚河和汉界无法在棋盘上显示,还有棋盘的颜色如何改变
-
#include
#include
#include
#include
#include
void color(int b)
{
HANDLE hConsole =GetStdHandle((STD_OUTPUT_HANDLE));
SetConsoleTextAttribute(hConsole,b);//调用API设置字体和背景的颜色函数
}void gotoxy(int x, int y)
{
COORD c;
c.X = x;
c.Y = y;
SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}void Manual()
{
gotoxy(120,245);
color(12);
cprintf("楚河 汉界");}
void qipan()
{
int i,j;
int gdriver = DETECT,gmode;
initgraph(&gdriver,&gmode,"d:tc3bgi");
cleardevice();
color(10);
for(i=120;i<=360;i+=30)
for(j=120;j<=240;j+=30)
{
line(i,120,i,240);
line(120,j,360,j);
}
for(i=120;i<=360;i+=30)
for(j=270;j<=390;j+=30)
{
line(i,270,i,390);
line(120,j,360,j);
}
line(120,120,120,360);
line(120,120,360,120);
line(115,115,115,395);
line(115,115,365,115);
line(115,395,365,395);
line(365,115,365,395);
line(360,120,360,390);
line(210,120,270,180);
line(270,120,210,180);
line(210,390,270,330);
line(270,390,210,330);}
void main()
{
Manual();
qipan();
getch();
closegraph();
}
解决方案
#include<graphics.h>
这个是turbo c/borland c++特有的,它底层调用的dos的绘图函数。
所以你为了让这个程序运行起来,你需要找一个dosbox,在上面运行tc/bc
或者你可以找找windows下的类似的源代码。
解决方案二:
可是就是把MANUAL整个写到qipan中也没用呀
解决方案三:
而且我也知道graphic是tc中的,不过在vc中加个easyx 也可以使用
解决方案四:
请将 Manual 的调用放在 qipan 之后试试。
因为在 qipan 中才初始化显示模式,所以在这之前显示的东东会被销毁。