2 apprentices apprentices 于 2016.02.06 10:35 提问

为什么楚河和汉界无法在棋盘上显示,还有棋盘的颜色如何改变

#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:\tc3\bgi");
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();
}

4个回答

caozhy
caozhy   Ds   Rxr 2016.02.06 11:00

#include<graphics.h>
这个是turbo c/borland c++特有的,它底层调用的dos的绘图函数。
所以你为了让这个程序运行起来,你需要找一个dosbox,在上面运行tc/bc

或者你可以找找windows下的类似的源代码。

apprentices
apprentices   2016.02.08 12:23

可是就是把MANUAL整个写到qipan中也没用呀

apprentices
apprentices   2016.02.08 12:26

而且我也知道graphic是tc中的,不过在vc中加个easyx 也可以使用

91program
91program   Ds   Rxr 2016.02.06 11:08

请将 Manual 的调用放在 qipan 之后试试。
因为在 qipan 中才初始化显示模式,所以在这之前显示的东东会被销毁。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【NOIP2017普及组】棋盘
[NOIP2017普及组]棋盘题目描述有一个m × m的棋盘,棋盘上每一个格子可能是红色、黄色或没有任何颜色的。你现在 要从棋盘的最左上角走到棋盘的最右下角。 任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的),你只能向上、下、左、右四个方向前进。当你从一个格子走向另一个格子时,如果两个格子的颜色相同,那你不需要花费金币;如果不同,则你需要花费1 个金币。另外,你可以花费2 个金币施展魔
洛谷2105 k皇后
P2105 K皇后 题目描述 小Z最近捡到了一个棋盘,他想在棋盘上摆放K个皇后。他想知道在他摆完这K个皇后之后,棋盘上还有多少了格子是不会被攻击到的。 (Ps:一个皇后会攻击到这个皇后所在的那一行,那一列,以及两条对角线) 输入输出格式 输入格式:   第一行三个正整数 n,m,K,表示棋盘的行列,以及小Z摆放了K个皇后。 接下来K行,每行两个正整数x,y,
NOIP2017普及组第三题(搜索)
棋盘 题目描述 有一个m × m的棋盘,棋盘上每一个格子可能是红色、黄色或没有任何颜色的。你现在要从棋盘的最左上角走到棋盘的最右下角。 任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的), 你只能向上、 下、左、 右四个方向前进。当你从一个格子走向另一个格子时,如果两个格子的颜色相同,那你不需要花费金币;如果不同,则你需要花费 1 个金币。 另外, 你可以花
[NOIP2017普及组]——棋盘
题目描述 有一个m × m的棋盘,棋盘上每一个格子可能是红色、黄色或没有任何颜色的。你现在 要从棋盘的最左上角走到棋盘的最右下角。 任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的),你只能向上、下、 左、右四个方向前进。当你从一个格子走向另一个格子时,如果两个格子的颜色相同,那你 不需要花费金币;如果不同,则你需要花费1 个金币。 另外,你可以花费2 个金币施展魔法让下一
《算法导论》中动态规划习题15-6--在棋盘上移动
问题描述:假设有一张n*n个方格的棋盘以及一个棋子,必须根据以下的规则把棋子从棋盘的底边移动到棋盘的顶边,在每一步你可以把棋子移动到三个方格中的一个: 1、正上方的方格。 2、左上方的方格(只能当这个棋子不在最左列的时候) 3、右上方的方格(只能当这个棋子不在最右列的时候) 每次从方格x移动到方格y,会得到p(x,y)块钱。已知所有(x,y)的p(x,y),只要从x到y的移动是合法的。不要
简单计算题:棋盘上的距离
输入样例 2 a1 c3 f5 f8 输出样例 2 1 2 1 3 1 1 Inf #include #include int main() { int nCases,i; scanf("%d",&nCases); for(i=0;i<nCases;i++) { char begin[5],end[5]; scanf("%s %s",begin,end); in
棋盘上的麦子
import java.math.BigInteger; public class 棋盘上的麦子 { /** * 你一定听说过这个故事。国王对发明国际象棋的大臣很佩服, * 问他要什么报酬,大臣说:请在第1个棋盘格放1粒麦子,在第2个棋盘格放2粒麦子, * 在第3个棋盘格放4粒麦子,在第4个棋盘格放8粒麦子,......后一格的数字是前一格的两
【NOIP2017】棋盘
题目描述 有一个m × m的棋盘,棋盘上每一个格子可能是红色、黄色或没有任何颜色的。你现在 要从棋盘的最左上角走到棋盘的最右下角。 任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的),你只能向上、下、 左、右四个方向前进。当你从一个格子走向另一个格子时,如果两个格子的颜色相同,那你 不需要花费金币;如果不同,则你需要花费1 个金币。 另外,你可以花费2 个金币施展魔法让下一个无色
棋盘上的麦子(BigInteger处理大数问题)
题目要求: 你一定听说过这个故事。国王对发明国际象棋的大臣很佩服,问他要什么报酬,大臣说:请在第1个棋盘格放1粒麦子,在第2个棋盘格放2粒麦子,在第3个棋盘格放4粒麦子,在第4个棋盘格放8粒麦子,......后一格的数字是前一格的两倍,直到放完所有棋盘格(国际象棋共有64格)。 国王以为他只是想要一袋麦子而已,哈哈大笑。 当时的条件下无法准确计算,但估算结果令人吃惊:即使全世界都铺满麦子
大数运算经典:棋盘上的米粒。
有一个8*8共64格的棋盘,要求第一个格放1粒米,第二个格放2粒米,第三个放4粒,依次加倍,问放满棋盘共有多少粒米。 很显然,这是个很大的数,用long型也无法存放。所以只能通过模拟加法和乘法来达到计算的目的。 #include using namespace std; //模拟乘2运算 void multi2(short a[]) {     short