亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bounce.c

?? 該程序完善了《UnixLinux編程實踐教程》中的彈球功能
?? C
字號:
/*  mybounce 1.0	
 *	bounce a character (default is 'o') around the screen
 *	defined by some parameters
 *
 *	user input: 	s: slow down x component, S: slow y component
 *		 	f: speed up x component,  F: speed y component
 *                      a: move left              d: move right
 *			q: quit                   w: win
 *
 *	blocks on read, but timer tick sends SIGALRM caught by ball_move
 *	build:   cc mybounce.c set_ticker.c -lcurses -o mybounce
 */

#include<curses.h>
#include<signal.h>
#include"bounce.h"

struct ppball the_ball ;

int targets[RIGHT_EDGE-LEFT_EDGE+1];
int boardl,boardr,ts;
int score=0;
/**  the main loop  **/

void set_up();
void wrap_up();

int main()
{
    int i ,c ,c2=1;

    for(;c2!='q'&&c2!='Q';)
       {
        c2=1;
        clear();
	initscr();
	noecho();
	crmode();

        boardl=LEFT_EDGE ;
        boardr=LEFT_EDGE+8 ;
        ts=RIGHT_EDGE-LEFT_EDGE+1 ;
        for(i=0;i<=RIGHT_EDGE-LEFT_EDGE;i++)targets[i]=1;

        for(i=TOP_ROW;i<=BOT_ROW;i++)mvaddch( i, LEFT_EDGE-1, WALL);
        for(i=TOP_ROW;i<=BOT_ROW;i++)mvaddch( i, RIGHT_EDGE+1, WALL);
        for(i=LEFT_EDGE-1;i<=RIGHT_EDGE+1;i++)mvaddch( TOP_ROW-1, i, BOARD);

        for(i=LEFT_EDGE;i<=RIGHT_EDGE;i++)mvaddch( TOP_ROW, i, TARGET);
        for(i=boardl;i<=boardr;i++)mvaddch( BOT_ROW+1, i, BOARD );
        move(LINES-1,COLS-1);
        refresh();

	set_up();

	while ( ( c = getchar()) != 'q' && ts>0 ){
		     if ( c == 'f' ) the_ball.x_ttm--;
		else if ( c == 's' ) the_ball.x_ttm++;
		else if ( c == 'F' ) the_ball.y_ttm--;
		else if ( c == 'S' ) the_ball.y_ttm++;
                else if ( c == 'w' ) ts=0;
		else if ( c == 'a' ) {if(boardl>LEFT_EDGE)
                                     {mvaddch( BOT_ROW+1, --boardl, BOARD );
                                      mvaddch( BOT_ROW+1, boardr--, BLANK );
		                      move(LINES-1,COLS-1);
		                      refresh();}}
		else if ( c == 'd' ) if(boardr<RIGHT_EDGE)
                                     {mvaddch( BOT_ROW+1, ++boardr, BOARD );
                                      mvaddch( BOT_ROW+1, boardl++, BLANK );
		                      move(LINES-1,COLS-1);
		                      refresh();}
                }
        clear();
        move((LINES-1)/2,(COLS-1)/2);
        if(ts==0){addstr("Perfect!");move(LINES-1,0);}
        else if(ts<0){if(score>10)
        {
        		addstr("A good score! ");
                      	fflush(stdout);
        		move(LINES-1,0);
        		refresh();
        }
        else
                {
        		addstr("A little low score,come on! ");
                      	fflush(stdout);
        		move(LINES-1,0);
        		refresh();
        }

        		
        		}
        else {addstr("You quit!");move(LINES-2,0);}
        addstr(" Q for Exit, ohter for restart.\n");
        move(LINES-1,COLS-1);
         refresh();
        c2=getchar();
        }
        wrap_up();
}

void set_up()
/*
 *	init structure and other stuff
 */
{
	void	ball_move(int);

	the_ball.y_pos = Y_INIT;
	the_ball.x_pos = X_INIT;
	the_ball.y_ttg = the_ball.y_ttm = Y_TTM ;
	the_ball.x_ttg = the_ball.x_ttm = X_TTM ;
	the_ball.y_dir = 1  ;
	the_ball.x_dir = 1  ;
	the_ball.symbol = DFL_SYMBOL ;


	signal( SIGINT , SIG_IGN );
	mvaddch( the_ball.y_pos, the_ball.x_pos, the_ball.symbol  );
	refresh();
	
	signal( SIGALRM, ball_move );
	set_ticker( 1000 / TICKS_PER_SEC );	/* send millisecs per tick */
        if(ts<=0)return;
}

