Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- # blockType 1 = 2x2 block
- # blockType 2 = vertical 1x4 block
- # blockType 2.1 = horizontal 1x4 block
- # blockType 3 = vertical Z block
- # blockType 3.1 = horizontal Z block
- # blockType 4 = flipped vertical Z block
- # blockType 4.1 = flipped horizontal Z block
- # blockType 5 = L block
- # blockType 5.1 = L block 90 degrees left
- # blockType 5.2 = L block 180 degrees left
- # blockType 5.3 = L block 270 degrees left
- # blockType 6 = flipped L block
- # blockType 6.1 = flipped L block 90 degrees left
- # blockType 6.2 = flipped L block 180 degrees left
- # blockType 6.3 = flipped L block 270 degrees left
- */
- #include <allegro.h>
- #include <cstdlib>
- volatile int timer;
- void inc_timer()
- {
- timer++;
- }
- BITMAP *buffer;
- BITMAP *buffer2;
- BITMAP *bgSprite;
- BITMAP *menuBgSprite;
- BITMAP *optionsBgSprite;
- BITMAP *block1;
- BITMAP *block2;
- BITMAP *block3;
- BITMAP *block4;
- BITMAP *block5;
- BITMAP *block6;
- BITMAP *block7;
- BITMAP *nextBlock1;
- BITMAP *nextBlock2;
- BITMAP *nextBlock3;
- BITMAP *nextBlock4;
- BITMAP *nextBlock5;
- BITMAP *nextBlock6;
- BITMAP *nextBlock7;
- BITMAP *gameOverSprite;
- BITMAP *mouseSprite;
- BITMAP *onSprite;
- BITMAP *offSprite;
- SAMPLE *clickSample;
- SAMPLE *click2Sample;
- SAMPLE *pauseSample;
- SAMPLE *menuSample;
- int main()
- {
- srand(time(NULL));
- allegro_init();
- install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT , "q");
- install_keyboard();
- install_mouse();
- set_color_depth(16);
- set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0);
- install_timer();
- LOCK_VARIABLE(timer);
- LOCK_FUNCTION(inc_timer);
- install_int_ex(inc_timer, BPS_TO_TIMER(60));
- buffer = create_bitmap(640,480);
- buffer2 = create_bitmap(640,480);
- bgSprite = load_bitmap("Graphics/Backgrounds/bg.bmp", NULL);
- menuBgSprite = load_bitmap("Graphics/Backgrounds/menubg.bmp", NULL);
- optionsBgSprite = load_bitmap("Graphics/Backgrounds/optionsbg.bmp", NULL);
- block1 = load_bitmap("Graphics/Blocks/block1.bmp", NULL);
- block2 = load_bitmap("Graphics/Blocks/block2.bmp", NULL);
- block3 = load_bitmap("Graphics/Blocks/block3.bmp", NULL);
- block4 = load_bitmap("Graphics/Blocks/block4.bmp", NULL);
- block5 = load_bitmap("Graphics/Blocks/block5.bmp", NULL);
- block6 = load_bitmap("Graphics/Blocks/block6.bmp", NULL);
- block7 = load_bitmap("Graphics/Blocks/block7.bmp", NULL);
- nextBlock1 = load_bitmap("Graphics/Blocks/nextBlock1.bmp", NULL);
- nextBlock2 = load_bitmap("Graphics/Blocks/nextBlock2.bmp", NULL);
- nextBlock3 = load_bitmap("Graphics/Blocks/nextBlock3.bmp", NULL);
- nextBlock4 = load_bitmap("Graphics/Blocks/nextBlock4.bmp", NULL);
- nextBlock5 = load_bitmap("Graphics/Blocks/nextBlock5.bmp", NULL);
- nextBlock6 = load_bitmap("Graphics/Blocks/nextBlock6.bmp", NULL);
- nextBlock7 = load_bitmap("Graphics/Blocks/nextBlock7.bmp", NULL);
- gameOverSprite = load_bitmap("Graphics/Others/gameover.bmp", NULL);
- mouseSprite = load_bitmap("Graphics/Others/mouse.bmp", NULL);
- onSprite = load_bitmap("Graphics/Others/on.bmp", NULL);
- offSprite = load_bitmap("Graphics/Others/off.bmp", NULL);
- clickSample = load_wav("Sounds/click.wav");
- click2Sample = load_wav("Sounds/click2.wav");
- pauseSample = load_wav("Sounds/pause.wav");
- menuSample = load_wav("Sounds/menu.wav");
- int gameArea[11][14];
- for(int i = 0; i < 11; i++)
- {
- for(int t = 0; t < 14; t++)
- {
- gameArea[i][t] = 0;
- }
- }
- int score = 0;
- double combo = 1;
- double maxCombo = 1;
- int posX[11] = {10,42,74,106,138,170,202,234,266,298,330};
- int posY[14] = {10,42,74,106,138,170,202,234,266,298,330,362,394,426};
- int tempY = 0;
- int tempX = 4;
- int blocks = 0;
- int blockY = 0;
- int blockX = 0;
- int blockRotate = 0;
- int pause = 0;
- int pauseGame = 0;
- int playSound = 1;
- int menuTimer = 0;
- int sound = 1;
- bool moveBlock = 0;
- double blockType = rand() % 7 + 1;
- double blockType2 = rand() % 7 + 1;
- double blockType3 = rand() % 7 + 1;
- int animationY[7] = {0,68,136,204,272,340,408};
- int game = 0;
- int menu = 1;
- int options = 0;
- while (true)
- {
- while (timer > 0)
- {
- if(key[KEY_LEFT] && blockX > 7 && pause == 0 || key[KEY_LEFT] && moveBlock == 0 && pause == 0)
- {
- moveBlock = 1;
- if(blockType == 1 && tempX > 0 && gameArea[tempX-1][tempY] == 0 && gameArea[tempX-1][tempY+1] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 2.1 && tempX > 0 && gameArea[tempX-1][tempY] == 0 && gameArea[tempX-1][tempY+1] == 0 && gameArea[tempX-1][tempY+2] == 0 && gameArea[tempX-1][tempY+3] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 2 && tempX > 0 && gameArea[tempX-1][tempY] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 3 && tempX > 0 && gameArea[tempX][tempY] == 0 && gameArea[tempX-1][tempY+1] == 0 && gameArea[tempX-1][tempY+2] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 3.1 && tempX > 0 && gameArea[tempX-1][tempY] == 0 && gameArea[tempX][tempY+1] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 4 && tempX > 0 && gameArea[tempX-1][tempY] == 0 && gameArea[tempX-1][tempY+1] == 0 && gameArea[tempX][tempY+2] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 4.1 && tempX > 0 && gameArea[tempX][tempY] == 0 && gameArea[tempX-1][tempY+1] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 5 && tempX > 0 && gameArea[tempX-1][tempY] == 0 && gameArea[tempX-1][tempY+1] == 0 && gameArea[tempX-1][tempY+2] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 5.1 && tempX > 0 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX-1][tempY+1] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 5.2 && tempX > 0 && gameArea[tempX-1][tempY] == 0 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX][tempY+2] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 5.3 && tempX > 0 && gameArea[tempX-1][tempY] == 0 && gameArea[tempX-1][tempY+1] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 6 && tempX > 0 && gameArea[tempX][tempY] == 0 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX-1][tempY+2] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 6.1 && tempX > 0 && gameArea[tempX-1][tempY] == 0 && gameArea[tempX+1][tempY+1] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 6.2 && tempX > 0 && gameArea[tempX-1][tempY] == 0 && gameArea[tempX-1][tempY+1] == 0 && gameArea[tempX-1][tempY+2] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 6.3 && tempX > 0 && gameArea[tempX-1][tempY] == 0 && gameArea[tempX-1][tempY+1] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 7 && tempX > 0 && gameArea[tempX][tempY] == 0 && gameArea[tempX-1][tempY+1] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 7.1 && tempX > 0 && gameArea[tempX][tempY] == 0 && gameArea[tempX-1][tempY+1] == 0 && gameArea[tempX][tempY+2] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 7.2 && tempX > 0 && gameArea[tempX-1][tempY] == 0 && gameArea[tempX][tempY+1] == 0)
- {
- tempX--;
- blockX = 0;
- }
- if(blockType == 7.3 && tempX > 0 && gameArea[tempX-1][tempY] == 0 && gameArea[tempX-1][tempY+1] == 0 && gameArea[tempX-1][tempY+2] == 0)
- {
- tempX--;
- blockX = 0;
- }
- }
- if(key[KEY_RIGHT] && blockX > 7 && pause == 0 || key[KEY_RIGHT] && moveBlock == 0 && pause == 0)
- {
- moveBlock = 1;
- if(blockType == 1 && tempX < 9 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 2.1 && tempX < 10 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+1][tempY+1] == 0 && gameArea[tempX+1][tempY+2] == 0 && gameArea[tempX+1][tempY+3] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 2 && tempX < 7 && gameArea[tempX+4][tempY] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 3 && tempX < 9 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 3.1 && tempX < 8 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+3][tempY+1] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 4 && tempX < 9 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 4.1 && tempX < 8 && gameArea[tempX+3][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 5 && tempX < 9 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+1][tempY+1] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 5.1 && tempX < 8 && gameArea[tempX+3][tempY] == 0 && gameArea[tempX+3][tempY+1] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 5.2 && tempX < 9 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 5.3 && tempX < 8 && gameArea[tempX+3][tempY] == 0 && gameArea[tempX+1][tempY+1] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 6 && tempX < 9 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 6.1 && tempX < 8 && gameArea[tempX+3][tempY] == 0 && gameArea[tempX+3][tempY+1] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 6.2 && tempX < 9 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+1][tempY+1] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 6.3 && tempX < 8 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+3][tempY+1] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 7 && tempX < 8 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+3][tempY+1] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 7.1 && tempX < 9 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 7.2 && tempX < 8 && gameArea[tempX+3][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- tempX++;
- blockX = 0;
- }
- if(blockType == 7.3 && tempX < 9 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- tempX++;
- blockX = 0;
- }
- }
- if(key[KEY_UP] && pause == 0)
- {
- for(int i = 0; i < 14; i++)
- {
- if(blockType == 1 && tempY < 12 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 2.1 && tempY < 10 && gameArea[tempX][tempY+4] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 2 && tempY < 13 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+1][tempY+1] == 0 && gameArea[tempX+2][tempY+1] == 0 && gameArea[tempX+3][tempY+1] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 3 && tempY < 11 && gameArea[tempX][tempY+3] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 3.1 && tempY < 12 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+1][tempY+2] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 4 && tempY < 11 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+3] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 4.1 && tempY < 12 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 5 && tempY < 11 && gameArea[tempX][tempY+3] == 0 && gameArea[tempX+1][tempY+3] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 5.1 && tempY < 12 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 5.2 && tempY < 11 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+1][tempY+3] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 5.3 && tempY < 12 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+1] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 6 && tempY < 11 && gameArea[tempX+1][tempY+3] == 0 && gameArea[tempX][tempY+3] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 6.1 && tempY < 12 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+1][tempY+1] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 6.2 && tempY < 11 && gameArea[tempX][tempY+3] == 0 && gameArea[tempX+1][tempY+1] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 6.3 && tempY < 12 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 7 && tempY < 12 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 7.1 && tempY < 11 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+3] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 7.2 && tempY < 12 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+1][tempY+2] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 7.3 && tempY < 11 && gameArea[tempX][tempY+3] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- }
- }
- if(key[KEY_DOWN] && blockY > (2-(blocks/600)) && pause == 0 || blockY > (60-(blocks/5)) && pause == 0)
- {
- if(blockType == 1 && tempY < 12 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 2.1 && tempY < 10 && gameArea[tempX][tempY+4] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 2 && tempY < 13 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+1][tempY+1] == 0 && gameArea[tempX+2][tempY+1] == 0 && gameArea[tempX+3][tempY+1] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 3 && tempY < 11 && gameArea[tempX][tempY+3] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 3.1 && tempY < 12 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+1][tempY+2] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 4 && tempY < 11 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+3] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 4.1 && tempY < 12 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 5 && tempY < 11 && gameArea[tempX][tempY+3] == 0 && gameArea[tempX+1][tempY+3] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 5.1 && tempY < 12 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 5.2 && tempY < 11 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+1][tempY+3] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 5.3 && tempY < 12 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+1] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 6 && tempY < 11 && gameArea[tempX+1][tempY+3] == 0 && gameArea[tempX][tempY+3] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 6.1 && tempY < 12 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+1][tempY+1] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 6.2 && tempY < 11 && gameArea[tempX][tempY+3] == 0 && gameArea[tempX+1][tempY+1] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 6.3 && tempY < 12 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 7 && tempY < 12 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0 && gameArea[tempX+2][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 7.1 && tempY < 11 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+3] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 7.2 && tempY < 12 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+1][tempY+2] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- if(blockType == 7.3 && tempY < 11 && gameArea[tempX][tempY+3] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- tempY++;
- blockY = 0;
- playSound = 1;
- }
- }
- if(key[KEY_A] && blockRotate > 13 && pause == 0 || key[KEY_A] && moveBlock == 0 && pause == 0)
- {
- moveBlock = 1;
- if(blockType == 2.1 && tempX < 9 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+3][tempY] == 0)
- {
- blockType = 2;
- blockRotate = 0;
- }
- else if(blockType == 2 && tempY < 11 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX][tempY+3] == 0)
- {
- blockType = 2.1;
- blockRotate = 0;
- }
- else if(blockType == 3 && tempX < 9 && gameArea[tempX][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- blockType = 3.1;
- blockRotate = 0;
- }
- else if(blockType == 3.1 && tempY < 12 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX][tempY+2] == 0)
- {
- blockType = 3;
- blockRotate = 0;
- }
- else if(blockType == 4 && tempX < 9 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+2][tempY] == 0)
- {
- blockType = 4.1;
- blockRotate = 0;
- }
- else if(blockType == 4.1 && tempY < 12 && gameArea[tempX][tempY] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- blockType = 4;
- blockRotate = 0;
- }
- else if(blockType == 5 && tempX < 9 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+2][tempY-1] == 0)
- {
- blockType = 5.1;
- blockRotate = 0;
- }
- else if(blockType == 5.1 && tempY < 12 && gameArea[tempX][tempY] == 0 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- blockType = 5.2;
- blockRotate = 0;
- }
- else if(blockType == 5.2 && tempX < 9 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+2][tempY] == 0)
- {
- blockType = 5.3;
- blockRotate = 0;
- }
- else if(blockType == 5.3 && tempY < 12 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- blockType = 5;
- blockRotate = 0;
- }
- else if(blockType == 6 && tempX < 9 && gameArea[tempX][tempY] == 0 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- blockType = 6.1;
- blockRotate = 0;
- }
- else if(blockType == 6.1 && tempY < 12 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX][tempY+2] == 0)
- {
- blockType = 6.2;
- blockRotate = 0;
- }
- else if(blockType == 6.2 && tempX < 9 && gameArea[tempX+1][tempY+1] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- blockType = 6.3;
- blockRotate = 0;
- }
- else if(blockType == 6.3 && tempY < 12 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- blockType = 6;
- blockRotate = 0;
- }
- else if(blockType == 7 && tempY < 12 && gameArea[tempX+1][tempY+2] == 0)
- {
- blockType = 7.1;
- blockRotate = 0;
- }
- else if(blockType == 7.1 && tempX < 9 && gameArea[tempX][tempY] == 0 && gameArea[tempX+2][tempY] == 0)
- {
- blockType = 7.2;
- blockRotate = 0;
- }
- else if(blockType == 7.2 && tempY < 12 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX][tempY+2] == 0)
- {
- blockType = 7.3;
- blockRotate = 0;
- }
- else if(blockType == 7.3 && tempX < 9 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- blockType = 7;
- blockRotate = 0;
- }
- }
- if(key[KEY_S] && blockRotate > 13 && pause == 0 || key[KEY_S] && moveBlock == 0 && pause == 0)
- {
- moveBlock = 1;
- if(blockType == 2.1 && tempX < 9 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+3][tempY] == 0)
- {
- blockType = 2;
- blockRotate = 0;
- }
- else if(blockType == 2 && tempY < 11 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX][tempY+3] == 0)
- {
- blockType = 2.1;
- blockRotate = 0;
- }
- else if(blockType == 3 && tempX < 9 && gameArea[tempX][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- blockType = 3.1;
- blockRotate = 0;
- }
- else if(blockType == 3.1 && tempY < 12 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX][tempY+2] == 0)
- {
- blockType = 3;
- blockRotate = 0;
- }
- else if(blockType == 4 && tempX < 9 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+2][tempY] == 0)
- {
- blockType = 4.1;
- blockRotate = 0;
- }
- else if(blockType == 4.1 && tempY < 12 && gameArea[tempX][tempY] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- blockType = 4;
- blockRotate = 0;
- }
- else if(blockType == 5 && tempX < 9 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+2][tempY] == 0)
- {
- blockType = 5.3;
- blockRotate = 0;
- }
- else if(blockType == 5.1 && tempY < 12 && gameArea[tempX][tempY] == 0 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- blockType = 5;
- blockRotate = 0;
- }
- else if(blockType == 5.2 && tempX < 9 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- blockType = 5.1;
- blockRotate = 0;
- }
- else if(blockType == 5.3 && tempY < 12 && gameArea[tempX+1][tempY+1] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- blockType = 5.2;
- blockRotate = 0;
- }
- else if(blockType == 6 && tempX < 9 && gameArea[tempX][tempY] == 0 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- blockType = 6.3;
- blockRotate = 0;
- }
- else if(blockType == 6.1 && tempY < 12 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX][tempY+2] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- blockType = 6;
- blockRotate = 0;
- }
- else if(blockType == 6.2 && tempX < 9 && gameArea[tempX+2][tempY] == 0 && gameArea[tempX+2][tempY+1] == 0)
- {
- blockType = 6.1;
- blockRotate = 0;
- }
- else if(blockType == 6.3 && tempY < 12 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX][tempY+2] == 0)
- {
- blockType = 6.2;
- blockRotate = 0;
- }
- else if(blockType == 7 && tempY < 12 && gameArea[tempX+1][tempY+2] == 0)
- {
- blockType = 7.3;
- blockRotate = 0;
- }
- else if(blockType == 7.1 && tempX < 9 && gameArea[tempX+2][tempY+1] == 0)
- {
- blockType = 7;
- blockRotate = 0;
- }
- else if(blockType == 7.2 && tempY < 12 && gameArea[tempX][tempY+1] == 0 && gameArea[tempX+1][tempY+2] == 0)
- {
- blockType = 7.1;
- blockRotate = 0;
- }
- else if(blockType == 7.3 && tempX < 9 && gameArea[tempX+1][tempY] == 0 && gameArea[tempX+2][tempY] == 0)
- {
- blockType = 7.2;
- blockRotate = 0;
- }
- }
- if(!key[KEY_LEFT] && !key[KEY_RIGHT] && !key[KEY_A] && !key[KEY_S])
- {
- moveBlock = 0;
- }
- if(playSound == 1 && sound == 1)
- {
- if(blockType == 1 && tempY == 12 || blockType == 1 && (gameArea[tempX][tempY+2] != 0 || gameArea[tempX+1][tempY+2] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 2.1 && tempY == 10 || blockType == 2.1 && (gameArea[tempX][tempY+4] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 2 && tempY == 13 || blockType == 2 && (gameArea[tempX][tempY+1] != 0 || gameArea[tempX+1][tempY+1] != 0 || gameArea[tempX+2][tempY+1] != 0 || gameArea[tempX+3][tempY+1] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 3 && tempY == 11 || blockType == 3 && (gameArea[tempX][tempY+3] != 0 || gameArea[tempX+1][tempY+2] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 3.1 && tempY == 12 || blockType == 3.1 && (gameArea[tempX][tempY+1] != 0 || gameArea[tempX+1][tempY+2] != 0 || gameArea[tempX+2][tempY+2] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 4 && tempY == 11 || blockType == 4 && (gameArea[tempX][tempY+2] != 0 || gameArea[tempX+1][tempY+3] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 4.1 && tempY == 12 || blockType == 4.1 && (gameArea[tempX][tempY+2] != 0 || gameArea[tempX+1][tempY+2] != 0 || gameArea[tempX+2][tempY+1] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 5 && tempY == 11 || blockType == 5 && (gameArea[tempX][tempY+3] != 0 || gameArea[tempX+1][tempY+3] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 5.1 && tempY == 12 || blockType == 5.1 && (gameArea[tempX][tempY+2] != 0 || gameArea[tempX+1][tempY+2] != 0 || gameArea[tempX+2][tempY+2] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 5.2 && tempY == 11 || blockType == 5.2 && (gameArea[tempX][tempY+1] != 0 || gameArea[tempX+1][tempY+3] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 5.3 && tempY == 12 || blockType == 5.3 && (gameArea[tempX][tempY+2] != 0 || gameArea[tempX+1][tempY+1] != 0 || gameArea[tempX+2][tempY+1] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 6 && tempY == 11 || blockType == 6 && (gameArea[tempX+1][tempY+3] != 0 || gameArea[tempX][tempY+3] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 6.1 && tempY == 12 || blockType == 6.1 && (gameArea[tempX][tempY+1] != 0 || gameArea[tempX+1][tempY+1] != 0 || gameArea[tempX+2][tempY+2] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 6.2 && tempY == 11 || blockType == 6.2 && (gameArea[tempX][tempY+3] != 0 || gameArea[tempX+1][tempY+1] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 6.3 && tempY == 12 || blockType == 6.3 && (gameArea[tempX][tempY+2] != 0 || gameArea[tempX+1][tempY+2] != 0 || gameArea[tempX+2][tempY+2] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 7 && tempY == 12 || blockType == 7 && (gameArea[tempX][tempY+2] != 0 || gameArea[tempX+1][tempY+2] != 0 || gameArea[tempX+2][tempY+2] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 7.1 && tempY == 11 || blockType == 7.1 && (gameArea[tempX][tempY+2] != 0 || gameArea[tempX+1][tempY+3] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 7.2 && tempY == 12 || blockType == 7.2 && (gameArea[tempX][tempY+1] != 0 || gameArea[tempX+1][tempY+2] != 0 || gameArea[tempX+2][tempY+1] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- if(blockType == 7.3 && tempY == 11 || blockType == 7.3 && (gameArea[tempX][tempY+3] != 0 || gameArea[tempX+1][tempY+2] != 0))
- {
- play_sample(click2Sample, 100, 128, 1000, 0);
- playSound = 0;
- }
- }
- if(blockType == 1 && gameArea[tempX][tempY] > 0 || blockType == 1 && gameArea[tempX+1][tempY] > 0 || blockType == 1 && gameArea[tempX][tempY+1] > 0 || blockType == 1 && gameArea[tempX+1][tempY+1] > 0 ||
- blockType == 2 && gameArea[tempX][tempY] > 0 || blockType == 2 && gameArea[tempX+1][tempY] > 0 || blockType == 2 && gameArea[tempX+2][tempY] > 0 || blockType == 2 && gameArea[tempX+3][tempY] > 0 ||
- blockType == 2.1 && gameArea[tempX][tempY] > 0 || blockType == 2.1 && gameArea[tempX][tempY+1] > 0 || blockType == 2.1 && gameArea[tempX][tempY+2] > 0 || blockType == 2.1 && gameArea[tempX][tempY+3] > 0 ||
- blockType == 3 && gameArea[tempX+1][tempY] > 0 || blockType == 3 && gameArea[tempX+1][tempY+1] > 0 || blockType == 3 && gameArea[tempX][tempY+1] > 0 || blockType == 3 && gameArea[tempX][tempY+2] > 0 ||
- blockType == 3.1 && gameArea[tempX][tempY] > 0 || blockType == 3.1 && gameArea[tempX+1][tempY] > 0 || blockType == 3.1 && gameArea[tempX+1][tempY+1] > 0 || blockType == 3.1 && gameArea[tempX+2][tempY+1] > 0 ||
- blockType == 4 && gameArea[tempX][tempY] > 0 || blockType == 4 && gameArea[tempX][tempY+1] > 0 || blockType == 4 && gameArea[tempX+1][tempY+1] > 0 || blockType == 4 && gameArea[tempX+1][tempY+2] > 0 ||
- blockType == 4.1 && gameArea[tempX+1][tempY] > 0 || blockType == 4.1 && gameArea[tempX+2][tempY] > 0 || blockType == 4.1 && gameArea[tempX+1][tempY+1] > 0 || blockType == 4.1 && gameArea[tempX][tempY+1] > 0 ||
- blockType == 5 && gameArea[tempX][tempY] > 0 || blockType == 5 && gameArea[tempX][tempY+1] > 0 || blockType == 5 && gameArea[tempX][tempY+2] > 0 || blockType == 5 && gameArea[tempX+1][tempY+2] > 0 ||
- blockType == 5.1 && gameArea[tempX][tempY+1] > 0 || blockType == 5.1 && gameArea[tempX+1][tempY+1] > 0 || blockType == 5.1 && gameArea[tempX+2][tempY+1] > 0 || blockType == 5.1 && gameArea[tempX+2][tempY] > 0 ||
- blockType == 5.2 && gameArea[tempX][tempY] > 0 || blockType == 5.2 && gameArea[tempX+1][tempY] > 0 || blockType == 5.2 && gameArea[tempX+1][tempY+1] > 0 || blockType == 5.2 && gameArea[tempX+1][tempY+2] > 0 ||
- blockType == 5.3 && gameArea[tempX][tempY] > 0 || blockType == 5.3 && gameArea[tempX+1][tempY] > 0 || blockType == 5.3 && gameArea[tempX+2][tempY] > 0 || blockType == 5.3 && gameArea[tempX][tempY+1] > 0 ||
- blockType == 6 && gameArea[tempX+1][tempY] > 0 || blockType == 6 && gameArea[tempX+1][tempY+1] > 0 || blockType == 6 && gameArea[tempX+1][tempY+2] > 0 || blockType == 6 && gameArea[tempX][tempY+2] > 0 ||
- blockType == 6.1 && gameArea[tempX][tempY] > 0 || blockType == 6.1 && gameArea[tempX+1][tempY] > 0 || blockType == 6.1 && gameArea[tempX+2][tempY] > 0 || blockType == 6.1 && gameArea[tempX+2][tempY+1] > 0 ||
- blockType == 6.2 && gameArea[tempX][tempY] > 0 || blockType == 6.2 && gameArea[tempX+1][tempY] > 0 || blockType == 6.2 && gameArea[tempX][tempY+1] > 0 || blockType == 6.2 && gameArea[tempX][tempY+2] > 0 ||
- blockType == 6.3 && gameArea[tempX][tempY] > 0 || blockType == 6.3 && gameArea[tempX][tempY+1] > 0 || blockType == 6.3 && gameArea[tempX+1][tempY+1] > 0 || blockType == 6.3 && gameArea[tempX+2][tempY+1] > 0 ||
- blockType == 7 && gameArea[tempX+1][tempY] > 0 || blockType == 7 && gameArea[tempX][tempY+1] > 0 || blockType == 7 && gameArea[tempX+1][tempY+1] > 0 || blockType == 7 && gameArea[tempX+2][tempY+1] > 0 ||
- blockType == 7.1 && gameArea[tempX+1][tempY] > 0 || blockType == 7.1 && gameArea[tempX][tempY+1] > 0 || blockType == 7.1 && gameArea[tempX+1][tempY+1] > 0 || blockType == 7.1 && gameArea[tempX+1][tempY+2] > 0 ||
- blockType == 7.2 && gameArea[tempX][tempY] > 0 || blockType == 7.2 && gameArea[tempX+1][tempY] > 0 || blockType == 7.2 && gameArea[tempX+2][tempY] > 0 || blockType == 7.2 && gameArea[tempX+1][tempY+1] > 0 ||
- blockType == 7.3 && gameArea[tempX][tempY] > 0 || blockType == 7.3 && gameArea[tempX][tempY+1] > 0 || blockType == 7.3 && gameArea[tempX+1][tempY+1] > 0 || blockType == 7.3 && gameArea[tempX][tempY+2] > 0 || key[KEY_ESC])
- {
- for(int i = 0; i < 11; i++)
- {
- for(int t = 0; t < 14; t++)
- {
- gameArea[i][t] = 0;
- }
- }
- tempX = 4;
- tempY = 0;
- game = 0;
- blocks = 0;
- if(key[KEY_ESC])
- {
- menu = 1;
- score = 0;
- combo = 1;
- maxCombo = 1;
- pause = 0;
- blocks = 0;
- }
- }
- if(blockY > (60-(blocks/5)+1))
- {
- if(blockType == 1)
- {
- gameArea[tempX][tempY] = 1;
- gameArea[tempX+1][tempY] = 1;
- gameArea[tempX][tempY+1] = 1;
- gameArea[tempX+1][tempY+1] = 1;
- }
- else if(blockType == 2.1)
- {
- gameArea[tempX][tempY] = 2;
- gameArea[tempX][tempY+1] = 2;
- gameArea[tempX][tempY+2] = 2;
- gameArea[tempX][tempY+3] = 2;
- }
- else if(blockType == 2)
- {
- gameArea[tempX][tempY] = 2;
- gameArea[tempX+1][tempY] = 2;
- gameArea[tempX+2][tempY] = 2;
- gameArea[tempX+3][tempY] = 2;
- }
- else if(blockType == 3)
- {
- gameArea[tempX+1][tempY] = 3;
- gameArea[tempX][tempY+1] = 3;
- gameArea[tempX+1][tempY+1] = 3;
- gameArea[tempX][tempY+2] = 3;
- }
- else if(blockType == 3.1)
- {
- gameArea[tempX][tempY] = 3;
- gameArea[tempX+1][tempY] = 3;
- gameArea[tempX+1][tempY+1] = 3;
- gameArea[tempX+2][tempY+1] = 3;
- }
- else if(blockType == 4)
- {
- gameArea[tempX][tempY] = 4;
- gameArea[tempX][tempY+1] = 4;
- gameArea[tempX+1][tempY+1] = 4;
- gameArea[tempX+1][tempY+2] = 4;
- }
- else if(blockType == 4.1)
- {
- gameArea[tempX+1][tempY] = 4;
- gameArea[tempX+2][tempY] = 4;
- gameArea[tempX+1][tempY+1] = 4;
- gameArea[tempX][tempY+1] = 4;
- }
- else if(blockType == 5)
- {
- gameArea[tempX][tempY] = 5;
- gameArea[tempX][tempY+1] = 5;
- gameArea[tempX][tempY+2] = 5;
- gameArea[tempX+1][tempY+2] = 5;
- }
- else if(blockType == 5.1)
- {
- gameArea[tempX][tempY+1] = 5;
- gameArea[tempX+1][tempY+1] = 5;
- gameArea[tempX+2][tempY+1] = 5;
- gameArea[tempX+2][tempY] = 5;
- }
- else if(blockType == 5.2)
- {
- gameArea[tempX][tempY] = 5;
- gameArea[tempX+1][tempY] = 5;
- gameArea[tempX+1][tempY+1] = 5;
- gameArea[tempX+1][tempY+2] = 5;
- }
- else if(blockType == 5.3)
- {
- gameArea[tempX][tempY] = 5;
- gameArea[tempX+1][tempY] = 5;
- gameArea[tempX+2][tempY] = 5;
- gameArea[tempX][tempY+1] = 5;
- }
- else if(blockType == 6)
- {
- gameArea[tempX+1][tempY] = 6;
- gameArea[tempX+1][tempY+1] = 6;
- gameArea[tempX+1][tempY+2] = 6;
- gameArea[tempX][tempY+2] = 6;
- }
- else if(blockType == 6.1)
- {
- gameArea[tempX][tempY] = 6;
- gameArea[tempX+1][tempY] = 6;
- gameArea[tempX+2][tempY] = 6;
- gameArea[tempX+2][tempY+1] = 6;
- }
- else if(blockType == 6.2)
- {
- gameArea[tempX][tempY] = 6;
- gameArea[tempX+1][tempY] = 6;
- gameArea[tempX][tempY+1] = 6;
- gameArea[tempX][tempY+2] = 6;
- }
- else if(blockType == 6.3)
- {
- gameArea[tempX][tempY] = 6;
- gameArea[tempX][tempY+1] = 6;
- gameArea[tempX+1][tempY+1] = 6;
- gameArea[tempX+2][tempY+1] = 6;
- }
- else if(blockType == 7)
- {
- gameArea[tempX+1][tempY] = 7;
- gameArea[tempX][tempY+1] = 7;
- gameArea[tempX+1][tempY+1] = 7;
- gameArea[tempX+2][tempY+1] = 7;
- }
- else if(blockType == 7.1)
- {
- gameArea[tempX+1][tempY] = 7;
- gameArea[tempX][tempY+1] = 7;
- gameArea[tempX+1][tempY+1] = 7;
- gameArea[tempX+1][tempY+2] = 7;
- }
- else if(blockType == 7.2)
- {
- gameArea[tempX][tempY] = 7;
- gameArea[tempX+1][tempY] = 7;
- gameArea[tempX+2][tempY] = 7;
- gameArea[tempX+1][tempY+1] = 7;
- }
- else if(blockType == 7.3)
- {
- gameArea[tempX][tempY] = 7;
- gameArea[tempX][tempY+1] = 7;
- gameArea[tempX+1][tempY+1] = 7;
- gameArea[tempX][tempY+2] = 7;
- }
- tempY = 0;
- tempX = 4;
- blocks++;
- blockY = 0;
- blockType = blockType2;
- blockType2 = blockType3;
- blockType3 = rand() % 7 + 1;
- if(sound == 1)
- {
- play_sample(clickSample, 100, 128, 1000, 0);
- }
- }
- for(int q = 13; q > 0; q--)
- {
- if(gameArea[0][q] != 0 && gameArea[1][q] != 0 && gameArea[2][q] != 0 && gameArea[3][q] != 0 && gameArea[4][q] != 0 && gameArea[5][q] != 0 && gameArea[6][q] != 0 && gameArea[7][q] != 0 && gameArea[8][q] != 0 && gameArea[9][q] != 0 && gameArea[10][q] != 0)
- {
- score += int(1000*combo);
- combo += 0.15;
- for(int i = 0; i < 11; i++)
- {
- for(int t = q; t > 0; t--)
- {
- gameArea[i][t] = gameArea[i][t-1];
- }
- }
- }
- }
- if(combo > maxCombo)
- {
- maxCombo = combo;
- }
- if(key[KEY_P] && pauseGame > 30)
- {
- if(sound == 1)
- {
- play_sample(pauseSample, 100, 128, 1000, 0);
- }
- pause++;
- if(pause > 1)
- {
- pause = 0;
- }
- pauseGame = 0;
- }
- if(combo >= 1.0005 && pause == 0)
- {
- combo -= 0.0005;
- }
- if(game == 1 && menu == 0 && pause == 0)
- {
- blockX++;
- blockY++;
- blockRotate++;
- }
- menuTimer++;
- pauseGame++;
- timer--;
- }
- draw_sprite(buffer, bgSprite, 0, 0);
- textprintf_ex(buffer, font, 405, 433, makecol(0,0,0), -1, "%d", score);
- textprintf_ex(buffer, font, 485, 380, makecol(128,128,128), -1, "Combo X%f", combo);
- textprintf_ex(buffer, font, 485, 400, makecol(128,128,128), -1, "Highest X%f", maxCombo);
- if(blockType == 1 && game == 1)
- {
- draw_sprite(buffer, block1, posX[tempX], posY[tempY]);
- draw_sprite(buffer, block1, posX[tempX+1], posY[tempY]);
- draw_sprite(buffer, block1, posX[tempX], posY[tempY+1]);
- draw_sprite(buffer, block1, posX[tempX+1], posY[tempY+1]);
- }
- if(blockType == 2.1 && game == 1)
- {
- draw_sprite(buffer, block2, posX[tempX], posY[tempY]);
- draw_sprite(buffer, block2, posX[tempX], posY[tempY+1]);
- draw_sprite(buffer, block2, posX[tempX], posY[tempY+2]);
- draw_sprite(buffer, block2, posX[tempX], posY[tempY+3]);
- }
- if(blockType == 2 && game == 1)
- {
- draw_sprite(buffer, block2, posX[tempX], posY[tempY]);
- draw_sprite(buffer, block2, posX[tempX+1], posY[tempY]);
- draw_sprite(buffer, block2, posX[tempX+2], posY[tempY]);
- draw_sprite(buffer, block2, posX[tempX+3], posY[tempY]);
- }
- if(blockType == 3 && game == 1)
- {
- draw_sprite(buffer, block3, posX[tempX+1], posY[tempY]);
- draw_sprite(buffer, block3, posX[tempX], posY[tempY+1]);
- draw_sprite(buffer, block3, posX[tempX+1], posY[tempY+1]);
- draw_sprite(buffer, block3, posX[tempX], posY[tempY+2]);
- }
- if(blockType == 3.1 && game == 1)
- {
- draw_sprite(buffer, block3, posX[tempX], posY[tempY]);
- draw_sprite(buffer, block3, posX[tempX+1], posY[tempY]);
- draw_sprite(buffer, block3, posX[tempX+1], posY[tempY+1]);
- draw_sprite(buffer, block3, posX[tempX+2], posY[tempY+1]);
- }
- if(blockType == 4 && game == 1)
- {
- draw_sprite(buffer, block4, posX[tempX], posY[tempY]);
- draw_sprite(buffer, block4, posX[tempX], posY[tempY+1]);
- draw_sprite(buffer, block4, posX[tempX+1], posY[tempY+1]);
- draw_sprite(buffer, block4, posX[tempX+1], posY[tempY+2]);
- }
- if(blockType == 4.1 && game == 1)
- {
- draw_sprite(buffer, block4, posX[tempX+1], posY[tempY]);
- draw_sprite(buffer, block4, posX[tempX+2], posY[tempY]);
- draw_sprite(buffer, block4, posX[tempX+1], posY[tempY+1]);
- draw_sprite(buffer, block4, posX[tempX], posY[tempY+1]);
- }
- if(blockType == 5 && game == 1)
- {
- draw_sprite(buffer, block5, posX[tempX], posY[tempY]);
- draw_sprite(buffer, block5, posX[tempX], posY[tempY+1]);
- draw_sprite(buffer, block5, posX[tempX], posY[tempY+2]);
- draw_sprite(buffer, block5, posX[tempX+1], posY[tempY+2]);
- }
- if(blockType == 5.1 && game == 1)
- {
- draw_sprite(buffer, block5, posX[tempX], posY[tempY+1]);
- draw_sprite(buffer, block5, posX[tempX+1], posY[tempY+1]);
- draw_sprite(buffer, block5, posX[tempX+2], posY[tempY+1]);
- draw_sprite(buffer, block5, posX[tempX+2], posY[tempY]);
- }
- if(blockType == 5.2 && game == 1)
- {
- draw_sprite(buffer, block5, posX[tempX], posY[tempY]);
- draw_sprite(buffer, block5, posX[tempX+1], posY[tempY]);
- draw_sprite(buffer, block5, posX[tempX+1], posY[tempY+1]);
- draw_sprite(buffer, block5, posX[tempX+1], posY[tempY+2]);
- }
- if(blockType == 5.3 && game == 1)
- {
- draw_sprite(buffer, block5, posX[tempX], posY[tempY]);
- draw_sprite(buffer, block5, posX[tempX+1], posY[tempY]);
- draw_sprite(buffer, block5, posX[tempX+2], posY[tempY]);
- draw_sprite(buffer, block5, posX[tempX], posY[tempY+1]);
- }
- if(blockType == 6 && game == 1)
- {
- draw_sprite(buffer, block6, posX[tempX+1], posY[tempY]);
- draw_sprite(buffer, block6, posX[tempX+1], posY[tempY+1]);
- draw_sprite(buffer, block6, posX[tempX+1], posY[tempY+2]);
- draw_sprite(buffer, block6, posX[tempX], posY[tempY+2]);
- }
- if(blockType == 6.1 && game == 1)
- {
- draw_sprite(buffer, block6, posX[tempX], posY[tempY]);
- draw_sprite(buffer, block6, posX[tempX+1], posY[tempY]);
- draw_sprite(buffer, block6, posX[tempX+2], posY[tempY]);
- draw_sprite(buffer, block6, posX[tempX+2], posY[tempY+1]);
- }
- if(blockType == 6.2 && game == 1)
- {
- draw_sprite(buffer, block6, posX[tempX], posY[tempY]);
- draw_sprite(buffer, block6, posX[tempX+1], posY[tempY]);
- draw_sprite(buffer, block6, posX[tempX], posY[tempY+1]);
- draw_sprite(buffer, block6, posX[tempX], posY[tempY+2]);
- }
- if(blockType == 6.3 && game == 1)
- {
- draw_sprite(buffer, block6, posX[tempX], posY[tempY]);
- draw_sprite(buffer, block6, posX[tempX], posY[tempY+1]);
- draw_sprite(buffer, block6, posX[tempX+1], posY[tempY+1]);
- draw_sprite(buffer, block6, posX[tempX+2], posY[tempY+1]);
- }
- if(blockType == 7 && game == 1)
- {
- draw_sprite(buffer, block7, posX[tempX+1], posY[tempY]);
- draw_sprite(buffer, block7, posX[tempX], posY[tempY+1]);
- draw_sprite(buffer, block7, posX[tempX+1], posY[tempY+1]);
- draw_sprite(buffer, block7, posX[tempX+2], posY[tempY+1]);
- }
- if(blockType == 7.1 && game == 1)
- {
- draw_sprite(buffer, block7, posX[tempX+1], posY[tempY]);
- draw_sprite(buffer, block7, posX[tempX], posY[tempY+1]);
- draw_sprite(buffer, block7, posX[tempX+1], posY[tempY+1]);
- draw_sprite(buffer, block7, posX[tempX+1], posY[tempY+2]);
- }
- if(blockType == 7.2 && game == 1)
- {
- draw_sprite(buffer, block7, posX[tempX], posY[tempY]);
- draw_sprite(buffer, block7, posX[tempX+1], posY[tempY]);
- draw_sprite(buffer, block7, posX[tempX+2], posY[tempY]);
- draw_sprite(buffer, block7, posX[tempX+1], posY[tempY+1]);
- }
- if(blockType == 7.3 && game == 1)
- {
- draw_sprite(buffer, block7, posX[tempX], posY[tempY]);
- draw_sprite(buffer, block7, posX[tempX], posY[tempY+1]);
- draw_sprite(buffer, block7, posX[tempX+1], posY[tempY+1]);
- draw_sprite(buffer, block7, posX[tempX], posY[tempY+2]);
- }
- for(int i = 0; i < 12; i++)
- {
- for(int t = 0; t < 14; t++)
- {
- if(gameArea[i][t] == 1)
- {
- draw_sprite(buffer, block1, posX[i], posY[t]);
- }
- if(gameArea[i][t] == 2)
- {
- draw_sprite(buffer, block2, posX[i], posY[t]);
- }
- if(gameArea[i][t] == 3)
- {
- draw_sprite(buffer, block3, posX[i], posY[t]);
- }
- if(gameArea[i][t] == 4)
- {
- draw_sprite(buffer, block4, posX[i], posY[t]);
- }
- if(gameArea[i][t] == 5)
- {
- draw_sprite(buffer, block5, posX[i], posY[t]);
- }
- if(gameArea[i][t] == 6)
- {
- draw_sprite(buffer, block6, posX[i], posY[t]);
- }
- if(gameArea[i][t] == 7)
- {
- draw_sprite(buffer, block7, posX[i], posY[t]);
- }
- }
- }
- if(blockType2 == 1)
- {
- draw_sprite(buffer, nextBlock1, 368, 9);
- }
- else if(blockType2 == 2)
- {
- draw_sprite(buffer, nextBlock2, 368, 9);
- }
- else if(blockType2 == 3)
- {
- draw_sprite(buffer, nextBlock3, 368, 9);
- }
- else if(blockType2 == 4)
- {
- draw_sprite(buffer, nextBlock4, 368, 9);
- }
- else if(blockType2 == 5)
- {
- draw_sprite(buffer, nextBlock5, 368, 9);
- }
- else if(blockType2 == 6)
- {
- draw_sprite(buffer, nextBlock6, 368, 9);
- }
- else if(blockType2 == 7)
- {
- draw_sprite(buffer, nextBlock7, 368, 9);
- }
- if(blockType3 == 1)
- {
- draw_sprite(buffer, nextBlock1, 504, 9);
- }
- else if(blockType3 == 2)
- {
- draw_sprite(buffer, nextBlock2, 504, 9);
- }
- else if(blockType3 == 3)
- {
- draw_sprite(buffer, nextBlock3, 504, 9);
- }
- else if(blockType3 == 4)
- {
- draw_sprite(buffer, nextBlock4, 504, 9);
- }
- else if(blockType3 == 5)
- {
- draw_sprite(buffer, nextBlock5, 504, 9);
- }
- else if(blockType3 == 6)
- {
- draw_sprite(buffer, nextBlock6, 504, 9);
- }
- else if(blockType3 == 7)
- {
- draw_sprite(buffer, nextBlock7, 504, 9);
- }
- if(game == 0 && menu == 0)
- {
- draw_sprite(buffer, gameOverSprite, 135, 140);
- if(key[KEY_ENTER])
- {
- menu = 1;
- score = 0;
- combo = 1;
- maxCombo = 1;
- pause = 0;
- blocks = 0;
- }
- }
- ///////////////////////////////////
- if(menu == 1)
- {
- draw_sprite(buffer2, block1, 40, animationY[0]);
- draw_sprite(buffer2, block2, 124, animationY[1]);
- draw_sprite(buffer2, block3, 208, animationY[2]);
- draw_sprite(buffer2, block4, 292, animationY[3]);
- draw_sprite(buffer2, block5, 376, animationY[4]);
- draw_sprite(buffer2, block6, 460, animationY[5]);
- draw_sprite(buffer2, block7, 544, animationY[6]);
- if(options == 0)
- {
- draw_sprite(buffer2, menuBgSprite, 0, 0);
- }
- else if(options == 1)
- {
- draw_sprite(buffer2, optionsBgSprite, 0, 0);
- if(sound == 0)
- {
- draw_sprite(buffer2, offSprite, 350, 173);
- }
- else if(sound == 1)
- {
- draw_sprite(buffer2, onSprite, 350, 174);
- }
- }
- if(mouse_x > 239 && mouse_x < 399)
- {
- if(options == 0)
- {
- if(mouse_y > 163 && mouse_y < 196)
- {
- rect(buffer2, 239, 163, 399, 196, makecol(255,0,0));
- floodfill(buffer2, 240, 164, makecol(255,255,0));
- floodfill(buffer2, 284, 182, makecol(255,255,0));
- floodfill(buffer2, 349, 182, makecol(255,255,0));
- floodfill(buffer2, 375, 179, makecol(255,255,0));
- if(mouse_b & 1)
- {
- menu = 0;
- game = 1;
- if(sound == 1)
- {
- play_sample(menuSample, 100, 128, 1000, 0);
- }
- }
- }
- if(mouse_y > 196 && mouse_y < 234)
- {
- rect(buffer2, 239, 196, 399, 234, makecol(255,0,0));
- floodfill(buffer2, 240, 197, makecol(255,255,0));
- floodfill(buffer2, 278, 210, makecol(255,255,0));
- floodfill(buffer2, 291, 213, makecol(255,255,0));
- floodfill(buffer2, 329, 213, makecol(255,255,0));
- if(mouse_b & 1 && menuTimer > 15)
- {
- options = 1;
- if(sound == 1)
- {
- play_sample(menuSample, 100, 128, 1000, 0);
- }
- menuTimer = 0;
- }
- }
- if(mouse_y > 234 && mouse_y < 271)
- {
- rect(buffer2, 239, 234, 399, 271, makecol(255,0,0));
- floodfill(buffer2, 240, 235, makecol(255,255,0));
- floodfill(buffer2, 296, 248, makecol(255,255,0));
- if(mouse_b & 1)
- {
- return 0;
- }
- }
- }
- else if(options == 1)
- {
- if(mouse_y > 163 && mouse_y < 196)
- {
- rect(buffer2, 239, 163, 399, 196, makecol(255,0,0));
- floodfill(buffer2, 240, 164, makecol(255,255,0));
- floodfill(buffer2, 272, 179, makecol(255,255,0));
- floodfill(buffer2, 311, 179, makecol(255,255,0));
- floodfill(buffer2, 354, 177, makecol(255,255,0));
- if(mouse_b & 1 && menuTimer > 15)
- {
- sound++;
- play_sample(menuSample, 100, 128, 1000, 0);
- menuTimer = 0;
- if(sound > 1)
- {
- sound = 0;
- }
- }
- }
- if(mouse_y > 196 && mouse_y < 234)
- {
- rect(buffer2, 239, 196, 399, 234, makecol(255,0,0));
- floodfill(buffer2, 240, 197, makecol(255,255,0));
- floodfill(buffer2, 307, 217, makecol(255,255,0));
- floodfill(buffer2, 294, 211, makecol(255,255,0));
- floodfill(buffer2, 294, 216, makecol(255,255,0));
- if(mouse_b & 1 && menuTimer > 15)
- {
- options = 0;
- if(sound == 1)
- {
- play_sample(menuSample, 100, 128, 1000, 0);
- }
- menuTimer = 0;
- }
- }
- }
- }
- draw_sprite(buffer2, mouseSprite, mouse_x, mouse_y);
- for(int i = 0; i < 7; i++)
- {
- if(animationY[i] > 480)
- {
- animationY[i] = -32;
- }
- animationY[i] += 1;
- }
- draw_sprite(buffer, buffer2, 0, 0);
- }
- acquire_screen();
- draw_sprite(screen, buffer, 0, 0);
- release_screen();
- clear_to_color(buffer, makecol(0,0,0));
- clear_to_color(buffer2, makecol(0,0,0));
- rest(1);
- }
- }
- END_OF_MAIN();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement