static void car_speed() //speeds may need to be adjusted { if(count<-1){ switch(settings.cc){ case 2: speed=5; break; //move 150cc case 1: speed=4; break; //move 100cc case 0: speed=3; break; //move 50cc; } if(wall2==0){move_car();} } else{ if(z>=10){count--; z=0;} z++; } }
bool game() { g_score = 0; g_level = 0; g_nEnemy = 1; init(); int key = 0; // 押下されたキー int keyDown = 0; // 押下状態のキー bool update = true; int iv = 10; for (int cnt=1;;++cnt) { if( update ) { int nDot = draw_map(); draw_enemy(); draw_car(); draw_score(); g_db.swap(); if( !nDot ) { // ドット全消去 mciSendString(TEXT("play one23.mp3"), NULL, 0, NULL); Sleep(1000); g_score += g_nEnemy * 1000; if( ++g_level > 1 ) ++g_nEnemy; init(); continue; //return true; } if( check_crash() ) { mciSendString(TEXT("play s-burst01.mp3"), NULL, 0, NULL); return false; } } Sleep(10); update = false; if( !keyDown ) { // キー押下を受け付けていない場合 if( isKeyPressed(VK_LEFT) ) { key = keyDown = VK_LEFT; } else if( isKeyPressed(VK_RIGHT) ) { key = keyDown = VK_RIGHT; } else if( isKeyPressed(VK_UP) ) { key = keyDown = VK_UP; } else if( isKeyPressed(VK_DOWN) ) { key = keyDown = VK_DOWN; } } else { if( !isKeyPressed(keyDown) )// 押されたキーが離された keyDown = 0; } if( cnt % 10 == 0 ) { for (int i = 0; i < (int)g_enemy.size(); ++i) { move_car(g_enemy[i]); change_lane(g_enemy[i]); } update = true; } accel_decel(key, iv); if( cnt % iv == 0 ) { move_car(g_car); change_lane(g_car, key); //move_car(g_car, key); eat_dot(); update = true; iv = 10; } } }