91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.08MB
    文件類型: .7z
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-10-25
  • 語言: C/C++
  • 標(biāo)簽: C語言??小游戲??乒乓??

資源簡介

C語言編寫的乒乓球游戲,人機(jī)對戰(zhàn),按W向上移動,按S向下移動。

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#include
#include

void?control(void*);
void?display(void*);
void?AI(void*);
void?physics(void*);
void?sound(void*);

int?player1_y=250;
int?player1_score=0;
int?player2_y=250;
int?player2_score=0;

int?ball_x=390;
int?ball_y=290;
int?ver_ball_x=1;
int?ver_ball_y=1;

bool?wav1=0;

void?main(void) //主程序
{


_beginthread(control0NULL);??? /********************************/
_beginthread(AI0NULL); /*??????????????????????????????*/
_beginthread(physics0NULL); /*????? ?啟動多線程?????*/
_beginthread(display0NULL); /*??????????????????????????????*/
_beginthread(sound0NULL); /********************************/
while(1)
{
Sleep(10000);?????????????????????//主程序延時
}
}

void?physics(void*) //碰撞效果線程
{

while(1)
{
ball_x+=ver_ball_x;
ball_y+=ver_ball_y;
if(ball_y<=0)
{
ball_y=0;
ver_ball_y=-ver_ball_y;
wav1=1;
}
if(ball_y>=580)
{
ball_y=580;
ver_ball_y=-ver_ball_y;
wav1=1;
}
if(ball_x<=20?&&?ball_y>player1_y-20?&&?ball_y<(player1_y+100))
{
ver_ball_x=-ver_ball_x;
wav1=1;
}
if(ball_x>=760?&&?ball_y>player2_y-20?&&?ball_y<(player2_y+100))
{
ver_ball_x=-ver_ball_x;
wav1=1;
}
if(ball_x<0)
{
ball_x=390;
ball_y=290;
ver_ball_x=-ver_ball_x;
player2_score++;


}
if(ball_x>780)
{
ball_x=390;
ball_y=290;
ver_ball_x=-ver_ball_x;
player1_score++;

}
Sleep(5);
}
}





void?control(void*) //控制模塊線程
{
char?key;
while(1)
{
key=getch();
switch(key)
{
case?‘w‘:player1_y-=20;break;
case?‘s‘:player1_y+=20;break;
default:break;
}
if(player1_y<0)
player1_y=0;
if(player1_y>500)
player1_y=500;
}
}

void?AI(void*) //對手行動線程
{
while(1)
{
if(ver_ball_x>0?&&ball_x>390)
{
if(player2_y+20>ball_y)
player2_y-=20;
if(player2_y+80 player2_y+=20;
if(player2_y<0)
player2_y=0;
if(player2_y>500)
player2_y=500;
}
Sleep(100);
}
}




void?display(void*) //圖形顯示線程
{
initgraph(800600);
char?temp_c[3];
LOGFONT?f;
getfont(&f);???????????????????????//?獲取當(dāng)前字體設(shè)置

f.lfHeight?=?32;???????????????????//?設(shè)置字體高度
strcpy(f.lfFaceName?“黑體“);??????//?設(shè)置字體
f.lfQuality?=?DEFAULT_QUALITY;?????//?設(shè)置輸出效果為無抗鋸齒
f.lfUnderline=0;???????????????????//設(shè)置下劃線
setfont(&f);???????????????????????//?設(shè)置字體樣式
setcolor(RGB(255255255));
while(1)
{
BeginBatchDraw();

setfillstyle(RGB(000));
bar(00800600);
setfillstyle(RGB(255255255));
bar(0player1_y20player1_y+100);
bar(780player2_y800player2_y+100);
bar(ball_xball_yball_x+20ball_y+20);
sprintf(temp_c“YOU:%d“player1_score);
outtextxy(25050temp_c);
sprintf(temp_c“CPU:%d“player2_score);
outtextxy(47050temp_c);
bar(3900410600);

EndBatchDraw();
Sleep(20);

評論

共有 條評論