void wrap_up()
{

	set_ticker( 0 );
	endwin();		/* put back to normal	*/
}


void ball_move(int signum)
{
	int	y_cur, x_cur, moved;

	signal( SIGALRM , SIG_IGN );		/* dont get caught now 	*/
	y_cur = the_ball.y_pos ;		/* old spot		*/
	x_cur = the_ball.x_pos ;
	moved = 0 ;

	if ( the_ball.y_ttm > 0 && the_ball.y_ttg-- == 1 ){
		the_ball.y_pos += the_ball.y_dir ;	/* move	*/
		the_ball.y_ttg = the_ball.y_ttm  ;	/* reset*/
		moved = 1;
	}

	if ( the_ball.x_ttm > 0 && the_ball.x_ttg-- == 1 ){
		the_ball.x_pos += the_ball.x_dir ;	/* move	*/
		the_ball.x_ttg = the_ball.x_ttm  ;	/* reset*/
		moved = 1;
	}

	if ( moved ){
		if(targets[x_cur-LEFT_EDGE]==1 && y_cur==TOP_ROW )( y_cur, x_cur, BLANK );
		else mvaddch( y_cur, x_cur, BLANK );
		mvaddch( the_ball.y_pos, the_ball.x_pos, the_ball.symbol );
		bounce_or_lose( &the_ball );
                if(targets[the_ball.x_pos-LEFT_EDGE]==0)mvaddch( TOP_ROW, the_ball.x_pos, BLANK );
		move(LINES-1,COLS-1);
		refresh();
	}
	signal( SIGALRM, ball_move);		/* for unreliable systems */
        if(ts<=0)return;
}

