From 98ccb35b2ae78b21572e270e8a960533b5894cd5 Mon Sep 17 00:00:00 2001 From: dm1sh Date: Wed, 23 Feb 2022 22:48:24 +0300 Subject: [PATCH] Added readme --- README.md | 8 +++++++- TicTacToeDialog.vcxproj | 3 +++ TicTacToeDialog.vcxproj.filters | 3 +++ img/screen.jpg | Bin 0 -> 23627 bytes 4 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 img/screen.jpg diff --git a/README.md b/README.md index 22a1b48..ad59089 100644 --- a/README.md +++ b/README.md @@ -1 +1,7 @@ -TicTacToeDialog \ No newline at end of file +# TicTacToeDialog + +Tic Tac Toe game in windows dialog built with MFC and Win32 API. + +Minimax algorithm is used to power computer AI. + +![Screenshot](./img/screen.jpg) \ No newline at end of file diff --git a/TicTacToeDialog.vcxproj b/TicTacToeDialog.vcxproj index d600e30..7836b1e 100644 --- a/TicTacToeDialog.vcxproj +++ b/TicTacToeDialog.vcxproj @@ -156,6 +156,9 @@ + + + diff --git a/TicTacToeDialog.vcxproj.filters b/TicTacToeDialog.vcxproj.filters index a54fd11..f2f16b7 100644 --- a/TicTacToeDialog.vcxproj.filters +++ b/TicTacToeDialog.vcxproj.filters @@ -44,4 +44,7 @@ Resource Files + + + \ No newline at end of file diff --git a/img/screen.jpg b/img/screen.jpg new file mode 100644 index 0000000000000000000000000000000000000000..39a838af16829a920edea19c8999e8d0a925840c GIT binary patch literal 23627 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 YeK0WuVb{dMR^~rvs@chV6QXtgFYaIKmH+?% literal 0 HcmV?d00001