示例#1
0
void drowGame(Board board)
{
    eraseTileMap();
    int x = 200;
    int y = 100;
    int moveY = 0;
    for (int i = 0; i < 5; ++i){
        for (int g = 0; g < 6; ++g){
            board.unblock(i, g);
            int temp = takeID(board.pile[i][g].top().getFace());
            gTile[temp].setblocked(!board.pile[i][g].top().getblocked());
            if (board.pile[i][g].size() == 3){
                moveY = 0;
                for (int z = 0; z < 3; z++){
                    gTile[temp].setPosition(x, y + moveY);
                    gTile[temp].renderButton();
                    moveY += 3;
                }
            }
            else if (board.pile[i][g].size() == 2){
                moveY = 0;
                for (int z = 0; z < 2; z++){
                    gTile[temp].setPosition(x, y + moveY);
                    gTile[temp].renderButton();
                    moveY += 3;
                }
            }
            else{
                moveY = 0;
                gTile[temp].setPosition(x,y + moveY);
                gTile[temp].renderButton();
            }
            x += 40;
        }
        if (i > 1){
            y += 64;
        }
        else{
            y += 68;
        }
        x = 200;
    }
}
示例#2
0
文件: main.cpp 项目: rosen90/GitHub
void drowGame(Board board) {
	int x = 200;
	int y = 100;
	int moveY = 0;
	int temp = 0;

    SDL_SetRenderDrawColor(gRenderer, 0xFF, 0xFF, 0xFF, 0xFF);
    SDL_RenderClear(gRenderer);
    gSceneTexture.render(0, 0);

    if (gPtrHelp == NULL)
    {

        for (int i = 0; i < NUMBER_OF_BUTTON; ++i) {
            if(i == 3)
            {
                gButton[i].setPosition(760, 5);
            }
            else
            {
                gButton[i].setPosition(650, 50 + 40 * i);
            }
            gButton[i].renderButton();
        }

        if (board.isStarted())
        {
            for (int i = 0; i < 5; ++i) {
                for (int j = 0; j < 6; ++j) {
                    if (!board.pile[i][j].empty()) {
                        temp = takeID(board.pile[i][j].top().getFace());
                        gTile[temp].setFace(board.pile[i][j].top().getFace());
                        gTile[temp].setBlocked(!board.pile[i][j].top().getBlocked());
                        gTile[temp].coordinates.i = i;
                        gTile[temp].coordinates.j = j;
                        moveY = 0;
                        for (size_t z = 0; z < board.pile[i][j].size(); z++){
                            gTile[temp].setPosition(x, y + moveY);
                            gTile[temp].renderButton();
                            moveY -= 3;
                        }
                    }
                    x += gTile[temp].getWidth();
                }
                y += (gTile[temp].getHeight()+4);
                x = 200;
            }
        }
        if(gameOver)
        {
            gGameOver.render((SCREEN_WIDTH - gGameOver.getWidth())/2, (SCREEN_HEIGHT - gGameOver.getHeight())/2);
        }
        if(youWin)
        {
            gYouWin.render((SCREEN_WIDTH - gGameOver.getWidth())/2, (SCREEN_HEIGHT - gGameOver.getHeight())/2);
        }
        if(youLose)
        {
            gYouLose.render((SCREEN_WIDTH - gGameOver.getWidth())/2, (SCREEN_HEIGHT - gGameOver.getHeight())/2);
        }
    }
    else
    {
        gPtrHelp->render(25, 50);
        gButton[2].setPosition(25 + gPtrHelp->getWidth() / 2 - gButton[2].getWidth() / 2, gPtrHelp->getHeight());
        gButton[2].renderButton();
        gButton[3].setPosition(760, 5);
        gButton[3].renderButton();
    }

    markSelectedTile();

    generateTime();
    wordTime.render(20, 550);

    generateMoves();
    wordMoves.render(20, 530);

    generateMatches();
    wordMatches.render(20, 510);

    generateCredits();
    wordCredits.render(630, 470);

    generateInfo();
    wordAllGame.render(630, 490);
    wordWinGame.render(630, 510);
    wordLoseGame.render(630, 530);
    wordWinRateGame.render(630, 550);

    firstAnimation_1.renderAnimation();
    secondAnimation_1.renderAnimation();
    firstAnimation_2.renderAnimation();
    secondAnimation_2.renderAnimation();
    firstAnimation_3.renderAnimation();
    secondAnimation_3.renderAnimation();
    winAnimation.renderAnimation();

    SDL_RenderPresent(gRenderer);
}