int bounce_or_lose(struct ppball *bp)
{
	int	return_val = 0 ;

        if( bp->y_pos==TOP_ROW+1 && targets[bp->x_pos]==1 ){
                targets[bp->x_pos-LEFT_EDGE]=0;
                score++;
                ts--;
		bp->y_dir = 1 ; 
		return_val = 1 ;
	}
	if ( bp->y_pos == TOP_ROW ){
		bp->y_dir = 1 ; 
		return_val = 1 ;
	} else if ( bp->y_pos == BOT_ROW ){
            if( boardl<=bp->x_pos && boardr>=bp->x_pos )
		{bp->y_dir = -1 ;
	       	 return_val = 1;}
            else {ts=-1;return 2;}
	}
	if ( bp->x_pos == LEFT_EDGE ){
		bp->x_dir = 1 ;
	       	return_val = 1 ;
	} else if ( bp->x_pos == RIGHT_EDGE ){
		bp->x_dir = -1;
	       	return_val = 1;
	}

	return return_val;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区成人在线视频| 中文字幕中文字幕一区二区| 日韩欧美123| 久久精品一区二区三区不卡| 亚洲精品国产无天堂网2021| 青青草精品视频| 91蜜桃免费观看视频| 欧美一区二区精品在线| 亚洲日本韩国一区| 国内精品久久久久影院色| 91国模大尺度私拍在线视频| 国产性做久久久久久| 午夜精品在线看| 91麻豆国产自产在线观看| 精品1区2区在线观看| 亚洲.国产.中文慕字在线| av电影一区二区| 久久久久久**毛片大全| 午夜不卡在线视频| 欧美在线影院一区二区| 日本成人在线视频网站| 91一区二区在线观看| 久久久久久久久伊人| 麻豆免费精品视频| 7777精品伊人久久久大香线蕉超级流畅 | 日韩一区二区在线看| 亚洲日本免费电影| 不卡的电视剧免费网站有什么| 日韩欧美亚洲另类制服综合在线| 亚洲一区在线免费观看| 91小视频免费看| 国产精品成人免费在线| 国产suv精品一区二区三区| 精品国产123| 成人久久久精品乱码一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 天使萌一区二区三区免费观看| 国产精品1区2区| 日韩精品一区二区三区在线观看 | 久久99精品国产.久久久久久 | 欧美亚洲动漫精品| 美女视频一区二区三区| 肉肉av福利一精品导航| 欧美一区二区美女| jlzzjlzz亚洲日本少妇| 日韩影院免费视频| 中文字幕在线观看不卡| 欧美一区二区免费| 久久久久久一二三区| 91黄视频在线观看| 韩国视频一区二区| 亚洲精品乱码久久久久久黑人 | 午夜欧美视频在线观看| 国产婷婷色一区二区三区在线| 色婷婷狠狠综合| 国产老妇另类xxxxx| 婷婷激情综合网| 亚洲美女淫视频| 久久久精品综合| 日韩一级高清毛片| 欧美日韩精品欧美日韩精品一综合| 国产成人精品影视| 久久99日本精品| 香蕉久久夜色精品国产使用方法 | 久久精品夜夜夜夜久久| 精品在线你懂的| 久久久久97国产精华液好用吗| 国产精品香蕉一区二区三区| 欧美一卡二卡三卡| 国模冰冰炮一区二区| 有坂深雪av一区二区精品| 国产在线播放一区二区三区| 1000精品久久久久久久久| 高清不卡在线观看av| 中文字幕一区日韩精品欧美| 欧美白人最猛性xxxxx69交| 精品一区二区三区久久久| 色综合中文字幕| 精品视频一区二区三区免费| 亚洲一区二区三区四区中文字幕| 欧美性高清videossexo| 久草中文综合在线| 亚洲美女视频在线观看| 久久久精品日韩欧美| 日韩免费高清视频| 99久久精品国产精品久久| 国产精品中文有码| 国产精品亚洲人在线观看| 国产一区二区精品在线观看| 久久精品99久久久| 国内成人精品2018免费看| 国产中文字幕一区| 岛国一区二区三区| a级精品国产片在线观看| 91美女在线视频| 91精品国产综合久久精品| 在线观看日韩电影| 欧美色手机在线观看| 欧美日韩一区国产| 日韩视频123| 精品成人一区二区三区四区| 久久精品一区四区| 中文一区在线播放| 综合久久综合久久| 一区二区三区欧美在线观看| 午夜影院久久久| 美美哒免费高清在线观看视频一区二区 | 狠狠色狠狠色合久久伊人| 国产尤物一区二区在线| av在线播放一区二区三区| 日本精品一区二区三区四区的功能| 91成人免费在线视频| 欧美一卡在线观看| 欧美国产精品久久| 日韩国产高清在线| 91同城在线观看| 欧美日韩一区小说| 精品国产免费一区二区三区四区| 国产性天天综合网| 一区二区在线观看免费| 麻豆国产精品视频| aaa国产一区| 91精品在线一区二区| 亚洲国产精品传媒在线观看| 一级特黄大欧美久久久| 久久狠狠亚洲综合| 99精品黄色片免费大全| 欧美一区二区播放| 亚洲精品中文在线观看| 激情久久久久久久久久久久久久久久| 国产成人aaaa| 欧美视频自拍偷拍| 国产日韩欧美综合一区| 亚洲一区二区视频在线观看| 国产一区二区伦理| 欧美三级三级三级爽爽爽| 久久久www免费人成精品| 亚洲日本一区二区三区| 玖玖九九国产精品| 日本道色综合久久| 国产色产综合色产在线视频| 视频一区二区三区入口| 99久久国产综合精品色伊| 日韩欧美中文一区| 亚洲免费观看高清完整版在线| 久久国产精品第一页| 欧美唯美清纯偷拍| 中文字幕一区二区三区不卡在线| 免费在线观看精品| 欧美午夜精品久久久| 国产精品美女久久久久久| 美女mm1313爽爽久久久蜜臀| 欧美综合天天夜夜久久| 最新国产の精品合集bt伙计| 国产综合久久久久影院| 欧美一级日韩免费不卡| 亚洲午夜在线观看视频在线| 91在线观看成人| 国产精品丝袜在线| 国产一区二区三区黄视频| 91精品婷婷国产综合久久竹菊| 亚洲一区二区五区| 色婷婷精品久久二区二区蜜臂av | 久久网站热最新地址| 97精品超碰一区二区三区| 成人午夜看片网址| 欧美岛国在线观看| 免费观看在线综合色| 欧美久久婷婷综合色| 亚洲一区在线播放| 欧美主播一区二区三区美女| 亚洲欧美一区二区久久| 成人视屏免费看| 亚洲欧洲日韩综合一区二区| 国产iv一区二区三区| 亚洲国产高清在线观看视频| 国产精一品亚洲二区在线视频| 精品国产污污免费网站入口| 免费久久99精品国产| 欧美成人video| 国产一区二区三区四| 久久精品视频在线看| 国产福利不卡视频| 国产嫩草影院久久久久| 成人伦理片在线| 亚洲人成网站在线| 在线观看三级视频欧美| 亚洲综合久久av| 欧美精品色综合| 麻豆视频一区二区| 国产日产欧美一区二区三区| 成人a免费在线看| 亚洲综合激情网| 91精品国产91热久久久做人人| 久久er99热精品一区二区| 久久九九久精品国产免费直播| 国内精品国产成人国产三级粉色 | 日韩一区二区三区三四区视频在线观看 | 亚洲精品在线免费播放| 国产精品一区一区三区|