# Introduction

Using a simple implementation of the A* search algorithm as basis for
experimenting with writing a portable C++ based application application between
Android and Windows (WinRT) mobile platforms.

The overall applications are very raw as the main goal is to gain an appreciation of the
portability issues like 2D drawing and file access across both platforms, not a fully fledged
application.

The code is a mix of C++, Java and C++/CX, composed of the following projects:

AStarDemoWin - The Windows Store and Windows Phone applications using C++/CX and C++.

AStarDemoAndroid - The Android application using the Java and C++ glue code;

AStarDemoLib - The A* search algorithm implemented in portable C++14 code.

# Building

## Android

Currently the Android project builds using a mix of Gradle and NDK build.

Make sure *NDK_PROJECT_PATH* contains the project root location, e.g. *NDK_PROJECT_PATH=D:/AStarDemoCpp*

Afterwards Gradle can be called either from the command line or Android Studio.

The goal is to fix this workflow when Google eventually provides NDK support in Android Studio.

## Windows Phone and Store

It is only required to open the project solution located at *AStarDemoCpp/AStarDemoWin/AStarDemoWin.sln* and do a full build.

The Windows projects require Visual Studio 2013.

# References

The wonderful [A* tutorials](http://theory.stanford.edu/~amitp/GameProgramming/) from Amit Patel.

# License

This example application is under GPL2 (except for the wizard generated code for Windows lifecycle management).