Code Monkey home page Code Monkey logo

bombescape's Introduction

Heyo! ✨Welcome

If you're here, you should know better than to spread my personal information to irrelevant people.
Don't do that. Please.

  • πŸ‘‹ Call me Azuelle, Sierra or just TJK (initials of my full name, can also omit the T), ι›« (Shizuku) is also fine
  • She/Her πŸ³οΈβ€βš§οΈ still boymoding irl most of the time
  • πŸ“š Studying computer science & linguistics at HKU
  • πŸ’¬ I mainly use zh-cn (native) & en. Self-learning jp currently, might take class on basic yue next year and I really want to learn fr & la πŸ˜” (actually did learn a tiiiiiny bit on Duolingo but still 😒)
    • also I often randomly stutter when speaking irl and I'm always very VERY sorry and frustrated when that happens πŸ˜–

Azuelle's GitHub Stats - Dark Azuelle's GitHub Stats - Light

WakaTime Stats

Azuelle's WakaTime Stats - Dark Azuelle's WakaTime Stats - Light


Programming Languages

Top Langs - Dark Top Langs - Light

πŸ₯° Pretty fluent

Markdown

πŸ€” Somewhat familiar

C++ Python LaTex C Shell Java

πŸ“– Learning

Rust JavaScript

πŸ‘€ Want to learn

C# React Vue TypeScript


More Stuff I Want to Learn

  • ☁️ Web development
  • 🚩 CTF
  • 🎨 Drawing

Contact

P.S. Yes you CAN contact me by WeChat if you already have me as a contact but I prefer other methods when possible πŸ€”

Discord - Azuelle#0616 Outlook - tjk@live.cn Telegram

bombescape's People

Contributors

azuelle avatar kxwhiowo avatar qinchonghanzuibang avatar summerflyfly avatar zhao-shuman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

bombescape's Issues

Functions for reading string input from user

Usage examples

  • Letting the user input their name when getting a new score
  • Typing in settings

Requirements

  • A coordinate will be passed to the function that signifies the start of the input area
  • A max length will be given, and the user cannot input more characters after reaching it
  • Allow for the usage of backspace, and enter for confirmation
  • Should echo back what the user has inputted onscreen (each frame)
  • Should loop itself until the user has confirmed input

Compatibility with ncurses still needs to be maintained (i.e. only getch() can be used for fetching user input).

std::stringstream might help with this.

Implement input recognization

To return the corresponding Input type when the player presses certain keys.
Should be implemented in control.cpp/getInput().

Implement game logic

In game_logic.h and .cpp, implement the actual gameplay logics and processing happening each cycle, following the description in README.

What needs to be processed

  • Check if item timers have run out
    • Execute onDeath() afterwards
    • If item is bomb
      • Check if player's in range
        • Modify Health
      • Check if other items are in range
        • Execute their onDeath() and delete afterwards
        • Watch out for repeated executions (probably should have a flag for executed ones)
    • Remove item
  • Respond to player action
    • Validation
    • Change position / add item / etc. if valid
  • Item generation (maybe not each frame)

As this would be a pretty big task, we should probably have multiple people work on this (or split this into smaller tasks).

Message display system

Enable warnings/errors and game tips to be displayed onscreen for a certain time.
Previous ones would be overwritten by new messages.

Implement non-player entities

The foundations have already been laid in 71fea26.
Entities have a base class Entity which derives into Bomb, PowerUp, Traps, etc. (add more when new entity types are needed, maybe barricade?), each can be assigned to different persons if needed.
Each entity instance has a timer and a onDeath() function (differs from type to type) which determines when it "dies" and what it does then, e. g. Bombs explode and kill other entity in range.

Current Progress

  • Base type Entity
  • Bomb
  • Barricade
  • PowerUp
  • Trap

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.