Added sample game structure
This commit is contained in:
parent
d0f84d71cf
commit
f5b36b01f0
5 changed files with 94 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/build/
|
21
CMakeLists.txt
Normal file
21
CMakeLists.txt
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
cmake_minimum_required(VERSION 3.12)
|
||||||
|
project(Holesome)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
|
|
||||||
|
# Find and include SFML
|
||||||
|
find_package(SFML 2.5 COMPONENTS graphics audio REQUIRED)
|
||||||
|
include_directories(${SFML_INCLUDE_DIR})
|
||||||
|
|
||||||
|
# Set up your project's source files
|
||||||
|
set(SOURCES
|
||||||
|
src/main.cpp
|
||||||
|
# src/game.cpp
|
||||||
|
# include/game.h
|
||||||
|
)
|
||||||
|
|
||||||
|
# Add an executable target
|
||||||
|
add_executable(Holesome ${SOURCES})
|
||||||
|
|
||||||
|
# Link SFML to your executable target
|
||||||
|
target_link_libraries(Holesome sfml-graphics sfml-audio)
|
10
include/game.h
Normal file
10
include/game.h
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
#ifndef SFML_SAMPLE_GAME_GAME_H
|
||||||
|
#define SFML_SAMPLE_GAME_GAME_H
|
||||||
|
|
||||||
|
|
||||||
|
class Game {
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif //SFML_SAMPLE_GAME_GAME_H
|
1
src/game.cpp
Normal file
1
src/game.cpp
Normal file
|
@ -0,0 +1 @@
|
||||||
|
#include "../include/game.h"
|
61
src/main.cpp
Normal file
61
src/main.cpp
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
#include <SFML/Graphics.hpp>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
// Create a window with a resolution of 800x600 pixels
|
||||||
|
sf::RenderWindow window = sf::RenderWindow();
|
||||||
|
|
||||||
|
|
||||||
|
sf::VideoMode mode = sf::VideoMode::getDesktopMode();
|
||||||
|
std::cout << "Desktop Mode: "
|
||||||
|
<< mode.width << "x" << mode.height << " - "
|
||||||
|
<< mode.bitsPerPixel << " bpp" << std::endl;
|
||||||
|
|
||||||
|
// Display the list of all the video modes available for fullscreen
|
||||||
|
std::vector<sf::VideoMode> modes = sf::VideoMode::getFullscreenModes();
|
||||||
|
for (std::size_t i = 0; i < modes.size(); ++i) {
|
||||||
|
sf::VideoMode mode = modes[i];
|
||||||
|
std::cout << "Mode #" << i << ": "
|
||||||
|
<< mode.width << "x" << mode.height << " - "
|
||||||
|
<< mode.bitsPerPixel << " bpp" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
window.create(sf::VideoMode::getDesktopMode(), "Sample Game", sf::Style::Fullscreen);
|
||||||
|
|
||||||
|
// Main loop that runs until the window is closed
|
||||||
|
while (window.isOpen()) {
|
||||||
|
// Process any events that have occurred since the last iteration
|
||||||
|
sf::Event event;
|
||||||
|
while (window.pollEvent(event)) {
|
||||||
|
// If the event is to close the window, then close it
|
||||||
|
if (event.type == sf::Event::Closed) {
|
||||||
|
window.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (event.key.code == sf::Keyboard::Escape || event.key.code == sf::Keyboard::Q) {
|
||||||
|
window.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clear the window to a solid color
|
||||||
|
window.clear(sf::Color::Black);
|
||||||
|
|
||||||
|
// Draw any objects that you want to display in the window
|
||||||
|
// Create a circle shape with a radius of 50 pixels
|
||||||
|
sf::CircleShape circle(50.f);
|
||||||
|
|
||||||
|
// Set the position of the circle shape to the center of the window
|
||||||
|
circle.setPosition(window.getSize().x / 2.f, window.getSize().y / 2.f);
|
||||||
|
|
||||||
|
// Set the color of the circle shape to red
|
||||||
|
circle.setFillColor(sf::Color::Red);
|
||||||
|
|
||||||
|
// Draw the circle shape on the window
|
||||||
|
window.draw(circle);
|
||||||
|
|
||||||
|
// Display the objects on the window
|
||||||
|
window.display();
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in a new issue