d力球游戏程序(cc++版)

d力球游戏程序(cc++版),第1张

C经典程序_简单d力球游戏

本文由风雨雪浪人贡献

#include <graphics.h>

#include <stdlib.h>

#include <dos.h>

#include <conio.h>

#define R 4 /*球半径*/

struct box

{ int x

int y

int color

}a[6][14]

int Keystate

int MouseExist

int MouseButton

int MouseX

int MouseY=400

int dx=1,dy=1/*计算球的反d*/

int sizex=18,sizey=10/*box的宽度和长度*/

void draw(int x,int y) /* x, y为左上角坐蚂祥标sizex,sizey

为长和宽*/

{

int sizx=sizex-1

int sizy=sizey-1

setcolor(15)/*这里最好用白色*/

line(x,y,x+sizx-1,y)

line(x,y+1,x+sizx-2,y+1)

line(x,y,x,y+sizy-1)

line(x+1,y,x+1,y+sizy-2)

setcolor(8)/*这里最好用深灰色*/

line(x+1,y+sizy,x+sizx,y+sizy)

line(x+2,y+sizy-1,x+sizx,y+sizy-1)

line(x+sizx-1,y+1,x+sizx-1,y+sizy)

line(x+sizx,y+2,x+sizx,y+sizy)

setcolor(7)/*这里最好用灰色*/

putpixel(x,y+sizy,3)

putpixel(x+1,y+sizy-1,3)

putpixel(x+sizx,y,3)

putpixel(x+sizx-1,y+1,3)

setfillstyle(1, 7)/*这里最好用灰色,设置填充模式*/

bar(x+2,y+2,x+sizx-2,y+sizy-2)

}

void picture() /*画box*/

{ int i,j

setcolor(15)

rectangle(99,49,413,451)

for(i=0i<6i++)

for(j=0j<14j++)

{ a[i][j].color=0

a[i][j].x=104+j*22

a[i][j].y=54+i*14

draw(104+j*22,54+i*14)

}

sizex=50,sizey=5

}

/*鼠标光标显示*/

void MouseOn(int x,int y)

{

draw(x,y)

}

/*隐藏鼠标*/

void MouseOff()

{

int x,y

x=MouseX

y=MouseY

setfillstyle(1,0)

bar(x,y,x+sizex,y+sizey)

}

/*鼠标是否加载

MouseExist:1=加载

0=未加载

MouseButton:鼠标按键数目 */

void MouseLoad()

{

_AX=0x00

geninterrupt(0x33)

MouseExist=_AX

MouseButton=_BX

}

/*鼠标状态值初始化*/

void MouseReset()

{

_AX=0x00

geninterrupt(0x33)

}

/*设置鼠标左右边界

lx:左边界

gx:右边界 */

void MouseSetX(int lx,int rx)

{

_CX=lx

_DX=rx

_AX=0x07

geninterrupt(0x33)

}

/*设置鼠标上下边闷让搏界

uy:上边界

dy:下边界 */

void MouseSetY(int uy,int dy)

{

_CX=uy

_DX=dy

_AX=0x08

geninterrupt(0x33)

}

/*设置鼠标当前位置

x:横向坐标

y:纵向坐标 */

void MouseSetXY(int x,int y)

{

_CX=x

_DX=y

_AX=0x04

geninterrupt(0x33)

}

/*设置鼠标速度(缺省值:vx=8,vy=1)

值越大滑拿速度越慢 */

void MouseSpeed(int vx,int vy)

{

_CX=vx

_DX=vy

_AX=0x0f

geninterrupt(0x33)

}

/*获取鼠标当前位置*/

void MouseGetXY()

{

_AX=0x03

geninterrupt(0x33)

MouseX=_CX

MouseY=_DX

}

void MouseStatus()/*鼠标按键情况*/

{

int x

int status

status=0/*默认鼠标没又移动*/

x=MouseX

if(x==MouseX&&status==0) /*鼠标没动*/

{

MouseGetXY()

if(MouseX!=x)

if(MouseX+50<413)

status=1

}

if(status)/*移动情况才重新显示鼠标*/

{

setfillstyle(1,0)

bar(x,MouseY,x+sizex,MouseY+sizey)

MouseOn(MouseX,MouseY)/*新位置显示*/

}

}

void Move()

{int ballX/*球的圆心*/

int ballY=MouseY-R

int i,j,t=0

randomize()

while(ballX=random(409))

if(ballX>=105 &&ballX<=408)

break

while(kbhit)

{

MouseStatus()

if(ballY<=(58-R)) /*碰上反d*/

dy*=(-1)

if(ballX>=(413-R)||ballX<=(108-R)) /*碰左右反d*/

dx*=(-1)

setcolor(YELLOW)

circle(ballX+=dx,ballY-=dy,R-1)

delay(2500)

setcolor(0)

circle(ballX,ballY,R-1)

for(i=0i<6i++)

for(j=0j<14j++) /*判断是否传记撞击box*/

if(t<84&&a[i][j].color==0 &&ballX>=a[i][j].x &&

ballX<=a[i][j].x+18

&&ballY>=a[i][j].y &&ballY<=a[i][j].y+10)

{t++

dy*=(-1)

a[i][j].color=1

setfillstyle(1,0)

bar(a[i][j].x,a[i][j].y,a[i][j].x+18,a[i][j].y+10)

}

if(ballX==MouseX||ballX==MouseX-1||

ballX==MouseX-2&&ballX==(MouseX+50+2)||

ballX==(MouseX+50+1)||ballX==(MouseX+50)) /*

碰板反d*/

if(ballY>=(MouseY-R))

{ dx*=(-1)

dy*=(-1)/*原路返回*/

}

if(ballX>MouseX &&ballX<(MouseX+50)) /*碰板反

d*/

if(ballY>=(MouseY-R))

dy*=(-1)

if(t==84)

{ sleep(1)

cleardevice()

setcolor(RED)

settextstyle(0,0,4)

outtextxy(100,200,"Win")sleep(1)

break

}

if(ballY>MouseY)

{ sleep(1)

cleardevice()

setcolor(RED)

settextstyle(0,0,4)

outtextxy(100,200,"Game Over")sleep(1)

break

}

}

}

void main()

{int gd=DETECT,gm

initgraph(&gd,&gm,"c:\\tc")

picture()

MouseSetX(100,362)/*设置鼠标移动的范围*/

MouseSetY(MouseY,MouseY)/*鼠标只能左右移动*/

MouseSetXY(150,MouseY)/*鼠标的初始位置*/

MouseOn(MouseX,MouseY)/*第一次显示鼠标*/

Move()

closegraph()

}

有。

玩具除开木头材质的,其他玩具都需要ccc认证。

3c认证全称为中国强制性产品认证,它是中国政府为保护消费者人身安全和国家安全、加强产品质量管理、依照法律法规实施的一种产品合格评定制度。3C标志纳衫历一般贴在产品表面,或通过模具压在产品上,其图形为椭圆形的CCC标志,每个标志后面都有一个随机码。3C认证的特点是:国家公布统一的目塌桐录,确定统一适用的国家标准、技术规则和洞搜实施程序,制定统一的标志标识,规定统一的收费标准。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12275884.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存