That was weird...
This commit is contained in:
22
aStar.sln
Normal file
22
aStar.sln
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio 14
|
||||||
|
VisualStudioVersion = 14.0.23107.0
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aStar", "aStar\aStar.vcxproj", "{9035B83C-F117-480E-9DEB-435AA0EBEA3F}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{9035B83C-F117-480E-9DEB-435AA0EBEA3F}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{9035B83C-F117-480E-9DEB-435AA0EBEA3F}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{9035B83C-F117-480E-9DEB-435AA0EBEA3F}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{9035B83C-F117-480E-9DEB-435AA0EBEA3F}.Release|x64.Build.0 = Release|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
168
aStar/App.cpp
Normal file
168
aStar/App.cpp
Normal file
@@ -0,0 +1,168 @@
|
|||||||
|
#include "App.h"
|
||||||
|
#include <windows.h>
|
||||||
|
#include <iostream>
|
||||||
|
#include "Map.h"
|
||||||
|
|
||||||
|
|
||||||
|
// ========== Constructors =============
|
||||||
|
App::App() {
|
||||||
|
window = new sf::RenderWindow(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT), "SFML works!");
|
||||||
|
}
|
||||||
|
App::~App() { }
|
||||||
|
|
||||||
|
// ========== Mutes =============
|
||||||
|
void App::Init() {
|
||||||
|
|
||||||
|
// Set up the background texture
|
||||||
|
background_texture = new sf::Texture();
|
||||||
|
background_texture->loadFromFile("background.png");
|
||||||
|
|
||||||
|
backgroundSprite.setTexture(*background_texture);
|
||||||
|
|
||||||
|
_pixelArray = new sf::Uint8[WINDOW_WIDTH * WINDOW_HEIGHT * 4];
|
||||||
|
pixel_array_texture.create(WINDOW_WIDTH, WINDOW_HEIGHT);
|
||||||
|
|
||||||
|
explorer = new Explorer(&map);
|
||||||
|
}
|
||||||
|
|
||||||
|
void App::Input() {
|
||||||
|
while (window->pollEvent(event)) {
|
||||||
|
if (event.type == sf::Event::Closed)
|
||||||
|
window->close();
|
||||||
|
if (event.type == sf::Event::KeyPressed) {
|
||||||
|
if (event.key.code == sf::Keyboard::Space) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void App::Update(double step_size) {
|
||||||
|
Input();
|
||||||
|
}
|
||||||
|
|
||||||
|
void App::Render() {
|
||||||
|
|
||||||
|
|
||||||
|
// HOUSEKEEPING
|
||||||
|
// Get the physics fps for the last render cycle
|
||||||
|
physics_fps = physics_frame_count * render_fps;
|
||||||
|
|
||||||
|
// Frame time in seconds
|
||||||
|
frame_time = delta_time * 1000;
|
||||||
|
|
||||||
|
// And the render fps
|
||||||
|
render_fps = 1000 / frame_time;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// RENDERING
|
||||||
|
|
||||||
|
window->clear(sf::Color::Blue);
|
||||||
|
window->draw(backgroundSprite);
|
||||||
|
|
||||||
|
sf::Vector2i pos;
|
||||||
|
for (int i = 0; i < WINDOW_WIDTH * WINDOW_HEIGHT * 4; i++) {
|
||||||
|
_pixelArray[i] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw the tiles
|
||||||
|
for (int x = 0; x < Map::CELLS_WIDTH; x++) {
|
||||||
|
for (int y = 0; y < Map::CELLS_HEIGHT; y++) {
|
||||||
|
|
||||||
|
pos.x = x;
|
||||||
|
pos.y = y;
|
||||||
|
sf::Color thing = map.getTile(pos)->getColor();
|
||||||
|
|
||||||
|
|
||||||
|
for (int x2 = 1; x2 < 5; x2++) {
|
||||||
|
for (int y2 = 1; y2 < 5; y2++) {
|
||||||
|
|
||||||
|
int pixel_x = (x * 5) + x2;
|
||||||
|
int pixel_y = (y * 5) + y2;
|
||||||
|
|
||||||
|
_pixelArray[(pixel_y * WINDOW_WIDTH + pixel_x) * 4] = thing.r; // Red
|
||||||
|
_pixelArray[(pixel_y * WINDOW_WIDTH + pixel_x) * 4 + 1] = thing.g; // Green
|
||||||
|
_pixelArray[(pixel_y * WINDOW_WIDTH + pixel_x) * 4 + 2] = thing.b; // Blue
|
||||||
|
_pixelArray[(pixel_y * WINDOW_WIDTH + pixel_x) * 4 + 3] = thing.a; // Alpha
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw the player
|
||||||
|
|
||||||
|
for (int x2 = 1; x2 < 5; x2++) {
|
||||||
|
for (int y2 = 1; y2 < 5; y2++) {
|
||||||
|
|
||||||
|
int pixel_x = (explorer->getPosition().x * 5) + x2;
|
||||||
|
int pixel_y = (explorer->getPosition().y * 5) + y2;
|
||||||
|
|
||||||
|
sf::Color color = explorer->getColor();
|
||||||
|
|
||||||
|
_pixelArray[(pixel_y * WINDOW_WIDTH + pixel_x) * 4] = color.r; // Red
|
||||||
|
_pixelArray[(pixel_y * WINDOW_WIDTH + pixel_x) * 4 + 1] = color.g; // Green
|
||||||
|
_pixelArray[(pixel_y * WINDOW_WIDTH + pixel_x) * 4 + 2] = color.b; // Blue
|
||||||
|
_pixelArray[(pixel_y * WINDOW_WIDTH + pixel_x) * 4 + 3] = color.a; // Alpha
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pixel_array_texture.update(_pixelArray);
|
||||||
|
|
||||||
|
pixel_array_sprite.setTexture(pixel_array_texture);
|
||||||
|
window->draw(pixel_array_sprite);
|
||||||
|
|
||||||
|
window->display();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void App::Run() {
|
||||||
|
Init();
|
||||||
|
|
||||||
|
while (window->isOpen()) {
|
||||||
|
// Time since app start
|
||||||
|
elapsed_time = time();
|
||||||
|
|
||||||
|
// Time between last frame start and this frame
|
||||||
|
// 2 seconds = 30 seconds - 28 seconds
|
||||||
|
delta_time = elapsed_time - current_time;
|
||||||
|
current_time = elapsed_time;
|
||||||
|
|
||||||
|
// Make sure we aren't taking too big of steps when lagging
|
||||||
|
if (delta_time > 0.02f)
|
||||||
|
delta_time = 0.02f;
|
||||||
|
|
||||||
|
// Add the delta time to the leftover time from the last frame
|
||||||
|
accumulator_time += delta_time;
|
||||||
|
|
||||||
|
// While there is time left
|
||||||
|
while ((accumulator_time - step_size) >= step_size) {
|
||||||
|
// Take away the time we will be simulating
|
||||||
|
accumulator_time -= step_size;
|
||||||
|
|
||||||
|
// Update the game for the timestep
|
||||||
|
Update(step_size);
|
||||||
|
|
||||||
|
physics_frame_count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
Render();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
float App::time() {
|
||||||
|
static __int64 start = 0;
|
||||||
|
static __int64 frequency = 0;
|
||||||
|
|
||||||
|
if (start == 0) {
|
||||||
|
QueryPerformanceCounter((LARGE_INTEGER*)&start);
|
||||||
|
QueryPerformanceFrequency((LARGE_INTEGER*)&frequency);
|
||||||
|
return 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
__int64 counter = 0;
|
||||||
|
QueryPerformanceCounter((LARGE_INTEGER*)&counter);
|
||||||
|
return (float)((counter - start) / double(frequency));
|
||||||
|
}
|
||||||
@@ -5,7 +5,6 @@ Explorer::Explorer(Map* map_){
|
|||||||
color = sf::Color::Blue;
|
color = sf::Color::Blue;
|
||||||
position = sf::Vector2i(10, 10);
|
position = sf::Vector2i(10, 10);
|
||||||
map = map_;
|
map = map_;
|
||||||
pather = new Pather(map_);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -25,7 +24,7 @@ bool Explorer::move() {
|
|||||||
// While there are moves for us to take
|
// While there are moves for us to take
|
||||||
if (!movement_stack.empty()) {
|
if (!movement_stack.empty()) {
|
||||||
bool valid = false; // If the next move is valid, collision
|
bool valid = false; // If the next move is valid, collision
|
||||||
int x = movement_stack.front();
|
int x = movement_stack.top();
|
||||||
|
|
||||||
switch (x) {
|
switch (x) {
|
||||||
|
|
||||||
@@ -60,13 +59,13 @@ bool Explorer::move() {
|
|||||||
std::cout << "Path blocked" << std::endl;
|
std::cout << "Path blocked" << std::endl;
|
||||||
// Flush the moves list
|
// Flush the moves list
|
||||||
while(!movement_stack.empty()) {
|
while(!movement_stack.empty()) {
|
||||||
movement_stack.pop_front();
|
movement_stack.pop();
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If everything went well, pop and return true
|
// If everything went well, pop and return true
|
||||||
movement_stack.pop_front();
|
movement_stack.pop();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -75,6 +74,6 @@ bool Explorer::move() {
|
|||||||
|
|
||||||
// A*
|
// A*
|
||||||
bool Explorer::plan(sf::Vector2i destination_) {
|
bool Explorer::plan(sf::Vector2i destination_) {
|
||||||
movement_stack = pather->pathTo(position, destination_);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
#include <SFML/Graphics.hpp>
|
#include <SFML/Graphics.hpp>
|
||||||
#include <stack>
|
#include <stack>
|
||||||
#include "Map.h"
|
#include "Map.h"
|
||||||
#include "Pather.h"
|
|
||||||
|
|
||||||
class Explorer {
|
class Explorer {
|
||||||
public:
|
public:
|
||||||
@@ -14,9 +13,8 @@ private:
|
|||||||
sf::Color color;
|
sf::Color color;
|
||||||
sf::Vector2i position;
|
sf::Vector2i position;
|
||||||
Map* map;
|
Map* map;
|
||||||
Pather* pather;
|
|
||||||
|
|
||||||
std::deque<int> movement_stack;
|
std::stack<int> movement_stack;
|
||||||
bool move();
|
bool move();
|
||||||
bool plan(sf::Vector2i destination_);
|
bool plan(sf::Vector2i destination_);
|
||||||
};
|
};
|
||||||
|
|||||||
56
aStar/Map.cpp
Normal file
56
aStar/Map.cpp
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
#include "Map.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
||||||
|
Map::Map() {
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Map::~Map() {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Tile* Map::getTile(sf::Vector2i position_) {
|
||||||
|
if (position_.x > CELLS_WIDTH || position_.x < 0
|
||||||
|
|| position_.y > CELLS_HEIGHT || position_.y < 0) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
return tileArray[position_.x][position_.y];
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Map::isTileSolid(sf::Vector2i position_) {
|
||||||
|
if (position_.x > CELLS_WIDTH || position_.x < 0
|
||||||
|
|| position_.y > CELLS_HEIGHT || position_.y < 0) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return tileArray[position_.x][position_.y]->isSolid();
|
||||||
|
}
|
||||||
|
Tile* Map::getTile(int x_, int y_) {
|
||||||
|
return tileArray[x_][y_];
|
||||||
|
}
|
||||||
|
|
||||||
|
void Map::setTile(sf::Vector2i position, Tile* data) {
|
||||||
|
delete tileArray[position.x][position.y];
|
||||||
|
tileArray[position.x][position.y] = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Map::Init() {
|
||||||
|
int q;
|
||||||
|
|
||||||
|
for (int x = 0; x < CELLS_WIDTH; x++) {
|
||||||
|
for (int y = 0; y < CELLS_HEIGHT; y++) {
|
||||||
|
q = rand() % 100;
|
||||||
|
if (q > 70) {
|
||||||
|
tileArray[x][y] = new Tile(true, 100.0, sf::Color::Cyan);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
tileArray[x][y] = new Tile(false, 0.0, sf::Color::Red);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
24
aStar/Map.h
Normal file
24
aStar/Map.h
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "Tile.h"
|
||||||
|
#include <SFML/System/Vector2.hpp>
|
||||||
|
|
||||||
|
class Map {
|
||||||
|
public:
|
||||||
|
static const int CELLS_HEIGHT = 153;
|
||||||
|
static const int CELLS_WIDTH = 319;
|
||||||
|
|
||||||
|
Map();
|
||||||
|
~Map();
|
||||||
|
|
||||||
|
|
||||||
|
Tile* getTile(sf::Vector2i position);
|
||||||
|
Tile* getTile(int x_, int y_);
|
||||||
|
bool isTileSolid(sf::Vector2i);
|
||||||
|
void setTile(sf::Vector2i position, Tile* data);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void Init();
|
||||||
|
|
||||||
|
Tile* tileArray[319][153];
|
||||||
|
};
|
||||||
|
|
||||||
@@ -100,10 +100,6 @@ Pather::Pather(Map* map_) {
|
|||||||
map = map_;
|
map = map_;
|
||||||
}
|
}
|
||||||
|
|
||||||
Pather::Pather() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Pather::~Pather() {
|
Pather::~Pather() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,7 +107,7 @@ sf::Vector2i Pather::getEndNodePosition() {
|
|||||||
return end_node->xy;
|
return end_node->xy;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::deque<int> Pather::pathTo(sf::Vector2i start, sf::Vector2i end) {
|
std::vector<int> Pather::pathTo(sf::Vector2i start, sf::Vector2i end) {
|
||||||
|
|
||||||
// Clear the visited map for erroneous data
|
// Clear the visited map for erroneous data
|
||||||
for (int i = 0; i < Map::CELLS_WIDTH; i++) {
|
for (int i = 0; i < Map::CELLS_WIDTH; i++) {
|
||||||
@@ -133,13 +129,13 @@ std::deque<int> Pather::pathTo(sf::Vector2i start, sf::Vector2i end) {
|
|||||||
openList.emplace(start_node, 0);
|
openList.emplace(start_node, 0);
|
||||||
|
|
||||||
early_exit = false;
|
early_exit = false;
|
||||||
path_list = loop();
|
//path_list = Loop();
|
||||||
|
|
||||||
return path_list;
|
return path_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
std::deque<int> Pather::loop() {
|
std::vector<int> Pather::loop() {
|
||||||
while (!openList.empty() && !early_exit) {
|
while (!openList.empty() && !early_exit) {
|
||||||
// Early exit jankyness, need to change this
|
// Early exit jankyness, need to change this
|
||||||
if (closedList.size() > 3000) {
|
if (closedList.size() > 3000) {
|
||||||
@@ -176,17 +172,17 @@ std::deque<int> Pather::loop() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::deque<int> return_path = returnPath();
|
std::vector<int> return_path = returnPath();
|
||||||
if (no_path || return_path.empty()) {
|
if (no_path || return_path.empty()) {
|
||||||
|
return std::vector<int>(0, 0);
|
||||||
std::cout << " no return path " << std::endl;
|
std::cout << " no return path " << std::endl;
|
||||||
return return_path;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return return_path;
|
return return_path;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::deque<int> Pather::returnPath() {
|
std::vector<int> Pather::returnPath() {
|
||||||
std::deque<int> path;
|
std::vector<int> path;
|
||||||
|
|
||||||
while (active_node != nullptr) {
|
while (active_node != nullptr) {
|
||||||
path.push_back(active_node->cameFrom);
|
path.push_back(active_node->cameFrom);
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ private:
|
|||||||
class Pather {
|
class Pather {
|
||||||
public:
|
public:
|
||||||
Pather(Map* map_);
|
Pather(Map* map_);
|
||||||
Pather();
|
|
||||||
~Pather();
|
~Pather();
|
||||||
|
|
||||||
Map* map;
|
Map* map;
|
||||||
@@ -38,9 +37,9 @@ public:
|
|||||||
std::unordered_map<node*, int> closedList;
|
std::unordered_map<node*, int> closedList;
|
||||||
int visitedMap[App::WINDOW_HEIGHT][App::WINDOW_WIDTH];
|
int visitedMap[App::WINDOW_HEIGHT][App::WINDOW_WIDTH];
|
||||||
|
|
||||||
std::deque<int> pathTo(sf::Vector2i start, sf::Vector2i end);
|
std::vector<int> pathTo(sf::Vector2i start, sf::Vector2i end);
|
||||||
std::deque<int> loop();
|
std::vector<int> loop();
|
||||||
std::deque<int> returnPath();
|
std::vector<int> returnPath();
|
||||||
|
|
||||||
sf::Vector2i getEndNodePosition();
|
sf::Vector2i getEndNodePosition();
|
||||||
|
|
||||||
@@ -52,7 +51,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
std::deque<int> path_list;
|
std::vector<int> path_list;
|
||||||
node* end_node;
|
node* end_node;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
37
aStar/Tile.cpp
Normal file
37
aStar/Tile.cpp
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
#include "Tile.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Tile::Tile(bool solid_, double movement_penalty_, sf::Color color_) {
|
||||||
|
solid = solid_;
|
||||||
|
movement_penalty = movement_penalty_;
|
||||||
|
color = color_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Tile::Tile() {
|
||||||
|
solid = false;
|
||||||
|
movement_penalty = 0.0;
|
||||||
|
color = sf::Color::Red;
|
||||||
|
}
|
||||||
|
|
||||||
|
Tile::~Tile() {
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Tile::isSolid() {
|
||||||
|
return solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
double Tile::getPenalty() {
|
||||||
|
return movement_penalty;
|
||||||
|
}
|
||||||
|
|
||||||
|
sf::Color Tile::getColor() {
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Tile::Rewrite(bool solid_, double movement_penalty_, sf::Color color_) {
|
||||||
|
solid = solid_;
|
||||||
|
movement_penalty = movement_penalty_;
|
||||||
|
color = color_;
|
||||||
|
}
|
||||||
22
aStar/Tile.h
Normal file
22
aStar/Tile.h
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <SFML\Graphics.hpp>
|
||||||
|
|
||||||
|
class Tile {
|
||||||
|
public:
|
||||||
|
Tile(bool solid_, double movement_penalty_, sf::Color color_);
|
||||||
|
Tile();
|
||||||
|
~Tile();
|
||||||
|
|
||||||
|
bool isSolid();
|
||||||
|
double getPenalty();
|
||||||
|
sf::Color getColor();
|
||||||
|
void Rewrite(bool solid_, double movement_penalty_, sf::Color color_);
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
|
||||||
|
bool solid = false;
|
||||||
|
double movement_penalty = 0.0;
|
||||||
|
sf::Color color;
|
||||||
|
};
|
||||||
|
|
||||||
176
aStar/aStar.vcxproj
Normal file
176
aStar/aStar.vcxproj
Normal file
@@ -0,0 +1,176 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{9035B83C-F117-480E-9DEB-435AA0EBEA3F}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>aStar</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v140</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v140</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v140</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v140</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="Shared">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<IncludePath>Z:\Cpp_Libs\SFML-Visual_Studio2015RCx64\include;$(IncludePath)</IncludePath>
|
||||||
|
<LibraryPath>Z:\Cpp_Libs\SFML-Visual_Studio2015RCx64\lib;$(LibraryPath)</LibraryPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<IncludePath>Z:\Cpp_Libs\SFML-Visual_Studio2015RCx64\include;$(IncludePath)</IncludePath>
|
||||||
|
<LibraryPath>Z:\Cpp_Libs\SFML-Visual_Studio2015RCx64\lib;$(LibraryPath)</LibraryPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<AdditionalIncludeDirectories>Z:\Cpp_Libs\SFML-Visual_Studio2015RCx64\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>sfml-graphics-d.lib;sfml-audio-d.lib;sfml-network-d.lib;sfml-system-d.lib;sfml-window-d.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>Z:\Cpp_Libs\SFML-Visual_Studio2015RCx64\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<AdditionalIncludeDirectories>Z:\Cpp_Libs\SFML-Visual_Studio2015RCx64\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<AdditionalDependencies>sfml-graphics.lib;sfml-audio.lib;sfml-network.lib;sfml-system.lib;sfml-window.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>Z:\Cpp_Libs\SFML-Visual_Studio2015RCx64\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="App.cpp" />
|
||||||
|
<ClCompile Include="Explorer.cpp" />
|
||||||
|
<ClCompile Include="main.cpp" />
|
||||||
|
<ClCompile Include="Map.cpp" />
|
||||||
|
<ClCompile Include="Pather.cpp" />
|
||||||
|
<ClCompile Include="Tile.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="App.h" />
|
||||||
|
<ClInclude Include="Explorer.h" />
|
||||||
|
<ClInclude Include="Map.h" />
|
||||||
|
<ClInclude Include="Pather.h" />
|
||||||
|
<ClInclude Include="Tile.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
54
aStar/aStar.vcxproj.filters
Normal file
54
aStar/aStar.vcxproj.filters
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="main.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="App.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Map.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Explorer.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Tile.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Pather.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="App.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Map.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Explorer.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Tile.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Pather.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
BIN
aStar/background.png
Normal file
BIN
aStar/background.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.2 KiB |
@@ -1,7 +1,6 @@
|
|||||||
#include <SFML/Window.hpp>
|
#include <SFML/Window.hpp>
|
||||||
#include <SFML/Graphics.hpp>
|
#include <SFML/Graphics.hpp>
|
||||||
#include "App.h"
|
#include "App.h"
|
||||||
#include "Pather.h"
|
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user