如何实现vc弹球游戏 想做一个弹球游戏,可不知道从哪下手,还请各位大侠多多指教。比如:算法啊什么的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 msdn2.microsoft.com/en-us/library/s3wsyb55(VS.80).aspx typedef struct { POINT Center_Pos; bool IsShow; int Radius; float speed; //当前球体的角度, 相对于x轴正方向的; float theta; COLORREF color; }BALL; BALL ball[BALL_NUM]; //台球桌的尺寸; int m_DeskX, m_DeskY; //桌面起始坐标: CPoint m_DeskOrig;void CHitView::Collision(int ballx, int bally, int ballr, int index){ //right, 没有除去画笔的宽度; 有个边缘问题; if(ball[index].Center_Pos.x >= (m_DeskOrig.x+m_DeskX-ballr) ) { ball[index].Center_Pos.x = m_DeskOrig.x+m_DeskX-ballr; ball[index].theta = PI - ball[index].theta; } //bottom if (ball[index].Center_Pos.y >= (m_DeskOrig.y+m_DeskY-ballr) ) { ball[index].Center_Pos.y = m_DeskOrig.y+m_DeskY-ballr; ball[index].theta = -ball[index].theta; } //left if ( ball[index].Center_Pos.x <= m_DeskOrig.x+ballr ) { ball[index].Center_Pos.x = m_DeskOrig.x+ballr; ball[index].theta = PI - ball[index].theta; } //top if (ball[index].Center_Pos.y <= m_DeskOrig.y+ballr) { ball[index].Center_Pos.y = m_DeskOrig.y+ballr; ball[index].theta = -ball[index].theta; }}球的数据结构,还有就是与窗口碰撞的函数, 求助!初学DLL的困惑 关于电源管理的问题。 问一下有关CTabCtrl的用法 请教CWinThread::Run死循环问题 如何使某键一直处于按下状态? 紧急求救,不胜感激!! 提供几个关于com的网站上! 头文件和CPP文件放在一个文件夹?在线等候 请问各位大虾:MFC到底还有无前途? VC数据库使用中的一个问题 如何具体判断一个字符串中哪个是英文字母? NetRemoteTOD调用失败
typedef struct
{
POINT Center_Pos;
bool IsShow;
int Radius;
float speed;
//当前球体的角度, 相对于x轴正方向的;
float theta;
COLORREF color;
}BALL; BALL ball[BALL_NUM];
//台球桌的尺寸;
int m_DeskX, m_DeskY;
//桌面起始坐标:
CPoint m_DeskOrig;void CHitView::Collision(int ballx, int bally, int ballr, int index)
{
//right, 没有除去画笔的宽度; 有个边缘问题;
if(ball[index].Center_Pos.x >= (m_DeskOrig.x+m_DeskX-ballr) )
{
ball[index].Center_Pos.x = m_DeskOrig.x+m_DeskX-ballr;
ball[index].theta = PI - ball[index].theta;
}
//bottom
if (ball[index].Center_Pos.y >= (m_DeskOrig.y+m_DeskY-ballr) )
{
ball[index].Center_Pos.y = m_DeskOrig.y+m_DeskY-ballr;
ball[index].theta = -ball[index].theta;
}
//left
if ( ball[index].Center_Pos.x <= m_DeskOrig.x+ballr )
{
ball[index].Center_Pos.x = m_DeskOrig.x+ballr;
ball[index].theta = PI - ball[index].theta;
}
//top
if (ball[index].Center_Pos.y <= m_DeskOrig.y+ballr)
{
ball[index].Center_Pos.y = m_DeskOrig.y+ballr;
ball[index].theta = -ball[index].theta;
}
}
球的数据结构,还有就是与窗口碰撞的函数,