level 1
魏王孟德
楼主
#include
#include
#include
#include
#include
#define LEFT 0x4b00
#define RIGHT 0x4d00 #
define DOWN 0x5000
#define UP 0x4800 #
define ESC 0x011b
#define SPACE 0x3920 #
define BILI 20
#define JZ 4 #
define JS 3 #define N 19 int box[N][N]; int step_x,step_y ; int key ; int flag=1 ; void draw_box(); void draw_cicle(int x,int y,int color); void change(); void judgewho(int x,int y); void judgekey(); int judgeresult(int x,int y); void attentoin(); void attention() { char ch ; window(1,1,80,25); textbackground(LIGHTBLUE); textcolor(YELLOW); clrscr(); gotoxy(15,2); printf("游戏操作规则:"); gotoxy(15,4); printf("Play Rules:"); gotoxy(15,6); printf("1、按左右上下方向键移动棋子"); gotoxy(15,8); printf("1. Press Left,Right,Up,Down Key to move Piece"); gotoxy(15,10); printf("2、按空格确定落棋子"); gotoxy(15,12); printf("2. Press Space to place the Piece"); gotoxy(15,14); printf("3、禁止在棋盘外按空格"); gotoxy(15,16); printf("3. DO NOT press Space outside of the chessboard"); gotoxy(15,18); printf("你是否接受上述的游戏规则(Y/N)"); gotoxy(15,20); printf("Do you accept the above Playing Rules? [Y/N]:"); while(1) { gotoxy(60,20); ch=getche(); if(ch=='Y'||ch=='y') break ; else if(ch=='N'||ch=='n') { window(1,1,80,25); textbackground(BLACK); textcolor(LIGHTGRAY); clrscr(); exit(0); } gotoxy(51,12); printf(" "); } } void draw_box() { int x1,x2,y1,y2 ; setbkcolor(LIGHTBLUE); setcolor(YELLOW); gotoxy(7,2); printf("Left, Right, Up, Down KEY to move, Space to put, ESC-quit."); for(x1=1,y1=1,y2=18;x1<=18;x1++) line((x1+JZ)*BILI,(y1+JS)*BILI,(x1+JZ)*BILI,(y2+JS)*BILI); for(x1=1,y1=1,x2=18;y1<=18;y1++) line((x1+JZ)*BILI,(y1+JS)*BILI,(x2+JZ)*BILI,(y1+JS)*BILI); for(x1=1;x1<=18;x1++) for(y1=1;y1<=18;y1++) box[x1][y1]=0 ; } void draw_circle(int x,int y,int color) { setcolor(color); setlinestyle(SOLID_LINE,0,1); x=(x+JZ)*BILI ; y=(y+JS)*BILI ; circle(x,y,8); } void judgekey() { int i ; int j ; switch(key) { case LEFT : if(step_x-1<0) break ; else { for(i=step_x-1,j=step_y;i>=1;i--) if(box[i][j]==0) { draw_circle(step_x,step_y,LIGHTBLUE); break ; } if(i<1)break ; step_x=i ; judgewho(step_x,step_y); break ; } case RIGHT : if(step_x+1>18) break ; else { for(i=step_x+1,j=step_y;i<=18;i++) if(box[i][j]==0) { draw_circle(step_x,step_y,LIGHTBLUE); break ; } if(i>18)break ; step_x=i ; judgewho(step_x,step_y); break ; } case DOWN : if((step_y+1)>18) break ; else { for(i=step_x,j=step_y+1;j<=18;j++) if(box[i][j]==0) { draw_circle(step_x,step_y,LIGHTBLUE); break ; } if(j>18)break ; step_y=j ; judgewho(step_x,step_y); break ; } case UP : if((step_y-1)<0) break ; else { for(i=step_x,j=step_y-1;j>=1;j--) if(box[i][j]==0) { draw_circle(step_x,step_y,LIGHTBLUE); break ; } if(j<1)break ;
2008年06月21日 05点06分
1
#include
#include
#include
#include
#define LEFT 0x4b00
#define RIGHT 0x4d00 #
define DOWN 0x5000
#define UP 0x4800 #
define ESC 0x011b
#define SPACE 0x3920 #
define BILI 20
#define JZ 4 #
define JS 3 #define N 19 int box[N][N]; int step_x,step_y ; int key ; int flag=1 ; void draw_box(); void draw_cicle(int x,int y,int color); void change(); void judgewho(int x,int y); void judgekey(); int judgeresult(int x,int y); void attentoin(); void attention() { char ch ; window(1,1,80,25); textbackground(LIGHTBLUE); textcolor(YELLOW); clrscr(); gotoxy(15,2); printf("游戏操作规则:"); gotoxy(15,4); printf("Play Rules:"); gotoxy(15,6); printf("1、按左右上下方向键移动棋子"); gotoxy(15,8); printf("1. Press Left,Right,Up,Down Key to move Piece"); gotoxy(15,10); printf("2、按空格确定落棋子"); gotoxy(15,12); printf("2. Press Space to place the Piece"); gotoxy(15,14); printf("3、禁止在棋盘外按空格"); gotoxy(15,16); printf("3. DO NOT press Space outside of the chessboard"); gotoxy(15,18); printf("你是否接受上述的游戏规则(Y/N)"); gotoxy(15,20); printf("Do you accept the above Playing Rules? [Y/N]:"); while(1) { gotoxy(60,20); ch=getche(); if(ch=='Y'||ch=='y') break ; else if(ch=='N'||ch=='n') { window(1,1,80,25); textbackground(BLACK); textcolor(LIGHTGRAY); clrscr(); exit(0); } gotoxy(51,12); printf(" "); } } void draw_box() { int x1,x2,y1,y2 ; setbkcolor(LIGHTBLUE); setcolor(YELLOW); gotoxy(7,2); printf("Left, Right, Up, Down KEY to move, Space to put, ESC-quit."); for(x1=1,y1=1,y2=18;x1<=18;x1++) line((x1+JZ)*BILI,(y1+JS)*BILI,(x1+JZ)*BILI,(y2+JS)*BILI); for(x1=1,y1=1,x2=18;y1<=18;y1++) line((x1+JZ)*BILI,(y1+JS)*BILI,(x2+JZ)*BILI,(y1+JS)*BILI); for(x1=1;x1<=18;x1++) for(y1=1;y1<=18;y1++) box[x1][y1]=0 ; } void draw_circle(int x,int y,int color) { setcolor(color); setlinestyle(SOLID_LINE,0,1); x=(x+JZ)*BILI ; y=(y+JS)*BILI ; circle(x,y,8); } void judgekey() { int i ; int j ; switch(key) { case LEFT : if(step_x-1<0) break ; else { for(i=step_x-1,j=step_y;i>=1;i--) if(box[i][j]==0) { draw_circle(step_x,step_y,LIGHTBLUE); break ; } if(i<1)break ; step_x=i ; judgewho(step_x,step_y); break ; } case RIGHT : if(step_x+1>18) break ; else { for(i=step_x+1,j=step_y;i<=18;i++) if(box[i][j]==0) { draw_circle(step_x,step_y,LIGHTBLUE); break ; } if(i>18)break ; step_x=i ; judgewho(step_x,step_y); break ; } case DOWN : if((step_y+1)>18) break ; else { for(i=step_x,j=step_y+1;j<=18;j++) if(box[i][j]==0) { draw_circle(step_x,step_y,LIGHTBLUE); break ; } if(j>18)break ; step_y=j ; judgewho(step_x,step_y); break ; } case UP : if((step_y-1)<0) break ; else { for(i=step_x,j=step_y-1;j>=1;j--) if(box[i][j]==0) { draw_circle(step_x,step_y,LIGHTBLUE); break ; } if(j<1)break ;