ʵÑéÁù ÅÚµ¯·¢ÉäÍê³É
¡¾ÊµÑéÄÚÈÝ¡¿
²½ÖèÒ»¡¢ÖØÐ³õʼ»¯ÓÎÏ·Êý¾Ý ²½Öè¶þ¡¢ÖØÐ³õʼ»¯Ä¿±ê¾«ÁéλÖÃ
¡¾ÊµÑé˼·¡¿
Èç¹ûÒѾ¿ªÅÚ£¬µÈ´ý»ØºÏʱ¼äµ½ÁËÖ®ºó£¬¿ªÊ¼ÏÂÒ»»ØºÏ¡£ÖØÐ³õʼ»¯ÓÎÏ·Êý¾Ý£¬Ëæ»ú¸Ä±äÈý¸öÄ¿±ê¾«ÁéµÄλÖá£
¡¾ÊµÑéÖ¸µ¼¡¿
1¡¢ ½øÈëLessonX.cppÖеÄGameRunº¯ÊýÀïÃæ£¬ÔÚif( 0 == m_iFireState )ºóÃæÌí¼ÓÒ»¸öelse
ifÅжϣº
else if( 1 == m_iFireState ) { }
2¡¢ Èç¹ûµÈ´ý»ØºÏʱ¼äµ½ÁË£¬¼´m_fRoundTimeµÄֵΪСÓÚ0£¬ÔòÖØÐ³õʼ»¯Êý¾Ý£¬Í¬Ê±
¸Ä±äÈý¸öÄ¿±ê¾«ÁéµÄλÖã¬Õⲿ·ÖºÍʵÑé¶þÖÐGameInit´úÂëÀàËÆ£¬ËùÒÔÕâÀï²»×÷·Ö²½Öè˵Ã÷£¬ÔÚÉÏÃæµÄelse if( 1 == m_iFireState )ÖÐÌí¼ÓÈçÏ´úÂ룺
m_fRoundTime -= fDeltaTime;
if( m_fRoundTime <= 0.f ) {
// ÖØÐ³õʼ»¯ m_iFireState = m_fGunRotation m_fGunStrength
0; = =
m_fMaxRotation; 0.f;
// Ä¿±êÿ»ØºÏË®Æ½ÒÆ¶¯Ò»´Î£º
// ÓÃÑ»·±éÀúg_szTargetName£¬Èç¹û¸Ã¾«ÁéµÄ±»»÷ÖдÎÊý // g_iTargetHitСÓÚ3²ÅÐèÒª×ö
// ÐèÒª×öµÄ2¼þÊ£º0-45Ö®¼äËæ»úX×ø±ê£¬Y×ø±ê²»±ä¡£ // È»ºóʹÓÃdSpriteMoveToÒÆ¶¯¾«Áé¡£Çë²Î¿¼GameInitº¯Êý
}
int
iLoop = 0;
float fPosX = 0, fPosY = 0;
for( iLoop = 0; iLoop < TARGET_COUNT; iLoop++ ) { }
if( m_iTargetHit[iLoop] >= 3 )
continue;
= =
CSystem::RandomRange( 0, 45 ); m_pTarget[iLoop]->GetSpritePositionY();
// ÿ»ØºÏÔÚX·½ÏòÉÏ£¬Ä¿±êÔÚ0-45·¶Î§ÄÚËæ»úÒÆ¶¯Ò»´Î fPosX fPosY
m_pTarget[iLoop]->SpriteMoveTo(fPosX, fPosY, 40.f, 1);
ʵÑéÆß ÅжÏÓÎÏ·ÊÇ·ñʤÀû
¡¾ÊµÑéÄÚÈÝ¡¿
²½Öè¡¢ÅжÏÊÇ·ñʤÀû£¬ÊǵĻ°ÖØÐ¿ªÊ¼ÓÎÏ·
¡¾ÊµÑé˼·¡¿
±éÀúm_iTargetHitÊý×飬Èç¹ûÓÐֵСÓÚ3£¬Ôò·µ»Ø0£¬ÓÎϷδ½áÊø,·ñÔòÓÎϷʤÀû¡£
¡¾ÊµÑéÖ¸µ¼¡¿
1¡¢ ½øÈëLessonX.hÖÐÌí¼ÓÅжÏÊÇ·ñʤÀûµÄIsGameWinº¯ÊýÉùÃ÷£º
int IsGameWin();
2¡¢ ½øÈëLessonX.cppÖÐÌí¼Ó¸Ãº¯ÊýµÄ¶¨Ò壺
int CGameMain::IsGameWin() { }
3¡¢ ÅжÏÓÎÏ·ÊÇ·ñʤÀû£¬Ö»ÐèҪʹÓÃforÑ»·£¬±éÀúm_iTargetHitÊý×飬Èç¹ûÓÐֵСÓÚ3£¬
Ôò·µ»Ø0£¬ÓÎϷδ½áÊø¡£·ñÔòÓÎϷʤÀû£¬·µ»Ø1¡£ÔÚÉÏÃæµÄº¯Êý¶¨ÒåÀïÃæÌí¼ÓÈçÏ´úÂ룺
int iLoop = 0;
for( iLoop = 0; iLoop < TARGET_COUNT; iLoop++ ) { }
return 1;
if( m_iTargetHit[iLoop] < 3 )
return 0;
4¡¢ ×îºóÔÚGameMainLoopº¯ÊýÀïÃæ½«case 2£ºÖеÄif£¨true£©¸ÄΪif£¨!IsGameWin()£©
¼´¿É¡£
5¡¢ Èç¹ûÓÎϷʤÀû£¬Ôò±¾¾ÖÓÎÏ·½áÊø£¬Òò´ËÐèÒªÔÚGameEndº¯ÊýÀïÃæÌí¼ÓÏÂÃæÒ»Ðдú
Â룬ʹÓÎÏ·½áÊøºóÓÐÖØÐ¿ªÊ¼ÐµÄÓÎÏ·¡£
// ÂíÉÏÓÖ¿ªÊ¼ÓÎÏ·£¬ËùÒÔÖ±½ÓÉèÖÃ״̬ m_iGameState = 1; ÖÁ´Ë£¬±¾ÊµÑé½áÊø¡£