/** * Shot() * 弾を発射する。 */ void Tank::Shot() { if (shotInter > 0) return; //// 発射位置・向きを求める D3DXVECTOR3 vShotPos(0, 0, 0); D3DXVECTOR3 vShotDir(0, 0, 1); D3DXMATRIX m, mPos, mPosGun, mRot, mRotHead; D3DXMatrixTranslation(&mPos, vPos.x, vPos.y, vPos.z); D3DXMatrixTranslation(&mPosGun, 0, TANK_BODY_H+(TANK_HEAD_H-TANK_GUN_H)*0.5f, (TANK_HEAD_D+TANK_GUN_D)*0.5f); D3DXMatrixRotationY(&mRot, rotBody); D3DXMatrixRotationY(&mRotHead, rotHead); // 位置 m = mPosGun * mRot * mRotHead * mPos; D3DXVec3TransformCoord(&vShotPos, &vShotPos, &m); // 向き m = mRot * mRotHead; D3DXVec3TransformCoord(&vShotDir, &vShotDir, &m); //// 発射 Bullet bul(vShotPos, vShotDir, 10.0f); GameMain::GetInstance().PushBullet(bul); shotInter = 10; }
void Gun::update(){ if(ofGetElapsedTimeMillis() - timeSinceLastShot > SHOT_DELAY){ ofxVec2f shooting(pos.x + cos(angle) * (s*2),pos.y + sin(angle)*(s*2)); Bullet bul(angle,speed,shooting); //bullets.push_back(bul); timeSinceLastShot = ofGetElapsedTimeMillis(); } }
/*---------------------------------*/ int main(){ int re1,re2,re3; char text[300]; printf("Ters cevirilecek metini giriniz\n"); gets(text); re1=bul(text); re2=kelime(text); re3=lebul(text); terscevir(text);/* Bu fonksiyonu en son gönder cünkü cümleyi ters ceviriyor ve diðer iþlemleri etkiliyor */ printf("\nTers Hali \n%s\n",text); printf("\n'e' lerin sayisi: %d\n",re1); printf("\nKelime sayisi: %d\n",re2); printf("\n'le' lerin sayisi: %d\n",re3); printf("\n%s",text); return 0; }