Beispiel #1
0
double Histogram::goodness(int k){
	if(omega(k) == 1 || omega(k) == 0)
		return 0;
	//cout << "mew k " << mew(k) << endl;
	//cout << "omega k " << omega(k) << endl;
	return (mew(256)*omega(k) - mew(k))*(mew(256)*omega(k) - mew(k)) / (omega(k) * (1 - omega(k)));
}
Beispiel #2
0
void theGame()
{
    SDL_WM_SetCaption("WASD: Move, BACKSPACE: Start Screen, ENTER: Fullscreen", NULL);
    Sprite mew("testChar2.png", 32, 156, 0); //load mew and set R 32, G 156, B 0 to be transparent.  Set width to 33 and height to 69

    Tile *tiles[TOTAL_TILES];
    Enemy *enemies[TOTAL_ENEMIES];

    enemies[0] = new Enemy(225, 0, ENEMY_ROBOT);
    enemies[0]->setVelX(50);

    enemies[1] = new Enemy(225, 0, ENEMY_ROBOT);
    enemies[1]->setVelX(100);

    enemies[2] = new Enemy(225, 0, ENEMY_ANDROID);
    enemies[2]->setVelX(-75);

    bool playing = true;

    if(setTiles(tiles) == false)
    {
        cleanUp();
        exit(0);
    }

    //game loop
    delta.start();
    while(playing)
    {
        fps.start();
        while(SDL_PollEvent(&event))
        {
            mew.handle_input();
            myWindow.handle_window();
            handleMusic();

            if(event.key.keysym.sym == SDLK_BACKSPACE)
            {
                deleteTiles(tiles);
                deleteEnemies(enemies);
                startScreen();
            }
            if(event.type == SDL_QUIT)
                playing = false;
        }
        if (myWindow.error())
        {
            cleanUp();
            exit(0);
        }

        mew.move(delta.get_ticks(), tiles, enemies);

        for (int e = 0; e < TOTAL_ENEMIES; e++)
        {
            enemies[e]->walk(delta.get_ticks(), tiles);
        }

        delta.start(); //restart delta after movement
        mew.setCamera();

        for( int t = 0; t < TOTAL_TILES; t++ )
            tiles[t]->show();
        mew.show();
        for (int e = 0; e < TOTAL_ENEMIES; e++)
            enemies[e]->show();

        if(SDL_Flip(screen) == -1)
        {
            cleanUp();
            exit(0);
        }

        if(fps.get_ticks() < (1000 / FRAMES_PER_SECOND))
            SDL_Delay(1000 / FRAMES_PER_SECOND - fps.get_ticks());

    }

    deleteTiles(tiles);
    deleteEnemies(enemies);
    exit(0);
}