日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

项目: 双人反弹球游戏

發(fā)布時(shí)間:2025/3/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目: 双人反弹球游戏 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 一、最終項(xiàng)目描述和效果
  • 二、基本框架實(shí)現(xiàn)
  • 三、異步操作的實(shí)現(xiàn)
  • 四、雙人反彈球

一、最終項(xiàng)目描述和效果

項(xiàng)目描述: 實(shí)現(xiàn)雙人玩的彈跳球游戲

最終效果圖如下:

二、基本框架實(shí)現(xiàn)

代碼如下:

#include<conio.h> #include<graphics.h> #define High 480//游戲畫面尺寸 #define Width 640//全局變量 int ball1_x,ball1_y;//小球1的坐標(biāo) int ball2_x,ball2_y;//小球2的坐標(biāo) int radius;void startup()//數(shù)據(jù)的初始化 {ball1_x=Width/3;ball1_y=High/3;ball2_x=Width*2/3;ball2_y=High*2/3;radius=20;initgraph(Width,High);BeginBatchDraw(); }void clean()//消除畫面 {setcolor(BLACK);setfillcolor(BLACK);fillcircle(ball1_x,ball1_y,radius);fillcircle(ball2_x,ball2_y,radius); }void show()//顯示畫面 {setcolor(GREEN);setfillcolor(GREEN);fillcircle(ball1_x,ball1_y,radius);//繪制綠圓setcolor(RED);setfillcolor(RED);fillcircle(ball2_x,ball2_y,radius);//繪制紅圓FlushBatchDraw();Sleep(3); }void updateWithoutInput()//與用戶輸入無關(guān)的更新 {}void updateWithInput()//與用戶輸入有關(guān)的更新 {char input;if(kbhit())//判斷是否有輸入{input=getch();int step=10;if(input=='a')ball1_x-=step;if(input=='d')ball1_x+=step;if(input=='w')ball1_y-=step;if(input=='s')ball1_y+=step;if(input=='4')ball2_x-=step;if(input=='6')ball2_x+=step;if(input=='8')ball2_y-=step;if(input=='5')ball2_y+=step;} }void gameover() {EndBatchDraw();closegraph(); }int main(void) {startup();//數(shù)據(jù)的初始化while(1){clean();//把之前繪制的內(nèi)容取消updateWithoutInput();//與用戶輸入無關(guān)的更新updateWithInput();//與用戶輸入有關(guān)的更新show();//顯示新畫面}gameover();//游戲結(jié)束,進(jìn)行后續(xù)處理return 0; } 你會(huì)發(fā)現(xiàn)這有一個(gè)弊端: 雙方同一時(shí)刻只能有一個(gè)運(yùn)行,不能同時(shí)運(yùn)行。

三、異步操作的實(shí)現(xiàn)


代碼如下:

#include<conio.h> #include<graphics.h> #define High 480//游戲畫面尺寸 #define Width 640//全局變量 int ball1_x,ball1_y;//小球1的坐標(biāo) int ball2_x,ball2_y;//小球2的坐標(biāo) int radius;void startup()//數(shù)據(jù)的初始化 {ball1_x=Width/3;ball1_y=High/3;ball2_x=Width*2/3;ball2_y=High*2/3;radius=20;initgraph(Width,High);BeginBatchDraw(); }void clean()//消除畫面 {setcolor(BLACK);setfillcolor(BLACK);fillcircle(ball1_x,ball1_y,radius);fillcircle(ball2_x,ball2_y,radius); }void show()//顯示畫面 {setcolor(GREEN);setfillcolor(GREEN);fillcircle(ball1_x,ball1_y,radius);//繪制綠圓setcolor(RED);setfillcolor(RED);fillcircle(ball2_x,ball2_y,radius);//繪制紅圓FlushBatchDraw();Sleep(3); }void updateWithoutInput()//與用戶輸入無關(guān)的更新 {}void updateWithInput()//與用戶輸入有關(guān)的更新 {int step=1;if((GetAsyncKeyState(0x41)&0x8000))//aball1_x-=step;if((GetAsyncKeyState(0x44)&0x8000))//dball1_x+=step;if((GetAsyncKeyState(0x57)&0x8000))//wball1_y-=step;if((GetAsyncKeyState(0x53)&0x8000))//sball1_y+=step;if((GetAsyncKeyState(VK_LEFT)&0x8000))//左方向鍵ball2_x-=step;if((GetAsyncKeyState(VK_RIGHT)&0x8000))//右方向鍵ball2_x+=step;if((GetAsyncKeyState(VK_UP)&0x8000))//上方向鍵ball2_y-=step;if((GetAsyncKeyState(VK_DOWN)&0x8000))//下方向鍵ball2_y+=step; }void gameover() {EndBatchDraw();closegraph(); }int main(void) {startup();//數(shù)據(jù)的初始化while(1){clean();//把之前繪制的內(nèi)容取消updateWithoutInput();//與用戶輸入無關(guān)的更新updateWithInput();//與用戶輸入有關(guān)的更新show();//顯示新畫面}gameover();//游戲結(jié)束,進(jìn)行后續(xù)處理return 0; }

