void Game::CheckInputEvents(int i) { float temp; switch (i) { case 0: temp = player[PLAYER_ONE]->m_Y - ScreenHeight / 160; if (temp > ScreenHeight / 50) { player[PLAYER_ONE]->m_Y = temp; } break; case 1: temp = player[PLAYER_ONE]->m_Y + ScreenHeight / 160; if (temp < player[PLAYER_TWO]->m_Y) { player[PLAYER_ONE]->m_Y = temp; } break; case 2: Punch(PLAYER_ONE, 0.1f); break; case 3: Kick(PLAYER_ONE, 0.1f); break; case 4: //hadoken break; case 5: //Block break; default: break; } }
// ----------------------------------------------------------------------------- // Purpose: // ----------------------------------------------------------------------------- void CTFHammerfists::SecondaryAttack() { if ( !CanAttack() ) return; m_iWeaponMode = TF_WEAPON_SECONDARY_MODE; Punch(); }
// ----------------------------------------------------------------------------- // Purpose: // ----------------------------------------------------------------------------- void CTFHammerfists::PrimaryAttack( void ) { if ( !CanAttack() ) return; m_iWeaponMode = TF_WEAPON_PRIMARY_MODE; Punch(); }
QImage PunchFilter::apply(const QImage &image, const QRect& clipRect /*= QRect()*/ ) const { QImage out; QImage::Format fmt = image.format(); Punch(image, &out, clipRect); if (out.format() != fmt) { out = out.convertToFormat(fmt); } return out; }
func Timer() { var pDead2, pNewTarget; if(!pTarget) { for(var pDead in FindObjects(Find_Action("Dead"), Find_Distance(100))) { if(GetPhase(pDead) < 4) if(PathFree(GetX(), GetY(), pDead->GetX(), pDead->GetY())) { pDead2 = pDead; break; } } pDead = pDead2; if(pDead) { for(pNewTarget in FindObjects(Find_OCF(OCF_Alive), Find_Distance(100), Find_Hostile(GetOwner(pDead)))) { if(PathFree(GetX(), GetY(), pNewTarget->GetX(), pNewTarget->GetY())) { iTimer = 0; pTarget = pNewTarget; } } } } if(pTarget) { iTimer++; if(iTimer%10 != 0) return; if(iTimer > 100) pTarget = 0; else if(!PathFree(GetX(), GetY(), pTarget->GetX(), pTarget->GetY()) && !pTarget->Contained()) pTarget = 0; if(!pTarget) return; Message("Töte niemanden an diesem heiligen Ort!", this); DrawLightning(GetX(),GetY(),pTarget->GetX(), pTarget->GetY()); Punch(pTarget, 5); } }
/* * The constructor, caller only has control over the name of the character */ Protagonist::Protagonist(string name) { level = 10; attack = 30; defense = 30; health = 200; energy = 200; isDead = false; this->name = name; characterType = NORMAL; Ability Punch(0, 10, "punch", NORMAL); Ability Waterbomb(30, 50, "waterbomb", WATER); Ability Treehammer(40, 60, "treehammer", GRASS); Ability Inferno(50, 70, "inferno", FIRE); Ability Sunder(80, 100, "sunder", NORMAL); abilities.push_back(Punch); abilities.push_back(Waterbomb); abilities.push_back(Treehammer); abilities.push_back(Inferno); abilities.push_back(Sunder); }
void Game::CheckAINextMove() { // if we should left dash int distance = player[PLAYER_TWO]->m_Y - player[PLAYER_ONE]->m_Y; if (!(player[PLAYER_TWO]->getPrevHit())) { // check if we should kick if (distance == 0) { if (player[PLAYER_ONE]->m_Y > ScreenHeight / 15) { Kick(PLAYER_TWO, 1.0f); player[PLAYER_TWO]->setPrevMovement(2); } // check if we should punch else { Punch(PLAYER_TWO, 1.0f); player[PLAYER_TWO]->setPrevMovement(3); } } else { //check if we should dash left if (player[PLAYER_ONE]->getPrevMovement() != 4) { if (ScreenHeight / 6 < distance) { float temp = CheckPlayer1Collision((float)(player[PLAYER_TWO]->m_Y - (ScreenHeight / 15))); Dash(PLAYER_TWO, temp); player[PLAYER_TWO]->setPrevMovement(0); } else if (projectiles[PLAYER_ONE].size() > 0) { MakeHadoken(PLAYER_TWO); player[PLAYER_TWO]->setPrevMovement(4); } // check if we should move left else { float temp = CheckPlayer1Collision(player[PLAYER_TWO]->m_Y - (ScreenHeight / 160)); player[PLAYER_TWO]->m_Y = temp; player[PLAYER_TWO]->setPrevMovement(0); } } else { if (projectiles[PLAYER_ONE].size() > 0) { if (projectiles[PLAYER_ONE].at(0)->m_Y - player[PLAYER_TWO]->m_Y < ScreenHeight / 10) { Block(PLAYER_TWO); player[PLAYER_TWO]->setPrevMovement(5); } } } } } else { // check if we should right dash if (player[PLAYER_TWO]->getPrevHit()) { player[PLAYER_TWO]->setPrevMovement(1); } // check if we should move right else if (0) { player[PLAYER_TWO]->setPrevMovement(1); } } player[PLAYER_TWO]->setPrevHit(false); }
static void ATARI2(void){ int STAGED=((wnow.YLOC+8-7)/16+1)+scr; int STAGEE=((wnow.YLOC+8+7.99)/16+1)+scr; //int STAGEE=((wnow.YLOC+8)/16+1)+scr; int a=((wnow.XLOC+8-6)/16+1); int b=((wnow.XLOC+8+5.99)/16+1); int MIDLEFT=0; int MIDRIGHT=0; int TOPLEFT=0; int TOPRIGHT=0; int BOTTOMLEFT=0; int BOTTOMRIGHT=0; double XMERI=0; double YMERI=0; int he1=((wnow.XLOC+8+8)/16); int he2=((wnow.YLOC+8+8)/16); int he3=((wnow.XLOC+8-6)/16+1); int he42=((wnow.YLOC+8-7)/16+1); int he5=((wnow.XLOC+8+6-16)/16+1); int he6=((wnow.XLOC+8)/16+1); int he7=(((wnow.YLOC+8)/16+1)+scr); int he8=((wnow.YLOC+8+8)/16+1); //int he9=((wnow.XLOC+8+5.99)/16+1); int he10=((wnow.YLOC+8+8-16)/16+1); int he32=((wnow.XLOC+8-5)/16+1); int he92=((wnow.XLOC+8+4.99)/16+1); if (wnow.HASIGO == 0){ TOPLEFT=tuka(wyomidata.mapd[a-1][STAGED-1]); TOPRIGHT=tuka(wyomidata.mapd[b-1][STAGED-1]); BOTTOMLEFT=tuka(wyomidata.mapd[a-1][STAGEE-1]); BOTTOMRIGHT=tuka(wyomidata.mapd[b-1][STAGEE-1]); } else { TOPLEFT=tuka2(wyomidata.mapd[a-1][STAGED-1]); TOPRIGHT=tuka2(wyomidata.mapd[b-1][STAGED-1]); BOTTOMLEFT=tuka2(wyomidata.mapd[a-1][STAGEE-1]); BOTTOMRIGHT=tuka2(wyomidata.mapd[b-1][STAGEE-1]); } if (wnow.HASIGO == 0 && wyomidata.mapd[a-1][STAGED-1]=='U'){MIDLEFT=1;} if (wnow.HASIGO == 0 && wyomidata.mapd[b-1][STAGED-1]=='U'){MIDRIGHT=1;} if (TOPLEFT+TOPRIGHT+MIDLEFT+MIDRIGHT==1){ if (MIDLEFT==1){ XMERI=(wnow.XLOC+8-6-(16*he1))/(wnow.XKANSEI+0.0001); YMERI=(wnow.YLOC+8-7-(16*he2))/(wnow.YKANSEI+0.0001); if (wnow.YKANSEI<0){ if ((XMERI*XMERI < YMERI*YMERI && XMERI >= 0)||(YMERI<0)){ } else { if (kmsearch(wnow.XLOC-1,(wnow.YLOC+6-15))=='U'){ Punch(wnow.XLOC-1,wnow.YLOC+6); wnow.YLOC=16*he42+7-8; wnow.YKANSEI=0; } } } } else if(MIDRIGHT==1){ XMERI=(wnow.XLOC+8+6-(16*he1))/(wnow.XKANSEI+0.0001); YMERI=(wnow.YLOC+8-7-(16*he2))/(wnow.YKANSEI+0.0001); if (wnow.YKANSEI<0){ if ((XMERI*XMERI < YMERI*YMERI && XMERI >= 0)||(YMERI<0)){ } else { if (kmsearch(wnow.XLOC+17,(wnow.YLOC+6-15))=='U'){ Punch(wnow.XLOC+17,wnow.YLOC+6); wnow.YLOC=16*he42+7-8; wnow.YKANSEI=0; } } } } } else { if (TOPLEFT+TOPRIGHT+MIDLEFT+MIDRIGHT==2){ if (wnow.YKANSEI<0){ if (kmsearch(wnow.XLOC+8,wnow.YLOC+8-16) != 'D'){ if (kmsearch(wnow.XLOC+8,(wnow.YLOC+8-15))=='U'){ Punch(wnow.XLOC+8,wnow.YLOC+8); wnow.YLOC=16*he42+7-8; wnow.YKANSEI=0; } } else{ wnow.YLOC=wnow.YLOC-5-8; } } } } if (TOPLEFT+BOTTOMLEFT+TOPRIGHT+BOTTOMRIGHT==1) { if (TOPLEFT==1){ XMERI=(wnow.XLOC+8-6-(16*he1))/(wnow.XKANSEI+0.0001); YMERI=(wnow.YLOC+8-7-(16*he2))/(wnow.YKANSEI+0.0001); if ((XMERI*XMERI < YMERI*YMERI && XMERI >= 0)||(YMERI<0)){ wnow.XLOC=16*he3+6-8; wnow.XKANSEI=0; } else { Punch(wnow.XLOC-1,wnow.YLOC+6); wnow.YLOC=16*he42+7-8; wnow.YKANSEI=0; } } else if(TOPRIGHT==1){ XMERI=(wnow.XLOC+8+6-(16*he1))/(wnow.XKANSEI+0.0001); YMERI=(wnow.YLOC+8-7-(16*he2))/(wnow.YKANSEI+0.0001); if ((XMERI*XMERI < YMERI*YMERI && XMERI >= 0)||(YMERI<0)){ wnow.XLOC=16*he5-6-8; wnow.XKANSEI=0; } else { Punch(wnow.XLOC+17,wnow.YLOC+6); wnow.YLOC=16*he42+7-8; wnow.YKANSEI=0; } } else if(BOTTOMLEFT==1){ XMERI=(wnow.XLOC+8-6-(16*he1))/(wnow.XKANSEI+0.0001); YMERI=(wnow.YLOC+8+8-(16*he2))/(wnow.YKANSEI+0.0001); if ((XMERI*XMERI < YMERI*YMERI && XMERI >= 0)||(YMERI<0)){ wnow.XLOC=16*he3+6-8; wnow.XKANSEI=0; } } else if(BOTTOMRIGHT==1){ XMERI=(wnow.XLOC+8+6-(16*he1))/(wnow.XKANSEI+0.0001); YMERI=(wnow.YLOC+8+8-(16*he2))/(wnow.YKANSEI+0.0001); if ((XMERI*XMERI < YMERI*YMERI && XMERI >= 0)||(YMERI<0)){ wnow.XLOC=16*he5-6-8; wnow.XKANSEI=0; } } } else if (TOPLEFT+BOTTOMLEFT+TOPRIGHT+BOTTOMRIGHT==0 || TOPLEFT+BOTTOMLEFT+TOPRIGHT+BOTTOMRIGHT==4){} else{ if (TOPLEFT+BOTTOMLEFT==2){ wnow.XLOC=16*he3+6-8; wnow.XKANSEI=0; } if (TOPRIGHT+BOTTOMRIGHT==2){ wnow.XLOC=16*he5-6-8; wnow.XKANSEI=0; } if (TOPLEFT+TOPRIGHT==2){ if (kmsearch(wnow.XLOC+8,wnow.YLOC+8-16) != 'D'){ Punch(wnow.XLOC+8,wnow.YLOC+8); wnow.YLOC=16*he42+7-8; wnow.YKANSEI=0; } else{ wnow.YLOC=wnow.YLOC-5-8; } } if (TOPLEFT+BOTTOMRIGHT==TOPLEFT+BOTTOMLEFT+TOPRIGHT+BOTTOMRIGHT || TOPRIGHT+BOTTOMLEFT==TOPLEFT+BOTTOMLEFT+TOPRIGHT+BOTTOMRIGHT){ if (wnow.XKANSEI>0){wnow.XLOC=(16*he5)-6-8;} else if (wnow.XKANSEI<0){wnow.XLOC=(16*he3)+6-8;} wnow.XKANSEI=0; if (wnow.YKANSEI<0){wnow.YLOC=(16*he42)+7-8;} wnow.YKANSEI=0; } } if (INIT(wnow.XLOC+8,wnow.YLOC+8,'G')==TRUE){wnow.JIMEN=TRUE;} else if (kmsearch(wnow.XLOC+8,wnow.YLOC+8)=='R'){ tuikapaint(he6,he7,'S'); wnow.KAGI=TRUE; } else if (INIT(wnow.XLOC+8,wnow.YLOC+8,'T')==TRUE){ if (wnow.KAGI==TRUE){ ketumatu=1; GAMEN=END; } } else if (INIT(wnow.XLOC+8,wnow.YLOC+8,'C')==TRUE){ ketumatu=1; GAMEN=END; } else if (INIT(wnow.XLOC+8,wnow.YLOC+8,'W')==TRUE){ wdeady.sp=-16; wdeady.g=1.6; wdeady.nowt=wnow.YLOC; GAMEN=END; wdeady.kaiten=0; ketumatu=0; wdeady.deadcount=1; } else if (INIT(wnow.XLOC+8,wnow.YLOC+8,'X')==TRUE){ wdeady.sp=12; wdeady.g=0; wdeady.nowt=wnow.YLOC; GAMEN=END; wdeady.kaiten=0; ketumatu=0; wdeady.deadcount=1; } he32=((wnow.XLOC+8-5)/16+1); he92=((wnow.XLOC+8+4.99)/16+1); he8=((wnow.YLOC+8+8)/16+1); if (wnow.HASIGO==0){ if (TOPLEFT==1){BOTTOMLEFT=0;} else if (BOTTOMLEFT==1){BOTTOMLEFT=tuka(wyomidata.mapd[he32-1][he8+scr-1]);} if (TOPRIGHT==1){BOTTOMRIGHT=0;} else if (BOTTOMRIGHT==1){BOTTOMRIGHT=tuka(wyomidata.mapd[he92-1][he8+scr-1]);} } else if (wnow.HASIGO==1){ if (TOPLEFT==1){BOTTOMLEFT=0;} else if (BOTTOMLEFT==1){BOTTOMLEFT=tuka2(wyomidata.mapd[he32-1][he8+scr-1]);} if (TOPRIGHT==1){BOTTOMRIGHT=0;} else if (BOTTOMRIGHT==1){BOTTOMRIGHT=tuka2(wyomidata.mapd[he92-1][he8+scr-1]);} } if (BOTTOMLEFT+BOTTOMRIGHT>=1 && BOTTOMLEFT+BOTTOMRIGHT<=4){ wnow.JIMEN=ZIM; wnow.YLOC=16*he10-8-8; wnow.YKANSEI=0; } else {wnow.JIMEN=SORA;} if (wnow.NUPDW!=1 && (wnow.YLOC-(wnow.MAPSCROLL % 16))<0){ wnow.YLOC=(wnow.MAPSCROLL % 16); wnow.YKANSEI=0; } }