From 8f0213e18c5eb878b64234d7a9465c84e71dc6be Mon Sep 17 00:00:00 2001 From: malte_langkabel Date: Mon, 16 Nov 2015 15:42:23 +0100 Subject: [PATCH] build: Packaging Script for Windows * added packaging script for windows * renamed sublime plugin. * added tictactoe project to packages projects --- .../data/ApplicationSettings_for_package.xml | 9 ++ .../tictactoe/src/artificial_player.cpp | 67 ++++++++++ .../tictactoe/src/artificial_player.h | 24 ++++ bin/app/data/projects/tictactoe/src/field.cpp | 126 ++++++++++++++++++ bin/app/data/projects/tictactoe/src/field.h | 41 ++++++ .../projects/tictactoe/src/human_player.cpp | 49 +++++++ .../projects/tictactoe/src/human_player.h | 19 +++ bin/app/data/projects/tictactoe/src/io.cpp | 23 ++++ bin/app/data/projects/tictactoe/src/io.h | 13 ++ bin/app/data/projects/tictactoe/src/main.cpp | 11 ++ .../data/projects/tictactoe/src/player.cpp | 19 +++ bin/app/data/projects/tictactoe/src/player.h | 21 +++ .../data/projects/tictactoe/src/tictactoe.cpp | 85 ++++++++++++ .../data/projects/tictactoe/src/tictactoe.h | 23 ++++ bin/app/data/projects/tictactoe/tictactoe.xml | 12 ++ .../CoatiPlugin.py} | 4 +- .../CoatiPlugin.sublime-settings} | 0 .../Context.sublime-menu | 0 ide_plugins/sublime_text/readme.txt | 2 +- ide_plugins/vs/coati_plugin_vs_2012.vsix | Bin 0 -> 98538 bytes ide_plugins/vs/coati_plugin_vs_2013.vsix | Bin 0 -> 66662 bytes ide_plugins/vs/coati_plugin_vs_2015.vsix | Bin 0 -> 733588 bytes script/packaging_windows.sh | 80 +++++++++++ .../app/Release/platforms/qwindows.dll | Bin 0 -> 991232 bytes 24 files changed, 625 insertions(+), 3 deletions(-) create mode 100644 bin/app/data/ApplicationSettings_for_package.xml create mode 100644 bin/app/data/projects/tictactoe/src/artificial_player.cpp create mode 100644 bin/app/data/projects/tictactoe/src/artificial_player.h create mode 100644 bin/app/data/projects/tictactoe/src/field.cpp create mode 100644 bin/app/data/projects/tictactoe/src/field.h create mode 100644 bin/app/data/projects/tictactoe/src/human_player.cpp create mode 100644 bin/app/data/projects/tictactoe/src/human_player.h create mode 100644 bin/app/data/projects/tictactoe/src/io.cpp create mode 100644 bin/app/data/projects/tictactoe/src/io.h create mode 100644 bin/app/data/projects/tictactoe/src/main.cpp create mode 100644 bin/app/data/projects/tictactoe/src/player.cpp create mode 100644 bin/app/data/projects/tictactoe/src/player.h create mode 100644 bin/app/data/projects/tictactoe/src/tictactoe.cpp create mode 100644 bin/app/data/projects/tictactoe/src/tictactoe.h create mode 100644 bin/app/data/projects/tictactoe/tictactoe.xml rename ide_plugins/sublime_text/{CoatiCommunicator/CoatiCommunicator.py => CoatiPlugin/CoatiPlugin.py} (94%) rename ide_plugins/sublime_text/{CoatiCommunicator/CoatiCommunicator.sublime-settings => CoatiPlugin/CoatiPlugin.sublime-settings} (100%) rename ide_plugins/sublime_text/{CoatiCommunicator => CoatiPlugin}/Context.sublime-menu (100%) create mode 100644 ide_plugins/vs/coati_plugin_vs_2012.vsix create mode 100644 ide_plugins/vs/coati_plugin_vs_2013.vsix create mode 100644 ide_plugins/vs/coati_plugin_vs_2015.vsix create mode 100644 script/packaging_windows.sh create mode 100644 setup/dynamic_libraries/windows/app/Release/platforms/qwindows.dll diff --git a/bin/app/data/ApplicationSettings_for_package.xml b/bin/app/data/ApplicationSettings_for_package.xml new file mode 100644 index 00000000..182f87f5 --- /dev/null +++ b/bin/app/data/ApplicationSettings_for_package.xml @@ -0,0 +1,9 @@ + + + + + ./data/projects/tutorial/tutorial.xml + ./data/projects/tictactoe/tictactoe.xml + + + diff --git a/bin/app/data/projects/tictactoe/src/artificial_player.cpp b/bin/app/data/projects/tictactoe/src/artificial_player.cpp new file mode 100644 index 00000000..a6457f73 --- /dev/null +++ b/bin/app/data/projects/tictactoe/src/artificial_player.cpp @@ -0,0 +1,67 @@ +#include "artificial_player.h" + +ArtificialPlayer::ArtificialPlayer( Field::Token token, const char* name ) + : Player( token, name ) { +} + +ArtificialPlayer::~ArtificialPlayer() { +} + +Field::Move ArtificialPlayer::Turn( const Field& field ) const { + Field fakeField = field.Clone(); + Node node = MinMax( fakeField, token_ ); + return node.move; +} + +ArtificialPlayer::Node ArtificialPlayer::MinMax( Field& field, Field::Token token ) const { + Node node; + node.value = -10000; + + Field::Move move; + int sameMove; + + for ( int i = 0; i < 3; i++ ) { + move.row = i; + + for ( int j = 0; j < 3; j++ ) { + move.col = j; + + if ( !field.IsEmpty( move ) ) { + continue; + } + + field.MakeMove( move, token ); + + int turnValue = Evaluate( field, token ); + if ( !turnValue && !field.IsFull() ) { + turnValue = -MinMax( field, Field::Opponent( token ) ).value; + } + + field.ClearMove( move ); + + if ( turnValue > node.value ) { + node.move = move; + node.value = turnValue; + sameMove = 1; + } else if ( turnValue == node.value ) { + sameMove++; + if ( 1 % sameMove == 0 ) { + node.move = move; + } + } + } + } + + return node; +} + +int ArtificialPlayer::Evaluate( const Field& field, Field::Token token ) const { + if ( field.SameInRow( token, 3 ) ) { + return 2; + } else if ( field.SameInRow( Field::Opponent( token ), 2 ) ) { + return -1; + } else if ( field.SameInRow( token, 2 ) > 1 ) { + return 1; + } + return 0; +} diff --git a/bin/app/data/projects/tictactoe/src/artificial_player.h b/bin/app/data/projects/tictactoe/src/artificial_player.h new file mode 100644 index 00000000..8b564edd --- /dev/null +++ b/bin/app/data/projects/tictactoe/src/artificial_player.h @@ -0,0 +1,24 @@ +#ifndef _ARTIFICIAL_PLAYER_ +#define _ARTIFICIAL_PLAYER_ + +#include "player.h" + +class ArtificialPlayer : public Player { +public: + ArtificialPlayer( Field::Token token, const char* name ); + virtual ~ArtificialPlayer(); + + virtual Field::Move Turn( const Field& field ) const; + +private: + struct Node { + Field::Move move; + int value; + }; + + Node MinMax( Field& field, Field::Token token ) const; + + int Evaluate( const Field& field, Field::Token token ) const; +}; + +#endif // _ARTIFICIAL_PLAYER_ diff --git a/bin/app/data/projects/tictactoe/src/field.cpp b/bin/app/data/projects/tictactoe/src/field.cpp new file mode 100644 index 00000000..313ed89a --- /dev/null +++ b/bin/app/data/projects/tictactoe/src/field.cpp @@ -0,0 +1,126 @@ +#include "field.h" + +#include "io.h" + +Field::Token Field::Opponent( Token token ) { + if ( token == PlayerA ) { + return PlayerB; + } else if (token == PlayerB){ + return PlayerA; + } else { + return None; + } +} + +Field::Field() + : left_( 9 ) { + grid_ = new Token* [3]; + for ( int i = 0; i < 3 ; i++ ) { + grid_[i] = new Token[3]; + } +} + +Field::~Field() { + for ( int i = 0; i < 3; i++ ) { + delete grid_[i]; + } + delete [] grid_; +} + +Field Field::Clone() const { + Field field; + for ( int i = 0; i < 3; i++ ) { + for ( int j = 0; j < 3; j++ ) { + field.grid_[i][j] = grid_[i][j]; + } + } + field.left_ = left_; + return field; +} + +void Field::Clear() { + for ( int i = 0; i < 3; i++ ) { + for ( int j = 0; j < 3; j++ ) { + grid_[i][j] = None; + } + } + left_ = 9; +} + +void Field::Show() const { + io::stringOut(" 1 2 3\n"); + for ( int row = 0; row < 3; row++ ) { + io::numberOut(row + 1); + io::stringOut(" "); + + for ( int col = 0; col < 3; col++ ) { + if ( grid_[row][col] == PlayerA ) { + io::stringOut(" X "); + } else if ( grid_[row][col] == PlayerB ) { + io::stringOut(" O "); + } else { + io::stringOut(" "); + } + + if ( col < 2 ) { + io::stringOut("|"); + } + } + + if ( row < 2 ) { + io::stringOut("\n -----------\n"); + } + } + io::stringOut("\n\n"); +} + +int Field::SameInRow( Token token, int amount ) const { + int sum = amount * token; + int count = 0; + + for ( int i = 0; i < 3; i++ ) { + if ( grid_[i][0] + grid_[i][1] + grid_[i][2] == sum ) { + count++; + } else if ( grid_[0][i] + grid_[1][i] + grid_[2][i] == sum ) { + count++; + } + } + + if ( grid_[0][0] + grid_[1][1] + grid_[2][2] == sum ) { + count++; + } else if ( grid_[2][0] + grid_[1][1] + grid_[0][2] == sum ) { + count++; + } + + return count; +} + +bool Field::InRange( const Move& move ) const { + return move.row >= 0 && move.row < 3 && move.col >= 0 && move.col < 3; +} + +bool Field::IsEmpty( const Move& move ) const { + return grid_[move.row][move.col] == None; +} + +bool Field::IsFull() const { + return left_ == 0; +} + +void Field::MakeMove( const Move& move, Token token ) { + if ( !InRange( move ) || !IsEmpty( move ) || token == None || !left_ ) { + return; + } + + grid_[move.row][move.col] = token; + left_--; +} + +void Field::ClearMove( const Move& move ) { + if ( !InRange( move ) || !IsEmpty( move ) || left_ == 9 ) { + return; + } + + grid_[move.row][move.col] = None; + left_++; +} diff --git a/bin/app/data/projects/tictactoe/src/field.h b/bin/app/data/projects/tictactoe/src/field.h new file mode 100644 index 00000000..ef3201e8 --- /dev/null +++ b/bin/app/data/projects/tictactoe/src/field.h @@ -0,0 +1,41 @@ +#ifndef _FIELD_ +#define _FIELD_ + +class Field { +public: + enum Token { + None = 0, + PlayerA = 1, + PlayerB = 4 + }; + + static Token Opponent( Token token ); + + struct Move { + int row; + int col; + }; + + Field(); + ~Field(); + + Field Clone() const; + void Clear(); + + void Show() const; + + int SameInRow( Token token, int amount ) const; + + bool InRange( const Move& move ) const; + bool IsEmpty( const Move& move ) const; + bool IsFull() const; + + void MakeMove( const Move& move, Token token ); + void ClearMove( const Move& move ); + +private: + Token** grid_; + int left_; +}; + +#endif // _FIELD_ diff --git a/bin/app/data/projects/tictactoe/src/human_player.cpp b/bin/app/data/projects/tictactoe/src/human_player.cpp new file mode 100644 index 00000000..4357d897 --- /dev/null +++ b/bin/app/data/projects/tictactoe/src/human_player.cpp @@ -0,0 +1,49 @@ +#include "human_player.h" + +#include "io.h" + +HumanPlayer::HumanPlayer( Field::Token token, const char* name ) + : Player( token, name ) { +} + +HumanPlayer::~HumanPlayer() { +} + +Field::Move HumanPlayer::Turn( const Field& field ) const { + Field::Move move; + io::stringOut(name_); + io::stringOut("\n"); + + do { + move = Input(); + move.row -= 1; + move.col -= 1; + } while ( !Check( field, move ) ); + return move; +} + +Field::Move HumanPlayer::Input() const { + Field::Move move; + move.row = -1; + move.col = -1; + + io::stringOut("Insert row: "); + move.row = io::numberIn(); + + io::stringOut("Insert column: "); + move.col = io::numberIn(); + + io::stringOut("\n"); + return move; +} + +bool HumanPlayer::Check( const Field& field, const Field::Move& move ) const { + if ( !field.InRange( move ) ) { + io::stringOut("Wrong input!\n"); + return false; + } else if ( !field.IsEmpty( move ) ) { + io::stringOut("Is occupied!\n"); + return false; + } + return true; +} diff --git a/bin/app/data/projects/tictactoe/src/human_player.h b/bin/app/data/projects/tictactoe/src/human_player.h new file mode 100644 index 00000000..a2039fa3 --- /dev/null +++ b/bin/app/data/projects/tictactoe/src/human_player.h @@ -0,0 +1,19 @@ +#ifndef _HUMAN_PLAYER_ +#define _HUMAN_PLAYER_ + +#include "player.h" + +class HumanPlayer : public Player { +public: + HumanPlayer( Field::Token token, const char* name ); + virtual ~HumanPlayer(); + + virtual Field::Move Turn( const Field& field ) const; + +private: + Field::Move Input() const; + + bool Check( const Field& field, const Field::Move& move ) const; +}; + +#endif // _HUMAN_PLAYER_ diff --git a/bin/app/data/projects/tictactoe/src/io.cpp b/bin/app/data/projects/tictactoe/src/io.cpp new file mode 100644 index 00000000..2b9511cc --- /dev/null +++ b/bin/app/data/projects/tictactoe/src/io.cpp @@ -0,0 +1,23 @@ +#include "io.h" + +// #include +// #include +// #include + +int io::numberIn() { + // std::string input; + // getline( std::cin, input ); + // std::stringstream stream( input ); + + int number; + // stream >> number; + return number; +} + +void io::numberOut(int num) { + // std::cout << num; +} + +void io::stringOut(const char* str) { + // std::cout << str; +} diff --git a/bin/app/data/projects/tictactoe/src/io.h b/bin/app/data/projects/tictactoe/src/io.h new file mode 100644 index 00000000..bacfe58e --- /dev/null +++ b/bin/app/data/projects/tictactoe/src/io.h @@ -0,0 +1,13 @@ +#ifndef _IO_ +#define _IO_ + +namespace io { + + int numberIn(); + void numberOut(int num); + + void stringOut(const char* str); + +} + +#endif // _IO_ diff --git a/bin/app/data/projects/tictactoe/src/main.cpp b/bin/app/data/projects/tictactoe/src/main.cpp new file mode 100644 index 00000000..8d15ea5f --- /dev/null +++ b/bin/app/data/projects/tictactoe/src/main.cpp @@ -0,0 +1,11 @@ +#include "tictactoe.h" + +int main() { + TicTacToe tictactoe; + + while ( tictactoe.Start() ) { + tictactoe.Run(); + } + + return 0; +} diff --git a/bin/app/data/projects/tictactoe/src/player.cpp b/bin/app/data/projects/tictactoe/src/player.cpp new file mode 100644 index 00000000..a1b3694c --- /dev/null +++ b/bin/app/data/projects/tictactoe/src/player.cpp @@ -0,0 +1,19 @@ +#include "player.h" + +Player::Player( Field::Token token, const char* name ) + : token_( token ) + , name_( name ) { +} + +Player::~Player() { +} + +const Field::Token& Player::getToken() const +{ + return token_; +} + +const char* Player::getName() const +{ + return name_; +} diff --git a/bin/app/data/projects/tictactoe/src/player.h b/bin/app/data/projects/tictactoe/src/player.h new file mode 100644 index 00000000..71a691a4 --- /dev/null +++ b/bin/app/data/projects/tictactoe/src/player.h @@ -0,0 +1,21 @@ +#ifndef _PLAYER_ +#define _PLAYER_ + +#include "field.h" + +class Player { +public: + Player( Field::Token token, const char* name ); + virtual ~Player(); + + virtual Field::Move Turn( const Field& field ) const = 0; + + const Field::Token& getToken() const; + const char* getName() const; + +protected: + const Field::Token token_; + const char* name_; +}; + +#endif // _PLAYER_ diff --git a/bin/app/data/projects/tictactoe/src/tictactoe.cpp b/bin/app/data/projects/tictactoe/src/tictactoe.cpp new file mode 100644 index 00000000..d21a1025 --- /dev/null +++ b/bin/app/data/projects/tictactoe/src/tictactoe.cpp @@ -0,0 +1,85 @@ +#include "tictactoe.h" + +#include "artificial_player.h" +#include "human_player.h" +#include "io.h" + +TicTacToe::TicTacToe() { + players_[0] = 0; + players_[1] = 0; +} + +TicTacToe::~TicTacToe() { + Reset(); +} + +bool TicTacToe::Start() { + Reset(); + io::stringOut("Tic Tac Toe\n\n[1] Human\n[2] Computer\n[3] Quit\n\n"); + + players_[0] = SelectPlayer( Field::PlayerA, "Player A" ); + if ( !players_[0] ) { + return false; + } + + players_[1] = SelectPlayer( Field::PlayerB, "Player B" ); + if ( !players_[1] ) { + return false; + } + + io::stringOut("\n"); + return true; +} + +void TicTacToe::Run() { + field_.Show(); + + int playerIndex = 0; + + for ( int i = 0; i < 9; i++ ) { + Player& player = *players_[playerIndex]; + + field_.MakeMove( player.Turn( field_ ), player.getToken() ); + field_.Show(); + + if ( field_.SameInRow( player.getToken(), 3 ) ) { + io::stringOut(player.getName()); + io::stringOut(" won!\n\n"); + return; + } + + playerIndex = ( playerIndex + 1 ) % 2; + } + + io::stringOut("Game ends in draw!\n\n"); +} + +void TicTacToe::Reset() { + field_.Clear(); + + for ( int i = 0; i < 2; i++ ) { + if ( players_[i] ) { + delete players_[i]; + players_[i] = 0; + } + } +} + +Player* TicTacToe::SelectPlayer( Field::Token token, const char* name ) const { + int selection = 0; + + while ( true ) { + io::stringOut("Choose "); + io::stringOut(name); + io::stringOut(": "); + + selection = io::numberIn(); + + switch ( selection ) { + case 1 : return new HumanPlayer( token, name ); + case 2 : return new ArtificialPlayer( token, name ); + case 3 : return 0; + default : io::stringOut("Wrong input!\n"); + } + } +} diff --git a/bin/app/data/projects/tictactoe/src/tictactoe.h b/bin/app/data/projects/tictactoe/src/tictactoe.h new file mode 100644 index 00000000..6bf279da --- /dev/null +++ b/bin/app/data/projects/tictactoe/src/tictactoe.h @@ -0,0 +1,23 @@ +#ifndef _TIC_TAC_TOE_ +#define _TIC_TAC_TOE_ + +#include "field.h" +#include "player.h" + +class TicTacToe { +public: + TicTacToe(); + ~TicTacToe(); + + bool Start(); + void Run(); + +private: + void Reset(); + Player* SelectPlayer( Field::Token token, const char* name ) const; + + Player* players_[2]; + Field field_; +}; + +#endif // _TIC_TAC_TOE_ diff --git a/bin/app/data/projects/tictactoe/tictactoe.xml b/bin/app/data/projects/tictactoe/tictactoe.xml new file mode 100644 index 00000000..ff5af2b5 --- /dev/null +++ b/bin/app/data/projects/tictactoe/tictactoe.xml @@ -0,0 +1,12 @@ + + + + + .h + .cpp + + + ./src + + + \ No newline at end of file diff --git a/ide_plugins/sublime_text/CoatiCommunicator/CoatiCommunicator.py b/ide_plugins/sublime_text/CoatiPlugin/CoatiPlugin.py similarity index 94% rename from ide_plugins/sublime_text/CoatiCommunicator/CoatiCommunicator.py rename to ide_plugins/sublime_text/CoatiPlugin/CoatiPlugin.py index 481519db..786b9a15 100644 --- a/ide_plugins/sublime_text/CoatiCommunicator/CoatiCommunicator.py +++ b/ide_plugins/sublime_text/CoatiPlugin/CoatiPlugin.py @@ -52,7 +52,7 @@ class ServerStartupListener(sublime_plugin.EventListener): if (not self.running): self.running = True - settings = sublime.load_settings('CoatiCommunicator.sublime-settings') + settings = sublime.load_settings('CoatiPlugin.sublime-settings') host_ip = settings.get('host_ip') coati_to_plugin_port = settings.get('coati_to_sublime_port') @@ -74,7 +74,7 @@ class SetActiveTokenCommand(sublime_plugin.TextCommand): text = "setActiveToken" + MESSAGE_SPLIT_STRING + filePath + MESSAGE_SPLIT_STRING + str(row) + MESSAGE_SPLIT_STRING + str(col) + "" data = text.encode() - settings = sublime.load_settings('CoatiCommunicator.sublime-settings') + settings = sublime.load_settings('CoatiPlugin.sublime-settings') host_ip = settings.get('host_ip') plugin_to_coati_port = settings.get('sublime_to_coati_port') diff --git a/ide_plugins/sublime_text/CoatiCommunicator/CoatiCommunicator.sublime-settings b/ide_plugins/sublime_text/CoatiPlugin/CoatiPlugin.sublime-settings similarity index 100% rename from ide_plugins/sublime_text/CoatiCommunicator/CoatiCommunicator.sublime-settings rename to ide_plugins/sublime_text/CoatiPlugin/CoatiPlugin.sublime-settings diff --git a/ide_plugins/sublime_text/CoatiCommunicator/Context.sublime-menu b/ide_plugins/sublime_text/CoatiPlugin/Context.sublime-menu similarity index 100% rename from ide_plugins/sublime_text/CoatiCommunicator/Context.sublime-menu rename to ide_plugins/sublime_text/CoatiPlugin/Context.sublime-menu diff --git a/ide_plugins/sublime_text/readme.txt b/ide_plugins/sublime_text/readme.txt index 3a4ad976..19be79f5 100644 --- a/ide_plugins/sublime_text/readme.txt +++ b/ide_plugins/sublime_text/readme.txt @@ -1,5 +1,5 @@ How to Install: -Just copy and past this "CoatiCommunicator" folder into your Packages folder of Sublime Text. (You can find +Just copy and past this "CoatiPlugin" folder into your Packages folder of Sublime Text. (You can find that folder from within Sublime via the menu: Preferences -> Browse Packages...). Restart Sublime before starting to use the plugin. diff --git a/ide_plugins/vs/coati_plugin_vs_2012.vsix b/ide_plugins/vs/coati_plugin_vs_2012.vsix new file mode 100644 index 0000000000000000000000000000000000000000..c1b9a0bb2faaad049e137ce04a6940e288fc52f9 GIT binary patch literal 98538 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

Q}h!@iOPIJ!&- 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