效果圖如下:

四、雙人反彈球

代碼如下:

#include<conio.h> #include<graphics.h> #include<Windows.h> #define High 480//游戲畫面尺寸 #define Width 640//全局變量 int ball_x,ball_y;//小球的坐標(biāo) int ball_vx,ball_vy;//小球2的速度 int bar1_left,bar1_right,bar1_top,bar1_bottom;//擋板1的上下左右位置坐標(biāo) int bar2_left,bar2_right,bar2_top,bar2_bottom;//擋板2的上下左右位置坐標(biāo) int bar_height,bar_width;//擋板的高度和寬度 int radius;void startup()//數(shù)據(jù)的初始化 {ball_x=Width/2;ball_y=High/2;ball_vx=1;ball_vy=1;radius=20;bar_width=Width/30;bar_height=High/4;bar1_left=Width*1/20;//擋板1的數(shù)據(jù)初始化bar1_top=High/4;bar1_right=bar1_left+bar_width;bar1_bottom=bar1_top+bar_height;bar2_left=Width*18.5/20;//擋板2的數(shù)據(jù)初始化bar2_top=High/4;bar2_right=bar2_left+bar_width;bar2_bottom=bar2_top+bar_height;initgraph(Width,High);BeginBatchDraw(); }void clean()//消除畫面 {setcolor(BLACK);setfillcolor(BLACK);fillcircle(ball_x,ball_y,radius);fillcircle(ball_x,ball_y,radius);bar(bar1_left,bar1_top,bar1_right,bar1_bottom);//繪制擋板bar(bar2_left,bar2_top,bar2_right,bar2_bottom); }void show()//顯示畫面 {setcolor(GREEN);setfillcolor(GREEN);fillcircle(ball_x,ball_y,radius);//繪制綠圓setcolor(RED);setfillcolor(RED);bar(bar1_left,bar1_top,bar1_right,bar1_bottom);bar(bar2_left,bar2_top,bar2_right,bar2_bottom);FlushBatchDraw();Sleep(3); }void updateWithoutInput()//與用戶輸入無關(guān)的更新 {//擋板和小球碰撞,小球反彈if(ball_x+radius>=bar2_left&&ball_y+radius>=bar2_top&&ball_y+radius<bar2_bottom)ball_vx=-ball_vx;else if(ball_x-radius<=bar1_right&&ball_y+radius>=bar1_top&&ball_y+radius<bar1_bottom)ball_vx=-ball_vx;//更新小球的坐標(biāo)ball_x=ball_x+ball_vx;ball_y=ball_y+ball_vy;if((ball_x<=radius)||(ball_x>+Width-radius))ball_vx=-ball_vx;if((ball_y<=radius)||(ball_y>+High-radius))ball_vy=-ball_vy;}void updateWithInput()//與用戶輸入有關(guān)的更新 {int step=1;if((GetAsyncKeyState(0x57)&0x8000))//wbar1_top-=step;if((GetAsyncKeyState(0x53)&0x8000))//sbar1_top+=step;if((GetAsyncKeyState(VK_UP)&0x8000))//上方向鍵bar2_top-=step;if((GetAsyncKeyState(VK_DOWN)&0x8000))//下方向鍵bar2_top+=step;if(bar1_top<0)//判斷擋板是否超過屏幕bar1_top+=step;if(bar2_top<0)bar2_top+=step;if(bar1_top+bar_height>High)bar1_top-=step;if(bar2_top+bar_height>High)bar2_top-=step;bar1_bottom=bar1_top+bar_height;bar2_bottom=bar2_top+bar_height; }void gameover() {EndBatchDraw();closegraph(); }int main(void) {startup();//數(shù)據(jù)的初始化while(1){clean();//把之前繪制的內(nèi)容取消updateWithoutInput();//與用戶輸入無關(guān)的更新updateWithInput();//與用戶輸入有關(guān)的更新show();//顯示新畫面}gameover();//游戲結(jié)束,進(jìn)行后續(xù)處理return 0; }

