主页
搜索
最近更新
数据统计
申请密钥
批量保存
开发版网站(新前端)
系统公告
1
/
1
请查看完所有公告
实战:井字棋
最后更新于 2025-08-27 20:07:12
作者
lzg_070506
分类
个人记录
复制 Markdown
查看原文
转到新前端
删除文章
更新内容
注:代码内的所有图片地址为我自己电脑上的地址,素材均为手绘,若有需要加我微信拿 ```cpp #include<stdio.h> #include<easyx.h> #include<conio.h> int pan[3][3]; void end(int jx, int jy) {//一局终了,显示胜者 if (pan[jx][jy] == 1) { settextcolor(0xff0000); outtextxy(25, 150, "Blue Win!"); } if (pan[jx][jy] == 2) { settextcolor(0x0000ff); outtextxy(30, 150, "Red Win!"); } _getch();//新的游戏,再次开局 for (int i = 0; i < 3; i++)for (int j = 0; j < 3; j++)pan[i][j] = 0; } void judge(int jx, int jy) {//一子落定,可否结局 int jgx = pan[jx][jy], jgy = pan[jx][jy]; for (int i = 0; i < 3; i++) { if (pan[i][jy] != jgx) jgx = 0; if (pan[jx][i] != jgy) jgy = 0; } if (jgx == pan[jx][jy] || jgy == pan[jx][jy]) end(jx, jy); if (jx == jy && pan[0][0] == pan[1][1] && pan[1][1] == pan[2][2]) end(jx, jy); if (jx + jy == 2 && pan[0][2] == pan[1][1] && pan[1][1] == pan[2][0]) end(jx, jy); return; } int main() { initgraph(400, 400);//棋盘显形,初始设定 setbkcolor(0x33ddff); settextstyle(100, 0, "Microsoft JhengHei UI"); cleardevice(); IMAGE x, o, k;//棋子导入,光标指引 loadimage(&x, "./X.jpg", 80, 80); loadimage(&o, "./O.jpg", 80, 80); loadimage(&k, "./K.jpg", 100, 100); setlinecolor(0x000000); int kx=1, ky=1; bool flag = true; while (true) { cleardevice();//棋局更新,盘面重定 putimage(50 + kx * 100, 50 + ky * 100, &k); for (int i = 0; i <= 3; i++) { line(50, 50 + i * 100, 350, 50 + i * 100); line(50 + i * 100, 50, 50 + i * 100, 350); } for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (pan[i][j] == 1) putimage(i * 100 + 60, j * 100 + 60, &x); if (pan[i][j] == 2) putimage(i * 100 + 60, j * 100 + 60, &o); } } int a = _getch();//落子生根,换手执子 if ((a == 'a' || a == 'A') && kx != 0) kx--; if ((a == 'd' || a == 'D') && kx != 2) kx++; if ((a == 'w' || a == 'W') && ky != 0) ky--; if ((a == 's' || a == 'S') && ky != 2) ky++; if (a == ' ' && pan[kx][ky] == 0) { pan[kx][ky] = ((int)flag) + 1; putimage(kx * 100 + 60, ky * 100 + 60, pan[kx][ky] == 1 ? &x : &o); flag ^= 1; judge(kx, ky); } } return 0; } ```
正在渲染内容...
点赞
0
收藏
0