diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..40089b8 Binary files /dev/null and b/.DS_Store differ diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 0000000..e9242cf --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,31 @@ +name: Deploy Doxygen Documentation + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Doxygen + uses: mattnotmitt/doxygen-action@v1.1.0 + + - name: Generate Documentation + run: | + cd lab2 + doxygen Doxyfile + + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + if: github.ref == 'refs/heads/main' + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./lab2/docs/html + destination_dir: docs diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/DEPLOYMENT_GUIDE.md b/DEPLOYMENT_GUIDE.md new file mode 100644 index 0000000..89b8de6 --- /dev/null +++ b/DEPLOYMENT_GUIDE.md @@ -0,0 +1,51 @@ +# Руководство по развертыванию документации + +## Быстрый старт + +### 1. Настройка GitHub Pages +```bash +# 1. Перейдите в настройки репозитория на GitHub +# 2. Pages → Source → GitHub Actions +# 3. Actions → General → Workflow permissions → Read and write permissions +``` + +### 2. Развертывание +```bash +# Сделайте commit и push изменений +git add . +git commit -m "Add GitHub Pages deployment" +git push origin main +``` + +### 3. Проверка +- Документация будет доступна по адресу: `https://glebsikunov.github.io/HomeAssignments/` +- Проверьте статус в разделе Actions на GitHub + +## Что было настроено + +✅ **GitHub Actions workflow** (`.github/workflows/deploy-docs.yml`) +- Автоматическая генерация документации с помощью Doxygen +- Развертывание на GitHub Pages при push в main + +✅ **Главная страница** (`index.html`) +- Красивый интерфейс с ссылкой на документацию +- Адаптивный дизайн + +✅ **Конфигурация** (`.nojekyll`) +- Корректная работа с файлами, начинающимися с подчеркивания + +✅ **Документация** (`lab2/docs/html/`) +- Автоматически генерируемая документация Doxygen +- Доступна по адресу `/docs/` + +## Структура URL + +- Главная страница: `https://glebsikunov.github.io/HomeAssignments/` +- Документация: `https://glebsikunov.github.io/HomeAssignments/docs/` + +## Автоматическое обновление + +Документация обновляется автоматически при каждом push в ветку main. Workflow: +1. Устанавливает Doxygen +2. Генерирует документацию из `lab2/` +3. Развертывает в папку `docs/` на GitHub Pages diff --git a/Doxyfile b/Doxyfile deleted file mode 100644 index cc2d734..0000000 --- a/Doxyfile +++ /dev/null @@ -1,356 +0,0 @@ -# Doxyfile configuration for RPG Adventure Game -# Generated by Gleb Shikunov - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = "RPG Adventure Game" -PROJECT_NUMBER = 1.0 -PROJECT_BRIEF = "A console-based RPG game with combat, inventory, and quest systems" -PROJECT_LOGO = -OUTPUT_DIRECTORY = docs -CREATE_SUBDIRS = NO -ALLOW_UNICODE_NAMES = NO -OUTPUT_LANGUAGE = English -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = YES -STRIP_FROM_PATH = -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = YES -QT_AUTOBRIEF = NO -MULTILINE_CPP_IS_BRIEF = NO -INHERIT_DOCS = YES -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 4 -ALIASES = -TCL_SUBST = -OPTIMIZE_OUTPUT_FOR_C = NO -OPTIMIZE_OUTPUT_JAVA = NO -OPTIMIZE_FOR_FORTRAN = NO -OPTIMIZE_OUTPUT_VHDL = NO -EXTENSION_MAPPING = -MARKDOWN_SUPPORT = YES -TOC_INCLUDE_HEADINGS = 0 -AUTOLINK_SUPPORT = YES -BUILTIN_STL_SUPPORT = NO -CPP_CLI_SUPPORT = NO -SIP_SUPPORT = NO -IDL_PROPERTY_SUPPORT = YES -DISTRIBUTE_GROUP_DOC = NO -GROUP_GRAPHS = YES -DISABLE_INDEX = NO -GENERATE_TREEVIEW = YES -ENUM_VALUES_PER_LINE = 4 -TREEVIEW_WIDTH = 250 -EXT_LINKS_IN_WINDOW = NO -FORMULA_FONTSIZE = 10 -FORMULA_TRANSPARENT = YES -USE_MATHJAX = NO -SEARCHENGINE = YES -SERVER_BASED_SEARCH = NO -EXTERNAL_SEARCH = NO -SEARCHENGINE_URL = -SEARCHDATA_FILE = searchdata.xml -EXTERNAL_SEARCH_ID = -EXTRA_SEARCH_MAPPINGS = -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- -EXTRACT_ALL = YES -EXTRACT_PRIVATE = YES -EXTRACT_PACKAGE = NO -EXTRACT_STATIC = YES -EXTRACT_LOCAL_CLASSES = YES -EXTRACT_LOCAL_METHODS = NO -EXTRACT_ANON_NSPACES = NO -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = NO -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = YES -HIDE_SCOPE_NAMES = NO -HIDE_COMPOUND_REFERENCE= NO -SHOW_HEADERFILE = YES -SHOW_INCLUDE_FILES = YES -SHOW_GROUPED_MEMB_INC = NO -FORCE_LOCAL_INCLUDES = NO -INLINE_INFO = YES -SORT_MEMBER_DOCS = YES -SORT_BRIEF_DOCS = NO -SORT_MEMBERS_CTORS_1ST = NO -SORT_GROUP_NAMES = NO -SORT_BY_SCOPE_NAME = NO -STRICT_PROTO_MATCHING = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = YES -SHOW_FILES = YES -SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -LAYOUT_FILE = -CITE_BIB_FILES = -#--------------------------------------------------------------------------- -# Input related configuration options -#--------------------------------------------------------------------------- -INPUT = lab2/game/include/ lab2/game/src/ -INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.idl \ - *.ddl \ - *.odl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.cs \ - *.d \ - *.php \ - *.php4 \ - *.php5 \ - *.phtml \ - *.inc \ - *.m \ - *.markdown \ - *.md \ - *.mm \ - *.dox \ - *.py \ - *.pyw \ - *.f90 \ - *.f95 \ - *.f03 \ - *.f08 \ - *.f \ - *.for \ - *.tcl \ - *.vhd \ - *.vhdl -RECURSIVE = YES -EXCLUDE = -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO -FILTER_SOURCE_PATTERNS = -USE_MDFILE_AS_MAINPAGE = -#--------------------------------------------------------------------------- -# Source browsing related configuration options -#--------------------------------------------------------------------------- -SOURCE_BROWSER = YES -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = NO -REFERENCES_RELATION = NO -REFERENCES_LINK_SOURCE = YES -SOURCE_TOOLTIPS = YES -USE_HTAGS = NO -VERBATIM_HEADERS = YES -CLANG_ASSISTED_PARSING = NO -CLANG_ADD_INC_PATHS = YES -CLANG_OPTIONS = -CLANG_DATABASE_PATH = -#--------------------------------------------------------------------------- -# Alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = YES -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# HTML related configuration options -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_EXTRA_STYLESHEET = -HTML_EXTRA_FILES = -HTML_COLORSTYLE_HUE = 220 -HTML_COLORSTYLE_SAT = 100 -HTML_COLORSTYLE_GAMMA = 80 -HTML_TIMESTAMP = NO -HTML_DYNAMIC_MENUS = YES -HTML_DYNAMIC_SECTIONS = NO -HTML_INDEX_NUM_ENTRIES = 100 -GENERATE_DOCSET = NO -DOCSET_FEEDNAME = "Doxygen generated docs" -DOCSET_BUNDLE_ID = org.doxygen.Project -DOCSET_PUBLISHER_ID = org.doxygen.Publisher -DOCSET_PUBLISHER_NAME = Publisher -GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -CHM_INDEX_ENCODING = -BINARY_TOC = NO -TOC_EXPAND = NO -GENERATE_QHP = NO -QCH_FILE = -QHP_NAMESPACE = org.doxygen.Project -QHP_VIRTUAL_FOLDER = doc -QHP_CUST_FILTER_NAME = -QHP_CUST_FILTER_ATTRS = -QHP_SECT_FILTER_ATTRS = -QHG_LOCATION = -GENERATE_ECLIPSEHELP = NO -ECLIPSE_DOC_ID = org.doxygen.Project -DISABLE_INDEX = NO -GENERATE_TREEVIEW = YES -ENUM_VALUES_PER_LINE = 4 -TREEVIEW_WIDTH = 250 -EXT_LINKS_IN_WINDOW = NO -FORMULA_FONTSIZE = 10 -FORMULA_TRANSPARENT = YES -USE_MATHJAX = NO -SEARCHENGINE = YES -SERVER_BASED_SEARCH = NO -EXTERNAL_SEARCH = NO -SEARCHENGINE_URL = -SEARCHDATA_FILE = searchdata.xml -EXTERNAL_SEARCH_ID = -EXTRA_SEARCH_MAPPINGS = -#--------------------------------------------------------------------------- -# LaTeX related configuration options -#--------------------------------------------------------------------------- -GENERATE_LATEX = NO -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4 -EXTRA_PACKAGES = -LATEX_HEADER = -LATEX_FOOTER = -LATEX_EXTRA_STYLESHEET = -LATEX_EXTRA_FILES = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -LATEX_SOURCE_CODE = NO -LATEX_BIB_STYLE = plain -LATEX_TIMESTAMP = NO -#--------------------------------------------------------------------------- -# RTF related configuration options -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -RTF_SOURCE_CODE = NO -RTF_EXTRA_FILES = -#--------------------------------------------------------------------------- -# Man page related configuration options -#--------------------------------------------------------------------------- -GENERATE_MAN = NO -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_SUBDIR = -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# XML related configuration options -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_PROGRAMLISTING = YES -#--------------------------------------------------------------------------- -# Preprocessor related configuration options -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# External references configuration options -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -EXTERNAL_PAGES = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Dot tool related configuration options -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = YES -MSCGEN_PATH = -DIA_PATH = -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = YES -DOT_NUM_THREADS = 0 -DOT_FONTNAME = Helvetica -DOT_FONTSIZE = 10 -DOT_FONTPATH = -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = NO -UML_LIMIT_NUM_FIELDS = 10 -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DOT_IMAGE_FORMAT = png -INTERACTIVE_SVG = NO -DOT_PATH = -DOTFILE_DIRS = -MSCFILE_DIRS = -DIAFILE_DIRS = -PLANTUML_JAR_PATH = -PLANTUML_CFG_FILE = -PLANTUML_INCLUDE_PATH = -DOT_GRAPH_MAX_NODES = 50 -MAX_DOT_GRAPH_DEPTH = 0 -DOT_TRANSPARENT = NO -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES diff --git a/README.md b/README.md index 54a70aa..f5dcbe4 100644 --- a/README.md +++ b/README.md @@ -5,3 +5,12 @@ st128274@student.spbu.ru ### Description Created as part of monitoring homework at the university. Each directory is a solution to a separate task + +### Документация +Документация проекта автоматически развертывается на GitHub Pages при каждом push в ветку main. Документация доступна по адресу: https://glebsikunov.github.io/HomeAssignments/ + +### Структура проекта +- **Assignment1-6** - Задания по программированию +- **lab1** - Лабораторная работа по работе с BMP файлами +- **lab2** - Лабораторная работа с игрой и документацией Doxygen +- **docs** - Автоматически генерируемая документация Doxygen diff --git a/SETUP_GITHUB_PAGES.md b/SETUP_GITHUB_PAGES.md new file mode 100644 index 0000000..1027a13 --- /dev/null +++ b/SETUP_GITHUB_PAGES.md @@ -0,0 +1,50 @@ +# Настройка GitHub Pages для документации Doxygen + +## Шаги для настройки + +### 1. Включение GitHub Pages +1. Перейдите в настройки репозитория на GitHub +2. Найдите раздел "Pages" в левом меню +3. В разделе "Source" выберите "GitHub Actions" +4. Сохраните изменения + +### 2. Настройка прав доступа +1. Перейдите в настройки репозитория +2. Найдите раздел "Actions" → "General" +3. В разделе "Workflow permissions" выберите "Read and write permissions" +4. Поставьте галочку "Allow GitHub Actions to create and approve pull requests" +5. Сохраните изменения + +### 3. Активация workflow +После настройки прав доступа: +1. Сделайте commit и push изменений в ветку main +2. GitHub Actions автоматически запустит workflow +3. Документация будет доступна по адресу: `https://glebsikunov.github.io/HomeAssignments/` + +### 4. Проверка развертывания +1. Перейдите в раздел "Actions" вашего репозитория +2. Убедитесь, что workflow "Deploy Doxygen Documentation" выполнился успешно +3. Проверьте, что документация доступна по указанному URL + +## Структура файлов + +- `.github/workflows/deploy-docs.yml` - GitHub Actions workflow для автоматического развертывания +- `index.html` - Главная страница с ссылкой на документацию +- `.nojekyll` - Файл для корректной работы GitHub Pages с файлами, начинающимися с подчеркивания +- `lab2/Doxyfile` - Конфигурация Doxygen +- `lab2/docs/html/` - Сгенерированная документация + +## Автоматическое обновление + +Документация будет автоматически обновляться при каждом push в ветку main. Workflow: +1. Устанавливает Doxygen +2. Генерирует документацию из исходного кода +3. Развертывает ее на GitHub Pages + +## Устранение неполадок + +Если документация не развертывается: +1. Проверьте, что workflow выполнился без ошибок +2. Убедитесь, что права доступа настроены правильно +3. Проверьте, что в репозитории включен GitHub Pages +4. Убедитесь, что файл `.nojekyll` присутствует в корне репозитория diff --git a/index.html b/index.html new file mode 100644 index 0000000..a211ccf --- /dev/null +++ b/index.html @@ -0,0 +1,69 @@ + + + + + + Документация проекта + + + +
+