效果圖如下:

總結(jié)

以上是生活随笔為你收集整理的项目: 双人反弹球游戏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产美女一区 | 国产成人精品视频ⅴa片软件竹菊 | a视频免费在线观看 | 欧美成人做爰大片免费看黄石 | 久色91| 青青草99 | 午夜在线小视频 | 西比尔在线观看完整视频高清 | 美女又爽又黄视频 | 第一色网站 | 久久久久久九九九 | 成人毛毛片 | 国产一级二级 | 国产精视频 | 97成人在线观看 | jizz久久 | 成人在线中文字幕 | 欧美日韩在线视频免费播放 | 亚洲精品成人无码熟妇在线 | 精品视频三区 | 国产精品麻豆入口 | 亚洲天堂精品一区 | 国产麻豆精品一区二区 | 亚洲日本久久 | 天天干天天干 | 欧美日韩在线免费视频 | 三级黄色片网站 | 一本毛片 | 国产在线精品一区二区三区 | 日本特黄网站 | 天堂网wwww| 综合网色| 亚洲精品成人在线视频 | 中文字幕在线观看的网站 | 一区二区三区四区久久 | 欧美激情免费看 | 环太平洋3:泰坦崛起 | 最新色网址 | 操综合网 | 黄色片不卡 | 久久高清| 欲求不满在线小早川怜子 | 四虎免费在线观看 | 欧美激情一区在线 | 精品女厕偷拍一区二区 | 日韩在线中文字幕 | 噜噜噜久久,亚洲精品国产品 | 久久国产精品波多野结衣av | 国产欧美一区二区在线 | 岛国精品在线观看 | 日本免费中文字幕 | 国产a视频免费观看 | 国产麻豆精品在线观看 | 4438亚洲| 狠狠艹av | 国产欲妇 | 网站av在线 | 男人插女人免费视频 | 日本激情网 | av性天堂网 | 自拍偷拍日韩 | 在线亚洲一区二区 | 国产成人二区 | 99在线无码精品入口 | 久久人人爽爽人人爽人人片av | 亚洲一区二区三区久久久 | 欧美少妇一区二区三区 | 男女做那个视频 | 欧美性色视频 | 成人激情视频在线观看 | 亚洲视频免费看 | av四虎| a级片在线播放 | 成人在线观看你懂的 | 亚洲av综合av一区二区三区 | 国产精品日韩无码 | 亚洲AV无码久久精品色三人行 | 国产三级短视频 | 久久99国产精品成人 | 奇米狠狠干 | 欧美风情第一页 | 久热国产精品视频 | 色天使在线视频 | 精品人妻无码一区二区性色 | 欧美激情一区二区三区四区 | 亚州久久久 | 亚洲在线激情 | 国精产品一区一区三区 | 五月婷婷六月合 | 992tv成人免费视频 | 久久伊人精品 | 3p在线视频| xxxxx黄色 | 欧洲日韩一区二区三区 | 91喷水| 天堂а√在线中文在线 | 99久久婷婷国产一区二区三区 | 老太婆av | 女警白嫩翘臀呻吟迎合 |