From d81111f001640b8aab5002eb67e858707d0d8e1a Mon Sep 17 00:00:00 2001
From: DeLiss <96916811+deliss-btw@users.noreply.github.com>
Date: Thu, 4 Jun 2026 04:08:55 +0500
Subject: [PATCH] game is running! player can be created.
---
.gitignore | 4 ++
ASCII-G.sln | 31 +++++++++
ASCII-G.vcxproj | 137 ++++++++++++++++++++++++++++++++++++++++
ASCII-G.vcxproj.filters | 36 +++++++++++
ASCII-G.vcxproj.user | 4 ++
game.cpp | 77 ++++++++++++++++++++++
game.h | 17 +++++
main.cpp | 8 +++
player.cpp | 17 +++++
player.h | 15 +++++
10 files changed, 346 insertions(+)
create mode 100644 .gitignore
create mode 100644 ASCII-G.sln
create mode 100644 ASCII-G.vcxproj
create mode 100644 ASCII-G.vcxproj.filters
create mode 100644 ASCII-G.vcxproj.user
create mode 100644 game.cpp
create mode 100644 game.h
create mode 100644 main.cpp
create mode 100644 player.cpp
create mode 100644 player.h
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