commit d81111f001640b8aab5002eb67e858707d0d8e1a Author: DeLiss <96916811+deliss-btw@users.noreply.github.com> Date: Thu Jun 4 04:08:55 2026 +0500 game is running! player can be created. diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..90cdded --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.vs/ +x64/ +Debug/ +Release/ diff --git a/ASCII-G.sln b/ASCII-G.sln new file mode 100644 index 0000000..1b49261 --- /dev/null +++ b/ASCII-G.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36915.13 d17.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCII-G", "ASCII-G.vcxproj", "{03F3ABC2-25E4-46FA-88BB-386392E011C0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {03F3ABC2-25E4-46FA-88BB-386392E011C0}.Debug|x64.ActiveCfg = Debug|x64 + {03F3ABC2-25E4-46FA-88BB-386392E011C0}.Debug|x64.Build.0 = Debug|x64 + {03F3ABC2-25E4-46FA-88BB-386392E011C0}.Debug|x86.ActiveCfg = Debug|Win32 + {03F3ABC2-25E4-46FA-88BB-386392E011C0}.Debug|x86.Build.0 = Debug|Win32 + {03F3ABC2-25E4-46FA-88BB-386392E011C0}.Release|x64.ActiveCfg = Release|x64 + {03F3ABC2-25E4-46FA-88BB-386392E011C0}.Release|x64.Build.0 = Release|x64 + {03F3ABC2-25E4-46FA-88BB-386392E011C0}.Release|x86.ActiveCfg = Release|Win32 + {03F3ABC2-25E4-46FA-88BB-386392E011C0}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {CD4099A8-B0DF-4276-871F-B90192EC6987} + EndGlobalSection +EndGlobal diff --git a/ASCII-G.vcxproj b/ASCII-G.vcxproj new file mode 100644 index 0000000..82c39d3 --- /dev/null +++ b/ASCII-G.vcxproj @@ -0,0 +1,137 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {03f3abc2-25e4-46fa-88bb-386392e011c0} + ASCIIG + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ASCII-G.vcxproj.filters b/ASCII-G.vcxproj.filters new file mode 100644 index 0000000..942462a --- /dev/null +++ b/ASCII-G.vcxproj.filters @@ -0,0 +1,36 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Исходные файлы + + + Исходные файлы + + + Исходные файлы + + + + + Исходные файлы + + + Исходные файлы + + + \ No newline at end of file diff --git a/ASCII-G.vcxproj.user b/ASCII-G.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/ASCII-G.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/game.cpp b/game.cpp new file mode 100644 index 0000000..510e2db --- /dev/null +++ b/game.cpp @@ -0,0 +1,77 @@ +#include "game.h" +#include "player.h" +#include +#include + +void Game::run() { + showMainMenu(); + while (isRunning) { + render(); + processCommand(); + } +} + +void Game::showMainMenu() { + while (true) { + std::cout << "\n=== ASCII-G - The Cookies Edition ===\n"; + std::cout << "1. New Game\n"; + std::cout << "2. Load Game\n"; + std::cout << "3. Exit\n"; + std::cout << "> "; + + std::string str; + std::getline(std::cin, str); + + if (str.length() != 1) { + std::cout << "It seems you've tried to input more than 1 digit... Just don't do this please!\n"; + continue; + } + + char select = str[0]; + + if (select == '1') { + std::string name; + std::cout << "Enter your character name: "; + std::cin >> name; + player = new Player(name); + std::cout << "Created new character " << player->name << "! Amazing choice."; + break; + } + else if (select == '2') { + std::cout << "I can't do this... yet."; + } + else if (select == '3') { + isRunning = false; + break; + } + else { + std::cout << "I can't do this... yet? Let's try again!"; + } + } +} + +void Game::render() { + std::cout << "\n=== ASCII-G - The Cookies Edition ===\n"; + std::cout << "Commands: stats, exit\n"; +} + +void Game::processCommand() { + std::string command; + std::cout << "> "; + std::cin >> command; + + if (command == "exit") { + isRunning = false; + } + else if (command == "stats") { + if (player != nullptr) { + player->showStats(); + } + else { + std::cout << "No character created yet.\n"; + } + } + else { + std::cout << "Unknown command.\n"; + } +} \ No newline at end of file diff --git a/game.h b/game.h new file mode 100644 index 0000000..de0a82d --- /dev/null +++ b/game.h @@ -0,0 +1,17 @@ +#include "player.h" +#pragma once + +class Game { +public: + void run(); + +private: + bool isRunning = true; + Player* player = nullptr; + + void showMainMenu(); + void processCommand(); + void render(); +}; + +#pragma once diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..c3006ba --- /dev/null +++ b/main.cpp @@ -0,0 +1,8 @@ +#include "Game.h" + +int main() { + Game game; + game.run(); + + return 0; +} \ No newline at end of file diff --git a/player.cpp b/player.cpp new file mode 100644 index 0000000..7b86b53 --- /dev/null +++ b/player.cpp @@ -0,0 +1,17 @@ +#include "player.h" +#include + +Player::Player(std::string _name) +{ + this->name = _name; + hp = 100; + atk = 10; + gold = 0; +} + +void Player::showStats() { + std::cout << "\n === " << this->name << "'s STATS ==="; + std::cout << "\nHP : " << this->hp; + std::cout << "\nATK : " << this->atk; + std::cout << "\nGOLD : " << this->gold; +} \ No newline at end of file diff --git a/player.h b/player.h new file mode 100644 index 0000000..ab447e8 --- /dev/null +++ b/player.h @@ -0,0 +1,15 @@ +#pragma once +#include + +class Player { +public: + std::string name; + int hp; + int atk; + int gold; + + Player(std::string _name); + void showStats(); +}; + +#pragma once