Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5337 → Rev 5338

/programs/games/LaserTank/trunk/LaserTank.cpp
933,13 → 933,79
switch (gameMode)
{
case MODE_MENU:
if (key = 27)
if (key == 27)
kos_ExitApp();
 
if (key == 13 || key == 32)
SetMode(MODE_LEVELS);
break;
case MODE_LEVELS:
if (key = 27)
if (key == 27)
SetMode(MODE_MENU);
 
if (levelPage > 0 && key == 183)
{
levelIndex -= 30;
draw_window();
}
else
if (levelPage < (int)(levelCount / 30) && key == 184)
{
levelIndex += 30;
if (levelIndex >= levelCount)
levelIndex = levelCount - 1;
draw_window();
}
 
// 179, 100 D Right
if ((key == 179 || key == 100) && (levelIndex + 1) < levelCount)
{
levelIndex++;
draw_window();
}
// 176, 97 A Left
if ((key == 176 || key == 97) && levelIndex > 0)
{
levelIndex--;
draw_window();
}
// 119, 178: W Up
if ((key == 119 || key == 178) && (levelIndex - 6) >= 0)
{
levelIndex -= 6;
draw_window();
}
// 177, 115 S Down
if ((key == 177 || key == 115) && (levelIndex + 6) < levelCount)
{
levelIndex += 6;
draw_window();
}
 
if (key == 13 || key == 32)
{
openLevel(levelIndex);
SetMode(MODE_GAME);
}
 
break;
case MODE_PAUSE:
if (key == 27)
SetMode(MODE_LEVELS);
else
if ((key == 32 || key == 13) && (gameStatus == GAME_NONE || (gameStatus == GAME_VICTORY && levelIndex < (levelCount - 1))))
{
if (gameStatus == GAME_VICTORY)
openLevel(levelIndex + 1);
SetMode(MODE_GAME);
}
else
if (key == 114)
{
openLevel(levelIndex);
SetMode(MODE_GAME);
}
break;
case MODE_GAME:
switch (key)
{
1005,17 → 1071,20
else
if (levelPage > 0 && CollRecrVsPoint(position, Rect(9, 318, 57, 57)))
{
levelPage--;
levelIndex -= 30;
draw_window();
}
else
if (levelPage < (int)(levelCount / 30) && CollRecrVsPoint(position, Rect(70, 318, 57, 57)))
{
levelPage++;
levelIndex += 30;
if (levelIndex >= levelCount)
levelIndex = levelCount - 1;
draw_window();
}
else
{
levelPage = (int)(levelIndex / 30);
for (int i = levelPage * 30; i < min(levelCount, (levelPage + 1) * 30); i++)
{
 
1045,7 → 1114,7
SetMode(MODE_GAME);
}
else
if (gameStatus != GAME_DEFEAT && CollRecrVsPoint(position, Rect(77, 192, 229, 57)))
if (CollRecrVsPoint(position, Rect(77, 192, 229, 57)) && (gameStatus == GAME_NONE || (gameStatus == GAME_VICTORY && levelIndex < (levelCount - 1))))
{
if (gameStatus == GAME_VICTORY)
openLevel(levelIndex + 1);
1092,6 → 1161,8
break;
case MODE_LEVELS:
renderLevels->RenderImg(img_levels, Point(0, 0), 384, 384);
 
levelPage = (int)(levelIndex / 30);
for (int i = levelPage * 30; i < min(levelCount, (levelPage + 1) * 30); i++)
{
if (i % 6 == 0 && i != levelPage * 30)
1099,8 → 1170,16
level_pos.X = 0;
level_pos.Y++;
}
if (levelIndex != i)
{
objnumber_box->Draw(Point(11 + level_pos.X * 62, 11 + 61 * level_pos.Y), 0);
draw_level_number(Point(11 + level_pos.X * 62, 11 + 61 * level_pos.Y), i + 1, (RGB)0x252317);
}
else
{
objnumber_box->Draw(Point(11 + level_pos.X * 62, 11 + 61 * level_pos.Y), 0, (RGB)0xAA0000);
draw_level_number(Point(11 + level_pos.X * 62, 11 + 61 * level_pos.Y), i + 1, (RGB)0xAA0000);
}
 
level_pos.X++;
}
1147,7 → 1226,7
for (int x = 0; x < 16; x++)
objblack->Draw(Point(24 * x, 24 * y), 0);
 
if (gameStatus != GAME_DEFEAT)
if (gameStatus == GAME_NONE || (gameStatus == GAME_VICTORY && levelIndex < (levelCount - 1)))
renderLevels->RenderImg((RGB*)img_buttons[1], Point(77, 192), 229, 57);
renderLevels->RenderImg((RGB*)img_buttons[2], Point(77, 255), 229, 57);
renderLevels->RenderImg((RGB*)img_buttons[0], Point(77, 318), 229, 57);
1253,6 → 1332,8
 
void kos_Main()
{
//rtlDebugOutString(" ");
//rtlDebugOutString("kos_Main");
char *cPtr;
cPtr = strrchr(kosExePath, '/');
// ïðîâåðêà ;)