GithubHelp home page GithubHelp logo

doomdepths-c's Introduction

I use Vim, on Arch btw.

Opixelum's GitHub stats

doomdepths-c's People

Contributors

lseillier229 avatar opixelum avatar

Stargazers

 avatar  avatar

Watchers

 avatar

doomdepths-c's Issues

Add rarity to items

In order to add some difficulty to the game, powerful items should be more rare (harder to find or get). For exemple, there should be more chance to find a weapon that deals a lot of damage when killing a dragon than a goblin.

This implies to edit the Item structure & table.

Add spell selection menus by spell type

For simplicity when coding:

  • Add attack_spell_selection_menu() which will call spell_selection_menu() by passing a spell list containing only the attack spells of the character;
  • Same for healing spells.

Add utils

Add utils code for managing linked list for example.

Add battle menu

When player starts a battle, monsters are generated. Then, player can start to attack, and choses any monster he wants to attack first. Then, the same monster attacks back.

Create items

Create random items like 5 weapons, 5 armors, 6 spells (attack & healing) & 4 potions (mana & healing).

Add CI

Build project on GitHub in CI on develop branch.

Add items to loot

In a CSV file, list all items of the game. We need:

  • Weapons;
  • Armors;
  • Spells;
  • Potions.

Then create a function that will read the csv file, then create them in the game in C.

This is a temporary feature. Items will be later defined in the SQLite database & the function for creating them will change.

Add monster selection menu

When fighting multiple monsters, after selecting the "attack" option in the battle actions menu, add another menu where player can choose which monster to attack.

Improve `clear_screen()`

For now, clear_screen() scrolls down the terminal until there's no visible character on the screen, but previous characters are still visible if we scroll up.

Find a way to delete those characters.

Start normal game flow

When selecting New Game:

  • Prompt player for his user name;
  • Instantiate a new character for the player;
  • Explore the map.

Don't wait for the user to press enter

In order to make the game more dynamic, don't wait for the user to press enter in menus. Take directly his input when the program is waiting for a single character.

Add main menu

Add main menu code with game loop in main.c.

This feature must be a function inside menus.c & menu.h.

Display the options:

  1. Continue;
  2. New game;
  3. Quit

Make monster's items lootable

When killing a monster, let player pick up its stuff.

Monster's stuff will be stored in their inventory. Then player can choose the items he wants to put into his own inventory.

Don't forget to check the capacity of player's inventory, which is a maximum of 25 items.

Also, monsters should contain few items (like around 5 maximum) for adding more difficulty to the game & more rareness to items.

Check inventory size

Inventory size must no be greater than 25. A constant MAX_INVENTORY_SIZE is set in stuff.h.

Start map

Draw a basic map & make it explorable.

Improve map tiles

Use better symbols for tiles (for example 'โ–ˆ' for OBSTACLE tiles).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.