CMAKE changes
This commit is contained in:
+2
-4
@@ -4,8 +4,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
project(snake)
|
project(snake)
|
||||||
|
|
||||||
include_directories(include)
|
|
||||||
|
|
||||||
set(SOURCES
|
set(SOURCES
|
||||||
src/main.cpp
|
src/main.cpp
|
||||||
src/element.cpp
|
src/element.cpp
|
||||||
@@ -13,6 +11,6 @@ set(SOURCES
|
|||||||
)
|
)
|
||||||
add_executable(snake ${SOURCES})
|
add_executable(snake ${SOURCES})
|
||||||
|
|
||||||
|
target_include_directories(snake PRIVATE include)
|
||||||
find_package(Curses REQUIRED)
|
find_package(Curses REQUIRED)
|
||||||
include_directories(${CURSES_INCLUDE_DIR})
|
target_link_libraries(snake PRIVATE ${CURSES_LIBRARIES})
|
||||||
target_link_libraries(snake ${CURSES_LIBRARIES})
|
|
||||||
|
|||||||
+3
-2
@@ -1,6 +1,7 @@
|
|||||||
#ifndef ELEMENT_HPP
|
#ifndef ELEMENT_HPP
|
||||||
#define ELEMENT_HPP
|
#define ELEMENT_HPP
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "globals.hpp"
|
#include "globals.hpp"
|
||||||
|
|
||||||
@@ -25,11 +26,11 @@ public:
|
|||||||
void run();
|
void run();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Window* win;
|
||||||
std::vector<Vector2i> buf;
|
std::vector<Vector2i> buf;
|
||||||
bool running = true;
|
bool running = true;
|
||||||
enum Direction m_dir;
|
enum Direction m_dir;
|
||||||
int m_score = 0;
|
uint8_t m_score = 0;
|
||||||
Window* win;
|
|
||||||
void process_input();
|
void process_input();
|
||||||
void determine_index_zero_pos();
|
void determine_index_zero_pos();
|
||||||
void move_tail_indicies();
|
void move_tail_indicies();
|
||||||
|
|||||||
+6
-6
@@ -1,9 +1,9 @@
|
|||||||
#ifndef GLOBALS_HPP
|
#ifndef GLOBALS_HPP
|
||||||
#define GLOBALS_HPP
|
#define GLOBALS_HPP
|
||||||
#define ROW 11
|
constexpr int ROW = 11;
|
||||||
#define COL 11
|
constexpr int COL = 11;
|
||||||
#define MAX_LEN (ROW * COL) + 3
|
constexpr int MAX_LEN = (ROW * COL) + 3;
|
||||||
#define HEAD 0
|
constexpr int HEAD = 0;
|
||||||
#define PREVIOUS_HEAD 1
|
constexpr int PREVIOUS_HEAD = 1;
|
||||||
#define FRUIT 2
|
constexpr int FRUIT = 2;
|
||||||
#endif // GLOBALS_HPP
|
#endif // GLOBALS_HPP
|
||||||
|
|||||||
+2
-4
@@ -99,15 +99,13 @@ void SnakeGame::on_fruit_eaten(Vector2i (*board)[COL]) {
|
|||||||
col = (rand() % COL);
|
col = (rand() % COL);
|
||||||
} while (board[row][col].id != '.');
|
} while (board[row][col].id != '.');
|
||||||
buf[FRUIT].set(row, col);
|
buf[FRUIT].set(row, col);
|
||||||
buf.insert(buf.begin() + 3, Vector2i { ROW, COL, '@' });
|
buf.insert(buf.begin() + 3, Vector2i { ROW, COL, '~' });
|
||||||
m_score++;
|
m_score++;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SnakeGame::segment_overlap() {
|
bool SnakeGame::segment_overlap() {
|
||||||
for(int i : std::ranges::views::iota(3, (int)buf.size())) {
|
for(int i : std::ranges::views::iota(3, (int)buf.size())) {
|
||||||
if( buf[i].y == buf[HEAD].y &&
|
if( buf[i].y == buf[HEAD].y && buf[i].x == buf[HEAD].x) {
|
||||||
buf[i].x == buf[HEAD].x)
|
|
||||||
{
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ void Window::draw_display() {
|
|||||||
|
|
||||||
void Window::update_display(std::vector<Vector2i> &buf) {
|
void Window::update_display(std::vector<Vector2i> &buf) {
|
||||||
for(int i : std::ranges::views::iota(0, (int)buf.size())) {
|
for(int i : std::ranges::views::iota(0, (int)buf.size())) {
|
||||||
// if(i == 1 || buf[i]->y > ROW - 1 || buf[i]->x > COL - 1) continue;
|
|
||||||
if(i == 1) continue;
|
if(i == 1) continue;
|
||||||
board[buf[i].y][buf[i].x].id = buf[i].id;
|
board[buf[i].y][buf[i].x].id = buf[i].id;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user