Документация проекта

+ +
+

Добро пожаловать в документацию проекта! Здесь вы можете найти подробную информацию о структуре кода, классах и функциях.

+
+ +
+ Перейти к документации Doxygen +
+ +
+

О проекте

+

Этот репозиторий содержит различные задания и лабораторные работы, включая:

+ +
+
+ + diff --git a/lab1/.DS_Store b/lab1/.DS_Store index 91ce133..892c8fd 100644 Binary files a/lab1/.DS_Store and b/lab1/.DS_Store differ diff --git a/lab2/README.md b/lab2/README.md index 2c7112b..7fc1756 100644 --- a/lab2/README.md +++ b/lab2/README.md @@ -20,4 +20,7 @@ make # Run project: ./game/bin/game -test: ./game/tests/all_tests \ No newline at end of file +test: ./game/tests/all_tests + +## doxyfile +https://glebsikunov.github.io/HomeAssignments/ \ No newline at end of file diff --git a/lab2/docs/.DS_Store b/lab2/docs/.DS_Store new file mode 100644 index 0000000..b772848 Binary files /dev/null and b/lab2/docs/.DS_Store differ diff --git a/lab2/docs/html/README_8md.html b/lab2/docs/html/README_8md.html new file mode 100644 index 0000000..cedb868 --- /dev/null +++ b/lab2/docs/html/README_8md.html @@ -0,0 +1,113 @@ + + + + + + + +RPG Adventure Game: README.md File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RPG Adventure Game 1.0 +
+
A console-based RPG game with combat, inventory, and quest systems
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
README.md File Reference
+
+
+
+
+ +
+ + + + diff --git a/lab2/docs/html/doxygen_crawl.html b/lab2/docs/html/doxygen_crawl.html index 6a3812d..ea5ad2e 100644 --- a/lab2/docs/html/doxygen_crawl.html +++ b/lab2/docs/html/doxygen_crawl.html @@ -507,6 +507,7 @@ + diff --git a/lab2/docs/html/index.html b/lab2/docs/html/index.html index 1b04635..2f9d8a7 100644 --- a/lab2/docs/html/index.html +++ b/lab2/docs/html/index.html @@ -5,7 +5,7 @@ -RPG Adventure Game: Main Page +RPG Adventure Game: RPG Adventure Game @@ -88,10 +88,96 @@ -
-
RPG Adventure Game Documentation
+
+
RPG Adventure Game
+

