游戏首页>休闲游戏>策略模拟>正文
【分享】我上传的第一个项目~瓦哈哈哈!!!

2007-10-01 11:51:26 | 点击: 0 | 评论: 0 | 好评: 0 | 坏评: 0 | 第3页/共8页 << 上一页|下一页 >>


侠客:yuqiubo
yuqiubo 侠客文章

mdc = CreateCompatibleDC(hdc); // 获得与hdc兼容的DC

SelectObject(mdc,hBitmap); // 选择位图到mdc

BitBlt(hdc,x,y,63,63,mdc,0,0,SRCPAINT); // 贴小球到hdc 即窗口上

//>>>>>>>>>>>>>>小球矩形区域重新赋值<<<<<<<<<<<<<<<<用于重绘客户区

ballrect.left=x-20;

ballrect.right=x+BALL_BMP_SIZE+20;

ballrect.top=y-20;

ballrect.bottom=y+BALL_BMP_SIZE+20;

ReleaseDC(hwnd,hdc); // 与GetDC 对应

DeleteDC(mdc); // 与CreateCompatibleDC对应

if(

(x+BALL_BMP_SIZE*1/3) > (random%(rect.right-BALL_BMP_SIZE*1/3-2*FRAME_WIDTH) )

// 小球的左上角横坐标在篮筐左边框内

&&

(x+BALL_BMP_SIZE*2/3) < (random%(rect.right-BALL_BMP_SIZE*1/3-2*FRAME_WIDTH)

+2*FRAME_WIDTH+BALL_BMP_SIZE*1/3 )

// 小球的右上角横坐标在篮筐右边框内

&&

(y+BALL_BMP_SIZE*1/3) > (random%(rect.bottom-BALL_BMP_SIZE*1/3-2*FRAME_WIDTH) )

// 小球的左上角纵坐标在篮筐上边框内

&&

(y+BALL_BMP_SIZE*2/3) < (random%(rect.bottom-BALL_BMP_SIZE*1/3 -2*FRAME_WIDTH )

+2*FRAME_WIDTH+BALL_BMP_SIZE*1/3 )

// 小球的左下角纵坐标在篮筐下边框内

) //if语句 如果

{

KillTimer(hwnd,1); // 销毁计时器

int result = MessageBox(hwnd,TEXT("哦也!球进了!!!\n\n是否重新开始?"),

TEXT(" 哦也!恭喜! "),MB_YESNO);

if(IDYES == result) // 选择了重新开始

{

InvalidateRect(hwnd,&rectangle,1); // 刷新篮筐矩形

InvalidateRect(hwnd,&ballrect,1); // 刷新小球矩形

srand((unsigned)time(NULL)); // 重新获得随即数

random=rand(); // 重新获得随机数

SetTimer(hwnd,1,90,NULL); // 重新设置计时器

x=y=-21; // 把小球放在0,0位置

xstep=BALL_X_MOVE; // 设置水平移动速度

ystep=BALL_Y_MOVE; // 设置垂直移动速度

}

else // 没有选择重新开始

{

result = MessageBox(hwnd,TEXT("是否真要退出游戏?"),

TEXT("BOSS!请选择!"),MB_YESNO);

if(IDYES == result) // 选择了退出

{

DestroyWindow(hwnd);

}

else // 没有选择退出

{

result = MessageBox(hwnd,TEXT(" 从新开始:\"是\"\n\n 退出游戏:\"否\""),

TEXT("BOSS!请再选择!"),MB_YESNO);

if(IDYES == result) // 重新开始

{

InvalidateRect(hwnd,&rectangle,1); // 重绘篮筐区域

InvalidateRect(hwnd,&ballrect,1); // 重绘小球区域

srand((unsigned)time(NULL)); // 重设随机数

random=rand(); // 获得随机数

SetTimer(hwnd,1,90,NULL); // 重设计时器

x=y=-21; // 把小球放在0,0位置

xstep=BALL_X_MOVE; // 设置水平移动速度

ystep=BALL_Y_MOVE; // 设置垂直移动速度

}

else // 否则退出

{

DestroyWindow(hwnd);

} //else

} // else

} //else

} // if

//************************************************************

x+=xstep; // 水平移动

y+=ystep; // 垂直移动

// 判断是否到边界,越界则重设

if(x+BALL_BMP_SIZE*2/3 > rect.right) // 右边界

{

xstep = -xstep;

x = rect.right-BALL_BMP_SIZE*2/3;

}

if(y+BALL_BMP_SIZE*2/3 > rect.bottom) // 上边界

{

ystep = -ystep;

y = rect.bottom-BALL_BMP_SIZE*2/3;

}

if(x < -BALL_BMP_SIZE*1/3) // 左边界

{

xstep = -xstep;

x = -BALL_BMP_SIZE*1/3;

}

if(y < -BALL_BMP_SIZE*1/3) // 下边界

{

ystep = -ystep;

y=-BALL_BMP_SIZE*1/3;

}

上一页 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 下一页
点击:0  评论:0  好评:0  坏评:0
    

相关资讯

最新评论
标题 作者 发布时间
发表评论
您必须登录后才能发表评论,  请登录  新用户?注册

    雅虎推荐

声明

中国雅虎侠客平台仅提供信息存储空间服务,其内容均由服务对象提供。根据《信息网络传播权保护条例》,部分内容可能应权利人通知未予显示,请点击这里查看。

游戏达人排行榜

游戏激辩排行榜

    消费热点