mirror of
				https://github.com/lov3b/Pong.git
				synced 2025-11-04 07:10:16 +01:00 
			
		
		
		
	Break out default font
This commit is contained in:
		
							
								
								
									
										41
									
								
								src/Game.h
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								src/Game.h
									
									
									
									
									
								
							@@ -10,6 +10,9 @@
 | 
			
		||||
#include "VisibleObjects/PlayerPaddle.h"
 | 
			
		||||
#include "VisibleObjects/Score.h"
 | 
			
		||||
 | 
			
		||||
enum class GameState {
 | 
			
		||||
    START_SCREEN, GAME, END_SCREEN
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class Game : public SdlWrapper {
 | 
			
		||||
private:
 | 
			
		||||
@@ -17,6 +20,9 @@ private:
 | 
			
		||||
    Score *score;
 | 
			
		||||
    PlayerPaddle *leftPaddle, *rightPaddle;
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
    GameState gameState;
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    explicit Game(SDL_Point screenSize) : SdlWrapper("Pong", screenSize, 60) {
 | 
			
		||||
        leftPaddle = new PlayerPaddle(&this->screenSize, Side::LEFT);
 | 
			
		||||
@@ -29,6 +35,7 @@ public:
 | 
			
		||||
        };
 | 
			
		||||
        score = new Score(5, &this->screenSize, func);
 | 
			
		||||
        ball = new Ball(&this->screenSize, leftPaddle, rightPaddle, score);
 | 
			
		||||
        gameState = GameState::START_SCREEN;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    ~Game() override {
 | 
			
		||||
@@ -43,18 +50,36 @@ public:
 | 
			
		||||
        SDL_SetRenderDrawColor(renderer, 128, 0, 128, 0);
 | 
			
		||||
        SDL_RenderClear(renderer);
 | 
			
		||||
 | 
			
		||||
        ball->draw(renderer);
 | 
			
		||||
        score->draw(renderer);
 | 
			
		||||
        leftPaddle->draw(renderer);
 | 
			
		||||
        rightPaddle->draw(renderer);
 | 
			
		||||
 | 
			
		||||
        switch (gameState) {
 | 
			
		||||
            case GameState::START_SCREEN:
 | 
			
		||||
                break;
 | 
			
		||||
            case GameState::GAME:
 | 
			
		||||
                ball->draw(renderer);
 | 
			
		||||
                score->draw(renderer);
 | 
			
		||||
                leftPaddle->draw(renderer);
 | 
			
		||||
                rightPaddle->draw(renderer);
 | 
			
		||||
                break;
 | 
			
		||||
            case GameState::END_SCREEN:
 | 
			
		||||
                break;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        SDL_RenderPresent(renderer);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    bool update() override {
 | 
			
		||||
        ball->update();
 | 
			
		||||
        leftPaddle->update();
 | 
			
		||||
        rightPaddle->update();
 | 
			
		||||
        score->update();
 | 
			
		||||
        switch (gameState) {
 | 
			
		||||
            case GameState::START_SCREEN:
 | 
			
		||||
                break;
 | 
			
		||||
            case GameState::GAME:
 | 
			
		||||
                ball->update();
 | 
			
		||||
                leftPaddle->update();
 | 
			
		||||
                rightPaddle->update();
 | 
			
		||||
                score->update();
 | 
			
		||||
                break;
 | 
			
		||||
            case GameState::END_SCREEN:
 | 
			
		||||
                break;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -9,22 +9,13 @@
 | 
			
		||||
#include <functional>
 | 
			
		||||
#include "Side.h"
 | 
			
		||||
#include "SDL_ttf.h"
 | 
			
		||||
#include "../defaultfont.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include <SDL_ttf.h>
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <iostream>
 | 
			
		||||
 | 
			
		||||
#if defined(_WIN32) || defined(_WIN64)
 | 
			
		||||
const char* defaultFontPath = "C:\\Windows\\Fonts\\Arial.ttf";
 | 
			
		||||
#elif defined(__linux__)
 | 
			
		||||
const char *defaultFontPath = "/usr/share/fonts/truetype/DejaVuSans-Bold.ttf";
 | 
			
		||||
#elif defined(__APPLE__) || defined(__MACH__)
 | 
			
		||||
const char *defaultFontPath = "/System/Library/Fonts/Supplemental/Arial.ttf";
 | 
			
		||||
#else
 | 
			
		||||
const char* defaultFontPath = nullptr;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Score {
 | 
			
		||||
private:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								src/defaultfont.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/defaultfont.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
//
 | 
			
		||||
// Created by love on 2024-01-24.
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#if defined(_WIN32) || defined(_WIN64)
 | 
			
		||||
const char* defaultFontPath = "C:\\Windows\\Fonts\\Arial.ttf";
 | 
			
		||||
#elif defined(__linux__)
 | 
			
		||||
const char *defaultFontPath = "/usr/share/fonts/truetype/DejaVuSans-Bold.ttf";
 | 
			
		||||
#elif defined(__APPLE__) || defined(__MACH__)
 | 
			
		||||
const char *defaultFontPath = "/System/Library/Fonts/Supplemental/Arial.ttf";
 | 
			
		||||
#else
 | 
			
		||||
const char* defaultFontPath = nullptr;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user