+

A console-based role-playing game built in C++ with comprehensive object-oriented design.

+

Overview

+

This project is a text-based RPG game featuring:

    +
  • Combat System: Turn-based combat with weapons, armor, and magic
  • +
  • Character Progression: Leveling system with stats and abilities
  • +
  • Inventory Management: Equipment, potions, and item trading
  • +
  • Quest System: NPCs with quests and rewards
  • +
  • World Exploration: 2D grid-based world with various locations
  • +
+

Architecture

+

The game follows object-oriented programming principles with:

    +
  • Inheritance: Item hierarchy (Weapon, Armor, Potion inherit from Item)
  • +
  • Composition: Game contains Player, World, Battle systems
  • +
  • Polymorphism: Virtual methods for different item types
  • +
  • Encapsulation: Private data members with public interfaces
  • +
+

Key Classes

+

Core Game Classes

+
    +
  • Game: Main controller managing the game loop and state
  • +
  • Player: Player character with stats, inventory, and abilities
  • +
  • Enemy: AI-controlled opponents with various abilities
  • +
  • World: 2D world management and entity positioning
  • +
+

Item System

+
    +
  • Item: Base class for all game items
  • +
  • Weapon: Combat weapons with damage and durability
  • +
  • Armor: Defensive equipment with protection values
  • +
  • Potion: Consumable items with various effects
  • +
