Tetris
Friday, July 14, 2006 4:44:00 AM
#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(¤tTime);
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();
}












