Code Monkey home page Code Monkey logo

consoleminigames's Issues

HighScoreScreen

The ultimate goal of all gamers; climb to the top of the scoreboard!

Game: 2048

I already implemented 2048 game logic @ https://www.acmicpc.net/problem/12100

But we need to...

  • random generation of blocks(2 or 4) at blank cell
  • moving animation (Is it possible in Console?)
  • scoring logic by number of movements
  • pretty display (such as color)
  • gameover & clear event

Manage Screen background with json file

It is annoying screen background(including text, color info, line & column control) in source code... It also(maybe) slows building our project.

Let's design appropriate background-manage JSON...

block 0 is confusing

동생이 예전에 냈던 아이디어.
'0' 번 블록은 오히려 시각적으로 번잡하니 차라리 아무것도 써 있지 않은 바탕이 나아 보인다는 것.

PauseScreen

Implement pause screen; this screen can be reached by pressing PAUSE button.
If we enter here during the game, we should back to the game without losing states

GameSelectionScreen

We can select various games in here.
For Future: add preview box for sample gameplay

Write out `readme.md`

explain why this project: just for fun and practice.
그야... 재미있으니까!

Unify naming convention

Coordinate vs. DIRECTION ?
We need to document naming convention for the project.

Thus, study how to change names easily in VS2019 across the projects...

ScrollWidget

As project development progresses, the contents to be loaded on creditScreen also increases.
Let's make ScrollWidget.
AnimationWidget is not proper... too many text file will be required.

Engine's 'state' logic change

enum class STATE (at "core.h") -> enum class SCREEN (at "screen.h")

This change will detach the core code from the screen related codes, also, it is more intuitive.

Game2048 clear logic omitted

하 개열심히 해서 2048 만들었더니...
clear logic 어디갔었누
내가 만든 버그인데 빡치긴하네

CreditScreen

Display some messages and information.

Record version info in project and automate displaying.

Refactor the total project!

현재 SPRITE는 draw할 때마다 file을 읽고 닫는 식으로 만들어져 있다.
생성될 때 한 번 txt 파일들을 읽고 내부 구조체에 저장해둔 뒤, draw할 때는 내부 구조체를 읽는 방식으로 변경한다.

  • DrawFiles (std::tuple<std::string, std::string, std::string>)은 굳이 필요없으므로, 삭제한다.
  • 이름도 SPRITE에서, Sprite로 바꾸어 naming convention을 표준화한다.

2048: Highlight newly generated block

It's not necessary, but it's good idea.
This can be enough replacement of requirement of moving animation(#15)

How to highlight?

  1. font color change
  2. block edge highlight
  3. frame near block highlight

Optimize 2048 board drawing

#12 implemented, but there's LAG if we press the shift buttons quickly.
It re-draws all the block in 2048 board every shift, so we can optimize by tracking changed block after shift and just only re-draw that.

Create Game Snake!

  1. create gameSnake.h and gameSnake.cpp
  2. create gameSnakeScreen.h and gameSnakeScreen.cpp
  3. create link at gameSelectionScreen

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.