+

Game Systems

+
    +
  • Battle: Turn-based combat management
  • +
  • Inventory: Item storage and management
  • +
  • Quest: Quest tracking and completion
  • +
  • Shop: Trading system for buying/selling items
  • +
+

Features

+
    +
  • Combat Mechanics: Attack, defend, use items, cast spells
  • +
  • Character Stats: HP, Mana, Level, Attack Power
  • +
  • Equipment System: Weapons, armor, and artifacts
  • +
  • Magic System: Spells with mana costs and cooldowns
  • +
  • NPC Interactions: Dialog system and quest giving
  • +
  • Shop System: Buy and sell items with gold economy
  • +
  • Logging System: Debug and game event logging
  • +
+

Getting Started

+

Prerequisites

+
    +
  • C++ compiler (g++, clang, or MSVC)
  • +
  • Make utility
  • +
  • Doxygen (for documentation generation)
  • +
+

Building

+
cd lab2/game
+
make
+

Running

+
./game
+

Generating Documentation

+
cd lab2
+
doxygen Doxyfile
+

Documentation

+

Complete API documentation is available in the docs/html/ directory. Open docs/html/index.html in a web browser to view the full documentation.

+

Project Structure

+
lab2/
+
├── game/
+
│ ├── include/ # Header files (.h)
+
│ ├── src/ # Source files (.cpp)
+
│ ├── tests/ # Unit tests
+
│ └── Makefile # Build configuration
+
├── docs/ # Generated documentation
+
├── Architecture_description/ # Architecture diagrams
+
└── Doxyfile # Documentation configuration
+

