void CEneH0203BigBody::SeqCrash() { //----------------------------------------------------- //破壊された //----------------------------------------------------- m_bDamage = gxFalse; if( m_Add.y < 800 ) m_Add.y += 2; m_Pos.x += m_Add.x; m_Pos.y += m_Add.y; Sint32 sLine = pGame->GetMarineLine(); if( sLine && m_Pos.y > sLine ) { MakeSplash( m_Pos.x , m_Pos.y ); viiMus::PlaySound( enSoundSplashM ); SetActionSeq( enActionSeqEnd ); } }
bool MyApp::ProcessCommandLine(MyFrame* frame) { bool success = TRUE; wxLogTextCtrl textLog(frame->m_logCtrl); wxLog* oldTarget = wxLog::SetActiveTarget(& textLog); Log(m_cmdLine); int retValue = m_parser.Parse(); if (retValue == -1) { // Help message m_parser.Usage(); success = FALSE; } else if (retValue > 0) { // Syntax error Log(wxT("Sorry, syntax error.")); success = FALSE; } else { if (m_parser.Found(wxT("h"))) { m_parser.Usage(); success = FALSE; } else { m_batchMode = m_parser.Found(wxT("b")); // command line OK. Find option values. if (!m_parser.Found(wxT("i"), & m_inputFilename)) { Log(wxT("You must supply an input filename.")); m_batchMode = FALSE; success = FALSE; } if (!m_parser.Found(wxT("o"), & m_outputFilename)) { Log(wxT("You must supply an output filename.")); m_batchMode = FALSE; success = FALSE; } if (!m_parser.Found(wxT("t"), & m_text)) { Log(wxT("You must supply some text to add.")); success = FALSE; m_batchMode = FALSE; } m_parser.Found(wxT("f"), & m_fontFaceName); m_parser.Found(wxT("p"), & m_fontPointSize); long x = 0, y = 0; m_parser.Found(wxT("x"), & x); m_parser.Found(wxT("y"), & y); m_textPosition = wxPoint(x, y); wxString colourStr; if (m_parser.Found(wxT("fcol"), & colourStr)) { m_textForegroundColour = wxHexStringToColour(colourStr); } if (m_parser.Found(wxT("bcol"), & colourStr)) { m_textBackgroundColour = wxHexStringToColour(colourStr); } m_parser.Found(wxT("m"), & m_scaleFactor); // Find switches m_verbose = m_parser.Found(wxT("v")); m_centre = m_parser.Found(wxT("c")); m_rightJustify = m_parser.Found(wxT("r")); m_antialias = m_parser.Found(wxT("a")); if (m_parser.Found(wxT("bo"))) m_fontWeight = wxBOLD; if (m_parser.Found(wxT("it"))) m_fontStyle = wxITALIC; } } if (success) { success = MakeSplash(); } wxLog::GetActiveTarget()->Flush(); wxLog::SetActiveTarget(oldTarget); return success; }
void CEneH0203BigBody::SeqMain() { //----------------------------------------------------- //メイン //----------------------------------------------------- OBJ_POS_T StPos; StPos.x = m_Pos.x; StPos.y = m_Pos.y; if( m_bDestroy ) { // viiMus::PlaySound( enSoundCrashA ); EffectMakeBigBomb(m_Pos.x , m_Pos.y); viiEff::SetBombDeluxe( m_Pos.x , m_Pos.y , 3 , 5 ); m_Add.x = (1+viiSub::Rand()%3)*30; m_Add.y = -viiSub::Rand()%200; if( m_ID == enSnakeHead ) { new CEffectDmgprt( m_Pos.x, m_Pos.y , 180+15*1 , 600 ); new CEffectDmgprt( m_Pos.x, m_Pos.y , 180+45*1 , 800 ); new CEffectDmgprt( m_Pos.x, m_Pos.y , 180+135*1 ,600 ); new CEffectDmgprt( m_Pos.x, m_Pos.y , 180+165 , 600 ); ScorePlus( enScore ); } SetActionSeq( enActionSeqCrash ); if( m_ID%4==0) { new CEffectDmgprt( m_Pos.x, m_Pos.y -3200, -90 , 100 ); new CEffectDmgprt( m_Pos.x, m_Pos.y -3200, -88 , 120 ); new CEffectDmgprt( m_Pos.x, m_Pos.y -3200, -92 , 80 ); } } if( IsScrollOut( enScrollOutWidth , enScrollOutHeight ) ) { } //----------------------------------------------------- //思考パターン //----------------------------------------------------- LogicAI(); //----------------------------------------------------- //くらい判定登録 //----------------------------------------------------- Sint32 ax,ay; if( m_ID == enSnakeHead ) { m_bDamage = m_HitKurai.is_damage(); m_HitKurai.ax1 = enKuraiLeft*3; m_HitKurai.ax2 = enKuraiRight*3; m_HitKurai.ay1 = enKuraiTop*3; m_HitKurai.ay2 = enKuraiBottom*3; ax = m_Pos.x+viiMath::Cos100( m_sRotation )*24; ay = m_Pos.y+viiMath::Sin100( m_sRotation )*24; StPos.x = ax; StPos.y = ay; if( !m_bCrashHead && m_HitKurai.is_dead() ) { viiEff::SetBombDeluxe( ax , ay , 5 , 5+viiSub::Rand()%2 ); m_bCrashHead = gxTrue; m_bDamage = gxFalse; } } else if( m_ID == enSnakeBody ) { m_bDamage = m_HitKurai.is_damage(); m_HitKurai.ax1 = enKuraiLeft*3; m_HitKurai.ax2 = enKuraiRight*3; m_HitKurai.ay1 = enKuraiTop*3; m_HitKurai.ay2 = enKuraiBottom*3; ax = m_Pos.x+viiMath::Cos100( m_sRotation )*24; ay = m_Pos.y+viiMath::Sin100( m_sRotation )*24; StPos.x = ax; StPos.y = ay; if( m_HitKurai.is_dead() ) { m_bDead = gxTrue; } } else { ax = m_Pos.x+viiMath::Cos100( m_sRotation )*24; ay = m_Pos.y+viiMath::Sin100( m_sRotation )*24; m_HitKurai.set_hp(1); m_HitKurai.set_ap(1); m_bDamage = m_bFlash; m_bFlash = gxFalse; } Sint32 sLine = pGame->GetMarineLine(); if( sLine && m_Pos.y>sLine-3800 && m_Pos.y<sLine ) { if( m_Old.y < sLine-3800 )//viiSub::GameCounter()%16 == 0 ) { new CEffWater( ax , sLine , enTypeSplashLarge , 0); MakeSplash( ax+(-8+viiSub::Rand()%16)*100 , sLine , PRIO_EFFECT ); } } else if( m_Old.y > sLine-3800 && m_Pos.y<sLine-3800)//viiSub::GameCounter()%16 == 0 ) { new CEffWater( ax , sLine , enTypeSplashLarge , 0); MakeSplash( ax+(-8+viiSub::Rand()%16)*100 , sLine , PRIO_EFFECT ); } //----------------------------------- //くらい判定登録 //----------------------------------- m_HitKurai.SetHantei(ID_ENEMY_DEF,&StPos ); //----------------------------------- //あたり判定登録 //----------------------------------- m_HitAtari.set_hp(1); m_HitAtari.set_ap(1); m_HitAtari.SetAtackType( ATK_TYPE_CANNON ); m_HitAtari.SetHantei(ID_ENEMY_ATK,&m_Pos ); m_bAtack = gxFalse; }