linux怎么编写弹球游戏,Linux下利用curses库实现弹球游戏.docx

#define TOP

#define TOP 0/*当前屏幕的最上边 */

Linux 下利用 curses 库实现弹球游戏

#include

#include

#include

#define RIGHT COLS-1/*

#define RIGHT COLS-1

/*球所能到达的当前屏幕最大水

平范围 */

#define BOTTOM LINES-1 /*

#define BOTTOM LINES-1 /*

球所能到达的当前屏幕最大垂

直范围 */

#define BOARD_LENGTH10 /*

#define BOARD_LENGTH

10 /*挡板长度 */

#define LEFT 0/*当前屏幕的最左边 */

char BALL= 'O';

char BALL= 'O';/*球的形状 */

char BLANK= ' '; /*覆盖球走过的轨迹 */ int left_board; /* 挡板左侧坐标 */ int right_board; /* 挡板右侧坐标 */

int is_lose=0;int hdir;/* 控制球水平运动的变量 */ int delay=100;

int vdir;/* 控制球垂直运动的变量 */int pos_X;/*

int vdir;

/* 控制球垂直运动的变量 */

int pos_X;

/* 球的横坐标 */

int pos_Y;

/*球的纵坐标 */

void moveBall();

void init();

void control();int main()

//初始化 curses initscr();

crmode(); /* 中断模式 */ noecho(); /* 关闭回显 */ move(6,28);

attron(A_BOLD);

addstr("Welcome to the BallGame!");

move(

move( PAGE #,20);

attroff(A_BOLD);

addstr("Help:");

move(9,23);

addstr("'N':Start a new game.");

move(10,23);

addstr("'Q':Quit game.");

move(11,23);

shift.");addstr("'KEY_LEFT' :Control baffle left move(12,23);

shift.");

addstr("'KEY_RIGHT':Control baffle right shift.");

move(

move( PAGE #,23);

addstr("'KEY_UP' :Control of the ball speed.");

move(14,23);

addstr("'KEY_DOWN' :Control of the ball reducer.");

int flag=1;

char choice;

move(16,24);

addstr("Please choose your choice!(n/q):");

refresh();

choice=getch();

while(flag){

if(choice=='q'||choice=='Q'||choice=='n'||choice=='N')

flag=0;

/* 开始游戏

/* 开始游戏 */

if(choice=='n'||choice=='N'){

clear();

move(10,25);

addstr("BallGame will start! Are you read?");

refresh();

sleep(3);

/* 退出游戏

/* 退出游戏 */

else if(choice=='q'||choice=='Q'){

clear();

move(10,25);

addstr("You quit the game successfully!");

refresh();

sleep(3);

endwin();

endwin(); /* 结束 curses*/

}

}

return 0;

void init(){

int i,j;

clear();

if(start_color()==OK){

/*改变球和挡板的颜色 */

attron(A_BOLD);

/*打开粗体 */

init_pair(1,COLOR_YELLOW,COLOR_BLACK);

attron(COLOR_PAIR(1));

//初始球 pos_X =22; /*球初始的横坐标 */

pos_Y = BOTTOM-1;/*球

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值