教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 说明书 >

在linux下ubuntu的五子棋游戏c语言代码

来源:网络收集 时间:2026-04-11
导读: #include #include //#include #include #include #include #include #define FB_W 1024 #define FB_H 768 #define CHESSBOARD1 10 #define CHESSBOARD2 10 #define X_OFFSET 400 #define Y_OFFSET 200 #define X_CAPASITY 10 #define Y_CAPASITY 10 #define

#include #include

//#include #include #include #include

#include #define FB_W 1024 #define FB_H 768

#define CHESSBOARD1 10 #define CHESSBOARD2 10 #define X_OFFSET 400 #define Y_OFFSET 200 #define X_CAPASITY 10 #define Y_CAPASITY 10 #define SPACE 40

#define RED 0x00ff0000 #define BLUE 0x0000ff00 #define WHITE 0xffffffff #define BLACK 0xff000000 #define NOKEY 0 #define RADIO 19 #define C_H 17 #define C_W 10

#define T___ 0x00ffffff #define X___ 0xff00ffff #define BORD 0xeeff0000 #define u32_t unsigned int

int array[CHESSBOARD1][CHESSBOARD2][1]; int board[CHESSBOARD1][CHESSBOARD2]; int play1[CHESSBOARD1][CHESSBOARD2][4]; int com[CHESSBOARD1][CHESSBOARD2][4]; int cursor_store[C_H][C_W]; struct fb_info{ int w; int h; int bpp; int *mem; }fb;

static u32_t cursor_pixel[C_H][C_W]= { {BORD,T___,T___,T___,T___,T___,T___,T___,T___,T___},

{BORD,BORD,T___,T___,T___,T___,T___,T___,T___,T___}, {BORD,X___,BORD,T___,T___,T___,T___,T___,T___,T___}, {BORD,X___,X___,BORD,T___,T___,T___,T___,T___,T___}, {BORD,X___,X___,X___,BORD,T___,T___,T___,T___,T___}, {BORD,X___,X___,X___,X___,BORD,T___,T___,T___,T___}, {BORD,X___,X___,X___,X___,X___,BORD,T___,T___,T___}, {BORD,X___,X___,X___,X___,X___,X___,BORD,T___,T___}, {BORD,X___,X___,X___,X___,X___,X___,X___,BORD,T___}, {BORD,X___,X___,X___,X___,X___,X___,X___,X___,BORD}, {BORD,X___,X___,X___,X___,X___,BORD,BORD,BORD,BORD}, {BORD,X___,X___,BORD,X___,X___,BORD,T___,T___,T___}, {BORD,X___,BORD,T___,BORD,X___,X___,BORD,T___,T___}, {BORD,BORD,T___,T___,BORD,X___,X___,BORD,T___,T___}, {T___,T___,T___,T___,T___,BORD,X___,X___,BORD,T___}, {T___,T___,T___,T___,T___,BORD,X___,X___,BORD,T___}, {T___,T___,T___,T___,T___,T___,BORD,BORD,T___,T___} };

int fb_open() {

int fd; int *mem;

fd = open(\ if(fd < 0) {

printf(\ return 1; }

struct fb_var_screeninfo fb_var;

ioctl(fd,FBIOGET_VSCREENINFO,&fb_var); fb.w = fb_var.xres; fb.h = fb_var.yres;

fb.bpp = fb_var.bits_per_pixel;

printf(\ h:%d bpp:%d\\n\fb.mem = mmap(NULL,FB_H*FB_W*fb_var.bits_per_pixel/8,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0); //printf(\

return 0; }

void fb_pixel(int x,int y,int color) {

*(fb.mem + y*FB_W+x) = color;

}

void fb_drawline(int x0,int x1,int y,int color) { int i;

for(i = x0;i

fb_pixel(i,y,color); } }

void fb_drawretangle(int x0,int y0,int x1,int y1,int color) {

int i,j;

for(i = x0;i

fb_pixel(i,j,color); } }

void fb_drawline2(int x,int y0,int y1,int color) { int i;

for(i = y0;i

void fb_drawcycle(int x,int y,int r,int color) { int i,j;

for(i = -r;i

if(i*i+j*j <= r*r) {

fb_pixel(i+x,j+y,color); } } }

int get_mouse_info(int fd,char *buf) { int n;

n = read(fd,buf,8); return n; }

int save_cursor(int x,int y) { int i,j;

for(i = 0;i < C_H;i++) {

for(j = 0;j

cursor_store[i][j] = *(fb.mem + j + x+(i +y)*FB_W); }

return 0; }

int restore_cursor(int x,int y) {

int i,j;

for(i = 0;i

for(j = 0;j < C_W;j++)

*(fb.mem+j+x+(i+y)*FB_W)=cursor_store[i][j]; }

return 0; }

void drawmouse(int x,int y) { int i,j;

for(i = 0;i

for(j = 0;j

if(cursor_pixel[i][j] != T___)

fb_pixel(x+j,y+i,cursor_pixel[i][j]);

//printf(\} } }

int printboard() { int i;

fb_drawretangle(X_OFFSET - SPACE,Y_OFFSET - SPACE,X_OFFSET + SPACE *Y_CAPASITY,Y_OFFSET + SPACE * X_CAPASITY,BLUE);

for(i = 0;i < Y_CAPASITY;i++) { fb_drawline(X_OFFSET,X_OFFSET+SPACE*(Y_CAPASITY - 1),i * SPACE + Y_OFFSET,RED);

}

for(i = 0;i < X_CAPASITY;i++) {

fb_drawline2(i*SPACE+X_OFFSET,Y_OFFSET,Y_OFFSET+SPACE*(X_CAPASITY-1),RED); } }

void printqizi(int row,int col, int color) {

int x,y;

x = X_OFFSET + SPACE*col; y = Y_OFFSET + SPACE*row; fb_drawcycle(x,y,RADIO,color); }

struct node_t{ int x; int y; int z; };

//print the chessboard

void print(int board[CHESSBOARD1][CHESSBOARD2]) {

int i, j;

printf(\ printf(\ \

for (j = 0; j < CHESSBOARD2; j++) printf(\ printf(\ printf(\

for (j = 0; j < CHESSBOARD2; j++) printf(\ printf(\

for (i = 0; i < CHESSBOARD1; i++) { printf(\

for (j = 0; j < CHESSBOARD2; j++) { printf(\}

printf(\}

printf(\}

…… 此处隐藏:1580字,全部文档内容请下载后查看。喜欢就下载吧 ……
在linux下ubuntu的五子棋游戏c语言代码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/449319.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)