Author

+

Gleb Shikunov

+

This project demonstrates advanced C++ programming concepts including:

    +
  • Object-oriented design patterns
  • +
  • Memory management
  • +
  • Template usage
  • +
  • Exception handling
  • +
  • Documentation generation with Doxygen
  • +
+
diff --git a/lab2/docs/html/main_8md.html b/lab2/docs/html/main_8md.html new file mode 100644 index 0000000..2ab629b --- /dev/null +++ b/lab2/docs/html/main_8md.html @@ -0,0 +1,113 @@ + + + + + + + +RPG Adventure Game: main.md File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
RPG Adventure Game 1.0 +
+
A console-based RPG game with combat, inventory, and quest systems
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
main.md File Reference
+
+
+
+
+ +
+ + + + diff --git a/lab2/docs/html/search/all_0.js b/lab2/docs/html/search/all_0.js index b95787f..ae2150e 100644 --- a/lab2/docs/html/search/all_0.js +++ b/lab2/docs/html/search/all_0.js @@ -7,10 +7,11 @@ var searchData= ['addchoice_4',['AddChoice',['../classDialog.html#a93f3ef58c8559fbbf9a613b5b5ffcbb2',1,'Dialog']]], ['addgold_5',['AddGold',['../classPlayer.html#a0d8a112f3b61defd1141d4818039e55b',1,'Player']]], ['additem_6',['AddItem',['../classPlayer.html#a671ce2b20784d14cd88b3c533082c07f',1,'Player::AddItem()'],['../classShop.html#abcfebea4ab19f06b458ea0da9a3f6de8',1,'Shop::AddItem()']]], - ['armor_7',['Armor',['../classArmor.html',1,'Armor'],['../classArmor.html#a8e84868958356fd65898d68dae0a2de1',1,'Armor::Armor()']]], - ['armor_2ecpp_8',['Armor.cpp',['../Armor_8cpp.html',1,'']]], - ['armor_2eh_9',['Armor.h',['../Armor_8h.html',1,'']]], - ['armorupgrades_10',['armorUpgrades',['../classPlayer.html#a36af05df93ef5b495130e399f548e376',1,'Player']]], - ['attack_11',['Attack',['../classEnemy.html#af42ff1e2cb004de015771e8251c23fd6',1,'Enemy::Attack()'],['../classPlayer.html#a6e0e7da31f813716f217884d37c18617',1,'Player::Attack()']]], - ['attackpower_12',['attackPower',['../classEnemy.html#a5cad1bc01d7f830a5a76217aa704ecf0',1,'Enemy::attackPower'],['../classPlayer.html#ae0a4cdc305ea981ad26636114e80d9ae',1,'Player::attackPower']]] + ['adventure_20game_7',['RPG Adventure Game',['../index.html',1,'']]], + ['armor_8',['Armor',['../classArmor.html',1,'Armor'],['../classArmor.html#a8e84868958356fd65898d68dae0a2de1',1,'Armor::Armor()']]], + ['armor_2ecpp_9',['Armor.cpp',['../Armor_8cpp.html',1,'']]], + ['armor_2eh_10',['Armor.h',['../Armor_8h.html',1,'']]], + ['armorupgrades_11',['armorUpgrades',['../classPlayer.html#a36af05df93ef5b495130e399f548e376',1,'Player']]], + ['attack_12',['Attack',['../classEnemy.html#af42ff1e2cb004de015771e8251c23fd6',1,'Enemy::Attack()'],['../classPlayer.html#a6e0e7da31f813716f217884d37c18617',1,'Player::Attack()']]], + ['attackpower_13',['attackPower',['../classEnemy.html#a5cad1bc01d7f830a5a76217aa704ecf0',1,'Enemy::attackPower'],['../classPlayer.html#ae0a4cdc305ea981ad26636114e80d9ae',1,'Player::attackPower']]] ]; diff --git a/lab2/docs/html/search/all_6.js b/lab2/docs/html/search/all_6.js index b0b5310..419e8a8 100644 --- a/lab2/docs/html/search/all_6.js +++ b/lab2/docs/html/search/all_6.js @@ -1,6 +1,6 @@ var searchData= [ - ['game_0',['Game',['../classGame.html',1,'']]], + ['game_0',['Game',['../classGame.html',1,'Game'],['../index.html',1,'RPG Adventure Game']]], ['game_2ecpp_1',['Game.cpp',['../Game_8cpp.html',1,'']]], ['game_2eh_2',['Game.h',['../Game_8h.html',1,'']]], ['gamefinished_3',['gameFinished',['../classGame.html#a46b579dba97c342e628e6e06c58771ff',1,'Game']]], diff --git a/lab2/docs/html/search/all_a.js b/lab2/docs/html/search/all_a.js index 7931ea8..15cfba7 100644 --- a/lab2/docs/html/search/all_a.js +++ b/lab2/docs/html/search/all_a.js @@ -5,21 +5,22 @@ var searchData= ['magic_2eh_2',['Magic.h',['../Magic_8h.html',1,'']]], ['main_3',['main',['../main_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main.cpp']]], ['main_2ecpp_4',['main.cpp',['../main_8cpp.html',1,'']]], - ['mana_5',['mana',['../classPlayer.html#a9a64ebab916a7b25ecdec767ba111ca7',1,'Player']]], - ['manacost_6',['manaCost',['../classMagic.html#afcacb2c3774707f1901daad13c0be0d1',1,'Magic']]], - ['maptile_7',['MapTile',['../classMapTile.html',1,'MapTile'],['../classMapTile.html#a40647e6d567d577778e81a81b7047217',1,'MapTile::MapTile()']]], - ['maptile_2eh_8',['MapTile.h',['../MapTile_8h.html',1,'']]], - ['maxdurability_9',['maxDurability',['../classArmor.html#ab76162a5f240b634131b3d944318e86c',1,'Armor::maxDurability'],['../classWeapon.html#a7d6bfa6b854744fb91cd220c3e3ec59f',1,'Weapon::maxDurability']]], - ['maxhp_10',['maxHp',['../classPlayer.html#afbf6844bfe301d24748e5a5353345c0f',1,'Player']]], - ['maxmana_11',['maxMana',['../classPlayer.html#a7636c2b72ce39d18a5d17dcad0840b0c',1,'Player']]], - ['menu_12',['Menu',['../classMenu.html',1,'']]], - ['menu_2ecpp_13',['Menu.cpp',['../Menu_8cpp.html',1,'']]], - ['menu_2eh_14',['Menu.h',['../Menu_8h.html',1,'']]], - ['merchantx_15',['merchantX',['../classWorld.html#a0626b38d0aa729b8a3f6dc0de418045b',1,'World']]], - ['merchanty_16',['merchantY',['../classWorld.html#aa14725c8b3d6925f01d8171a81738b9b',1,'World']]], - ['move_17',['Move',['../classPlayer.html#a563ec479673de7f3a72ea43fdb2cd04e',1,'Player']]], - ['moveenemyrandom_18',['MoveEnemyRandom',['../classWorld.html#ae82262e05393c9a682f8d7ce54ec041a',1,'World']]], - ['moveenemytowardplayer_19',['MoveEnemyTowardPlayer',['../classWorld.html#ac1c1dd98a1f714c695671376d526baf8',1,'World']]], - ['moveextraenemies_20',['MoveExtraEnemies',['../classWorld.html#a3d3cf8730c62d78e2ae20681d9bf0563',1,'World']]], - ['moveplayer_21',['MovePlayer',['../classWorld.html#ac78a12ad33e2755981aa674908d5f352',1,'World']]] + ['main_2emd_5',['main.md',['../main_8md.html',1,'']]], + ['mana_6',['mana',['../classPlayer.html#a9a64ebab916a7b25ecdec767ba111ca7',1,'Player']]], + ['manacost_7',['manaCost',['../classMagic.html#afcacb2c3774707f1901daad13c0be0d1',1,'Magic']]], + ['maptile_8',['MapTile',['../classMapTile.html',1,'MapTile'],['../classMapTile.html#a40647e6d567d577778e81a81b7047217',1,'MapTile::MapTile()']]], + ['maptile_2eh_9',['MapTile.h',['../MapTile_8h.html',1,'']]], + ['maxdurability_10',['maxDurability',['../classArmor.html#ab76162a5f240b634131b3d944318e86c',1,'Armor::maxDurability'],['../classWeapon.html#a7d6bfa6b854744fb91cd220c3e3ec59f',1,'Weapon::maxDurability']]], + ['maxhp_11',['maxHp',['../classPlayer.html#afbf6844bfe301d24748e5a5353345c0f',1,'Player']]], + ['maxmana_12',['maxMana',['../classPlayer.html#a7636c2b72ce39d18a5d17dcad0840b0c',1,'Player']]], + ['menu_13',['Menu',['../classMenu.html',1,'']]], + ['menu_2ecpp_14',['Menu.cpp',['../Menu_8cpp.html',1,'']]], + ['menu_2eh_15',['Menu.h',['../Menu_8h.html',1,'']]], + ['merchantx_16',['merchantX',['../classWorld.html#a0626b38d0aa729b8a3f6dc0de418045b',1,'World']]], + ['merchanty_17',['merchantY',['../classWorld.html#aa14725c8b3d6925f01d8171a81738b9b',1,'World']]], + ['move_18',['Move',['../classPlayer.html#a563ec479673de7f3a72ea43fdb2cd04e',1,'Player']]], + ['moveenemyrandom_19',['MoveEnemyRandom',['../classWorld.html#ae82262e05393c9a682f8d7ce54ec041a',1,'World']]], + ['moveenemytowardplayer_20',['MoveEnemyTowardPlayer',['../classWorld.html#ac1c1dd98a1f714c695671376d526baf8',1,'World']]], + ['moveextraenemies_21',['MoveExtraEnemies',['../classWorld.html#a3d3cf8730c62d78e2ae20681d9bf0563',1,'World']]], + ['moveplayer_22',['MovePlayer',['../classWorld.html#ac78a12ad33e2755981aa674908d5f352',1,'World']]] ]; diff --git a/lab2/docs/html/search/all_f.js b/lab2/docs/html/search/all_f.js index c8998c8..a970a35 100644 --- a/lab2/docs/html/search/all_f.js +++ b/lab2/docs/html/search/all_f.js @@ -13,5 +13,6 @@ var searchData= ['restoremana_10',['RestoreMana',['../classPlayer.html#af8c9f421a33799fe881833801eec1b48',1,'Player']]], ['reward_11',['Reward',['../classNPC.html#af1b59f147e18742c99fedd4ee348dbb7',1,'NPC']]], ['reward_12',['reward',['../classQuest.html#ae797a0746eabb0d8430dcc0cd64b2480',1,'Quest']]], - ['run_13',['Run',['../classGame.html#a96341ca5b54d90adc3ecb3bf0bcd2312',1,'Game']]] + ['rpg_20adventure_20game_13',['RPG Adventure Game',['../index.html',1,'']]], + ['run_14',['Run',['../classGame.html#a96341ca5b54d90adc3ecb3bf0bcd2312',1,'Game']]] ]; diff --git a/lab2/docs/html/search/files_7.js b/lab2/docs/html/search/files_7.js index e8e5f12..be93599 100644 --- a/lab2/docs/html/search/files_7.js +++ b/lab2/docs/html/search/files_7.js @@ -3,7 +3,8 @@ var searchData= ['magic_2ecpp_0',['Magic.cpp',['../Magic_8cpp.html',1,'']]], ['magic_2eh_1',['Magic.h',['../Magic_8h.html',1,'']]], ['main_2ecpp_2',['main.cpp',['../main_8cpp.html',1,'']]], - ['maptile_2eh_3',['MapTile.h',['../MapTile_8h.html',1,'']]], - ['menu_2ecpp_4',['Menu.cpp',['../Menu_8cpp.html',1,'']]], - ['menu_2eh_5',['Menu.h',['../Menu_8h.html',1,'']]] + ['main_2emd_3',['main.md',['../main_8md.html',1,'']]], + ['maptile_2eh_4',['MapTile.h',['../MapTile_8h.html',1,'']]], + ['menu_2ecpp_5',['Menu.cpp',['../Menu_8cpp.html',1,'']]], + ['menu_2eh_6',['Menu.h',['../Menu_8h.html',1,'']]] ]; diff --git a/lab2/docs/html/search/files_e.js b/lab2/docs/html/search/files_e.js new file mode 100644 index 0000000..580ff66 --- /dev/null +++ b/lab2/docs/html/search/files_e.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['weapon_2ecpp_0',['Weapon.cpp',['../Weapon_8cpp.html',1,'']]], + ['weapon_2eh_1',['Weapon.h',['../Weapon_8h.html',1,'']]], + ['world_2ecpp_2',['World.cpp',['../World_8cpp.html',1,'']]], + ['world_2eh_3',['World.h',['../World_8h.html',1,'']]] +]; diff --git a/lab2/docs/html/search/pages_0.js b/lab2/docs/html/search/pages_0.js new file mode 100644 index 0000000..2e28aa1 --- /dev/null +++ b/lab2/docs/html/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['adventure_20game_0',['RPG Adventure Game',['../index.html',1,'']]] +]; diff --git a/lab2/docs/html/search/pages_1.js b/lab2/docs/html/search/pages_1.js new file mode 100644 index 0000000..9e5efa1 --- /dev/null +++ b/lab2/docs/html/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['game_0',['RPG Adventure Game',['../index.html',1,'']]] +]; diff --git a/lab2/docs/html/search/pages_2.js b/lab2/docs/html/search/pages_2.js new file mode 100644 index 0000000..5229d1a --- /dev/null +++ b/lab2/docs/html/search/pages_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['rpg_20adventure_20game_0',['RPG Adventure Game',['../index.html',1,'']]] +]; diff --git a/lab2/docs/html/search/searchdata.js b/lab2/docs/html/search/searchdata.js index b49733f..c9f5864 100644 --- a/lab2/docs/html/search/searchdata.js +++ b/lab2/docs/html/search/searchdata.js @@ -6,7 +6,8 @@ var indexSectionsWithContent = 3: "abcdefghilmnpqrstuw~", 4: "abcdeghilmnopqrstvw", 5: "l", - 6: "deiw" + 6: "deiw", + 7: "agr" }; var indexSectionNames = @@ -17,7 +18,8 @@ var indexSectionNames = 3: "functions", 4: "variables", 5: "enums", - 6: "enumvalues" + 6: "enumvalues", + 7: "pages" }; var indexSectionLabels = @@ -28,6 +30,7 @@ var indexSectionLabels = 3: "Functions", 4: "Variables", 5: "Enumerations", - 6: "Enumerator" + 6: "Enumerator", + 7: "Pages" };