diff --git a/www/data/images/program_thumbnails/CannonConquest.png b/www/data/images/program_thumbnails/CannonConquest.png new file mode 100644 index 0000000..aae59f2 Binary files /dev/null and b/www/data/images/program_thumbnails/CannonConquest.png differ diff --git a/www/data/images/program_thumbnails/QuickHiddenFolderToggle.png b/www/data/images/program_thumbnails/QuickHiddenFolderToggle.png index 5f959d7..063e837 100644 Binary files a/www/data/images/program_thumbnails/QuickHiddenFolderToggle.png and b/www/data/images/program_thumbnails/QuickHiddenFolderToggle.png differ diff --git a/www/index.php b/www/index.php index e1ef82b..04b4074 100644 --- a/www/index.php +++ b/www/index.php @@ -172,6 +172,5 @@ try { //TODO remove db table prefixes //TODO highlight active header TAB -//TODO +QuickHiddenFolderToggle //TODO +AlephNote //TODO +CannonConquest \ No newline at end of file diff --git a/www/internals/base.php b/www/internals/base.php index c68f6b3..471b99f 100644 --- a/www/internals/base.php +++ b/www/internals/base.php @@ -41,6 +41,8 @@ function httpError($errorcode, $message) { ob_clean(); + http_response_code($errorcode); + global $OPTIONS; $OPTIONS = [ 'code' => $errorcode, 'message' => $message ]; require (__DIR__ . '/../pages/errorview.php'); diff --git a/www/internals/programs.php b/www/internals/programs.php index 3f3015c..4ad354e 100644 --- a/www/internals/programs.php +++ b/www/internals/programs.php @@ -8,7 +8,6 @@ class Programs $a['file_longdescription'] = (__DIR__ . '/../statics/programs/' . $a['internal_name'] . '_descrition.md'); $a['url'] = '/programs/view/' . $a['internal_name']; - return $a; } diff --git a/www/statics/programs/CannonConquest_description.md b/www/statics/programs/CannonConquest_description.md new file mode 100644 index 0000000..bc1ea34 --- /dev/null +++ b/www/statics/programs/CannonConquest_description.md @@ -0,0 +1,69 @@ +An android/UWP/iOS game I made. + +The idea is from an old flash game I played long ago, I even made a [delphi version of the same game](/programs/view/Crystal%20Grid) idea a few years ago. +The objective is to capture all cannons on the field while one (or more) AI enemies try to do the same thing. +Everything gets a bit more complex (and tactical) because you can block enemy bullets, reflect your own bullets and "boost" your own cannons by shooting them. + +Also there are cannons of different sizes and types, walls, reflecting walls, lasers, shields, gravity wells and a lot more gameplay elements. +And you can play via Bluetooth against other phones, even when Bluetooth is a distinctively bad suited protocol for these kind of stuff (either that or my implementation is ... not optimal) + +The source code is [open-source](https://github.com/Mikescher/GridDominance) and at least on android the app is free (with the option to skip levels with in-app purchases, but that's **really** not needed). +On Windows/iOS I had to pay a good amount of money to get in the store (on iOS even around 10$ monthly, so the app is there not free, sorry :( + +Download: +============ + +The app is available on android/iOS/WinPhone: + +[![Get it in Google Play](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/README/badge_google.png)](https://play.google.com/store/apps/details?id=com.blackforestbytes.griddominance.iab) +[![Get it in Google Play](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/README/badge_google.png)](https://play.google.com/store/apps/details?id=com.blackforestbytes.griddominance.full) +[![Availalble at amazon](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/README/badge_amazon.png)](https://www.amazon.com/gp/product/B075QMHZV7) +[![Get it from Microsoft](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/README/badge_microsoft.png)](https://www.microsoft.com/store/apps/9nx24pbs19rp) +[![Get it from AppStore](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/README/badge_apple.png)](https://itunes.apple.com/us/app/cannon-conquest/id1303565192) + +Features: +============ + + - Physics Simulation with [Farseer Physics Engine](https://github.com/VelcroPhysics/VelcroPhysics) + - Over 100 levels + - Online Highscore + - Online Account Synchronization + - My own game engine based around MonoGame (special thanks to the guys at [MonoGame.Extended](https://github.com/craftworkgames/MonoGame.Extended)) + - Cross-platform via Xamarin + - Online (UDP/IP) Multiplayer + - Local Bluetooth Multiplayer + - 6 different turret types + - many different environment objects + - levels with different geometrical properties + - A (really) challenging AI (together with 3 easier AI modes) + - Background music and sound effects + - Self made graphics *(not sure if this is a good thing...)* + +Screenshots: +============ + +![](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/Screenshots/Shot_04.png) + +![](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/Screenshots/Shot_01.png) + +![](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/Screenshots/Shot_03.png) + +![](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/Screenshots/Shot_05.png) + +![](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/Screenshots/Shot_08.png) + +![](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/Screenshots/Shot_07.png) + +![](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/Screenshots/Shot_09.png) + +![](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/Screenshots/Shot_12.png) + +![](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/Screenshots/Shot_10.png) + +![](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/Screenshots/Shot_13.png) + +![](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/Screenshots/Shot_11.png) + +![](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/Screenshots/Shot_02.png) + +![](https://raw.githubusercontent.com/Mikescher/GridDominance/master/Data/Screenshots/Shot_06.png) diff --git a/www/statics/programs/__all.php b/www/statics/programs/__all.php index 405ed5e..ef505bb 100644 --- a/www/statics/programs/__all.php +++ b/www/statics/programs/__all.php @@ -539,4 +539,24 @@ return 'github' => 'https://github.com/Mikescher/QuickHiddenFolderToggle', ], ], + + + [ + 'name' => 'Cannon Conquest', + 'internal_name' => 'CannonConquest', + 'category' => 'Game', + 'stars' => 5, + 'ui_language' => 'English|German|French|Italian|Spanish', + 'prog_language' => 'C#', + 'short_description' => 'A 2D tactical puzzler, free with over 100 levels. Made with Xamarin for android/iPhone/WinPhone', + 'add_date' => '2017-09-01', + 'urls' => + [ + 'playstore' => 'https://play.google.com/store/apps/details?id=com.blackforestbytes.griddominance.iab', + 'amazonappstore' => 'https://www.amazon.com/gp/product/B075QMHZV7', + 'windowsstore' => 'https://www.microsoft.com/de-de/store/p/cannon-conquest/9nx24pbs19rp?rtc=1', + 'itunesstore' => 'https://itunes.apple.com/us/app/cannon-conquest/id1303565192', + 'github' => 'https://github.com/Mikescher/GridDominance', + ], + ], ]; \ No newline at end of file