My Opera is closing 1st of March

QUANG HOANG'S BLOG

Welcome to everybody !

Subscribe to RSS feed

Tetris

Tetris.CPP

#include <graphics.h>
#include <iostream.h>
#include <stdio.h>
#include <math.h>
#include <dos.h>
#include <conio.h>
#include <stdlib.h>
#include <mem.h>
#include <string.h>
#include <alloc.h>

#include "settings.h"
#include "music.h";
#include "mouse.h";
#include "keyboard.h"
#include "square.h"
#include "brick.h"
#include "board.h"
#include "player.h"
#include "playermn.h"
#include "person.h"

const int delayTick = 10;
Music music;
Mouse mouse;
Keyboard keyboard;
KeyboardCode keys;
PlayerManager playerManager(NUMBER_OF_PLAYERS);

class Tetris
{
    public:
    void initlize();
    void process();
    void close();
};


void Tetris::initlize()
{
    randomize();

    //init Graphic
    int gd= DETECT, gm;
    initgraph(&gd, &gm, "");

    //init Music
    music.loadFile("tetris.mus");
    music.play();
    music.setLoop(1);

    //init Keyboard
    keyboard.init();

    //init Mouse
    mouse.show();

    //init Player
    int x=5;
    Player *p = NULL;
    for (int i=0; i < NUMBER_OF_PLAYERS; i++)
    {
        p = new Person(x, 50, BOARD_ROWS, BOARD_COLS, SQUARE_WIDTH);
        playerManager.init(i, p);
        playerManager.start(i);
        x+= BOARD_COLS*(SQUARE_WIDTH+2);
    }
}



void Tetris::process()
{
    struct time currentTime, processTime;
    int  delayTime;
    while (!keyboard.checkKey(keys.ESC))
    {
        gettime(&currentTime);

        music.process();
        mouse.process();
        playerManager.process();

        gettime(&processTime);
        delayTime =  (int)processTime.ti_hund - (int)currentTime.ti_hund;
        if (delayTime > delayTick)
            delayTime = delayTick;
        delay(delayTick-delayTime);
    }
}

void Tetris::close()
{
    music.stop();
    mouse.hide();
    keyboard.close();
    closegraph();
}

//-------------------------------------------------------------
void main()
{
    Tetris game;
    game.initlize();
    game.process();
    game.close();
}
February 2014
S M T W T F S
January 2014March 2014
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28