设计程序,画一个中国象棋棋盘,配上你喜欢的底色,中间写上“楚河汉界”四字。
选做:找一个象棋残局画出来
#include <stdlib.h>
#include <Windows.h>
#include <graphics.h>
#include <conio.h>
void print_right_angle_1(int x, int y);//输出以(x,y)为交点的第一象限直角,下面以此类推
void print_right_angle_2(int x, int y);
void print_right_angle_3(int x, int y);
void print_right_angle_4(int x, int y);
void print_cross(int x, int y);//输出以(x,y)为中心的十字
int main() {
initgraph(800, 800);
setbkcolor(RGB(170, 100, 50));
setlinecolor(BLACK);
cleardevice();
rectangle(80, 40, 720, 760);
rectangle(75, 35, 725, 765);
for (int i = 120; i <= 680; i += 80)//两个for循环画出大概框架
line(80, i, 720, i);
for (int i = 160; i <= 640; i += 80) {
line(i, 40, i, 360);
line(i, 440, i, 760);
}
line(320, 40, 480, 200);//画四条线,即两个叉叉
line(320, 200, 480, 40);
line(320, 760, 480, 600);
line(320, 600, 480, 760);
//上半最左边兵
print_right_angle_1(85, 275);
print_right_angle_4(85, 285);
//下半最左边兵
print_right_angle_1(85, 515);
print_right_angle_4(85, 525);
//输出所有十字架
print_cross(160, 200);
print_cross(160, 600);
print_cross(240, 280);
print_cross(240, 520);
print_cross(400, 280);
print_cross(400, 520);
print_cross(560, 280);
print_cross(560, 520);
print_cross(640, 200);
print_cross(640, 600);
//上半最右边兵
print_right_angle_2(715, 275);
print_right_angle_3(715, 285);
//下半最右边兵
print_right_angle_2(715, 515);
print_right_angle_3(715, 525);
settextcolor(BLACK);
settextstyle(60, 0, _T("楷体"));
outtextxy(140, 370, _T("楚"));
outtextxy(220, 370, _T("河"));
outtextxy(520, 370, _T("汉"));
outtextxy(600, 370, _T("界"));
//下面输出几个棋子
setbkmode(TRANSPARENT);
settextstyle(40, 0, _T("楷体"));
setfillcolor(RGB(130, 70, 25));
fillcircle(400, 120, 33);
fillcircle(400, 120, 30);
outtextxy(380, 100, _T("将"));
settextcolor(RED);
fillcircle(560, 120, 33);
fillcircle(560, 120, 30);
outtextxy(540, 100, _T("兵"));
fillcircle(480, 760, 33);
fillcircle(480, 760, 30);
outtextxy(460, 740, _T("帅"));
system("pause");
closegraph();
return 0;
}
void print_right_angle_1(int x, int y) {
line(x, y, x + 20, y);
line(x, y, x, y - 20);
}
void print_right_angle_2(int x, int y) {
line(x, y, x - 20, y);
line(x, y, x, y - 20);
}
void print_right_angle_3(int x, int y) {
line(x, y, x - 20, y);
line(x, y, x, y + 20);
}
void print_right_angle_4(int x, int y) {
line(x, y, x + 20, y);
line(x, y, x, y + 20);
}
void print_cross(int x, int y) {
print_right_angle_1(x + 5, y - 5);
print_right_angle_2(x - 5, y - 5);
print_right_angle_3(x - 5, y + 5);
print_right_angle_4(x + 5, y + 5);
}
来个赞!!