Code Monkey home page Code Monkey logo

vroguelike's Introduction

Please ignore this repository and direct your attention towards the new repository. The new repo contains a full tutorial on building a roguelike with VTerminal.

vroguelike's People

Contributors

valkryst avatar dependabot[bot] avatar

Stargazers

 avatar  avatar Adrian Moore avatar Eli Pinkerton avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

vroguelike's Issues

[JSON] Room Format

{
    "width": num,
    "height": num,
    "tileset": [
      [0, [character, hexBackgroundColor, hexForegroundColor, isUnderlined, underlineThickness, isFlippedHorizontally, isFlippedVertically]],
      [1, [character, hexBackgroundColor, hexForegroundColor, isUnderlined, underlineThickness, isFlippedHorizontally, isFlippedVertically]],
    ],
    "tiles": [
        [0, 1, 0, 1],
        [0, 1, 0, 1],
        [0, 1, 0, 1]        
    ]
}
  • Width/height could be taken from "tiles".
  • Need to define the tiles used by the room, so we have a tileset section.
    • Nested array may be redundant. Could just use the array index as the tile ID and then use comments to list the nums.
  • Need to define the tiles that make up the room, so we have the tiles section.

Implement Enemy States

States:

  • Wandering
  • Chasing
  • Attacking

When Wandering, an Enemy will randomly wander around the screen. If the Enemy is within 5 cells of the Player, then the enemy will begin to chase the player.

When Chasing, the enemy will follow the most direct path to the Player. If the Enemy is not within 6 cells of the Player, then the enemy will revert to Wandering. If the Enemy is beside the Player, then the enemy will begin attacking the Player.

When Attacking, the battle will be fought instantly. Results will be printed to the console. When a Player dies, the program exists. When an Enemy dies, then one of the Player's stats will randomly increase and the kill counter will increment and the player may receive an equipment upgrade at random.

Using Project Lombok

Good morning....

I have reviewed the code of the project and have noticed that you use Project Lombok to save time in the development of the project, however Project Lombok is not part of Java by default, I have not worked with Project Lombok and it is difficult to read the code, this is a problem for all those people who want to modify the code or learn from it, you can make the code more readable leaving Project Lombok apart in order to reduce the time it takes.

Artifacts in source

It'd be cool to leverage a tool like maven to pull artifacts from the relevant github repos (VTerminal, VRadio) instead of checking them into source.

Something like this.

Implement Stats

Stats:

  • Health (0-100)
  • Armor (0-100)
  • Strength (0-100)
  • Agility (0-100)
  • Intellect (0-100)

Health is the player's current health.

Armor is the amount of damage removed from incoming attacks.

Strength is a multiplier for damage: (STR / 10f) * [minDamage|maxDamage]

Agility is a multiplier for dodging an attack: (AGI / 5f) + baseDodgeChance

Intellect is a multiplier for critical hits: (INT / 5f) + baseCritChance

Implement Inventory

Each Entity has an inventory comprised of a weapon, set of armor (not individual pieces), and health potions (stacked).

Weapons and armor can be swapped.

Potions can be increased or decreased along a range of 0-10.

Implement GUI

The GUI will be shown at the bottom of the screen. It will contain the following information:

  • Inventory
    • Weapon
    • Armor
    • Potions
  • Stats
    • Health
    • Armor
    • Strength
    • Agility
    • Intellect
    • Min Damage
    • Max Damage
  • Misc
    • Turn Number
    • Kill Counter

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.