Mini games on windows console implemented by C++
"그야... 재미있으니까!"
- 2048: Join the tiles, get to 2048! (https://play2048.co/)
Version 1.1: Started actual game service - 1.1 supports 2048 game!
mini games on windows console implemented by c++
Mini games on windows console implemented by C++
"그야... 재미있으니까!"
Version 1.1: Started actual game service - 1.1 supports 2048 game!
Coordinate vs. DIRECTION ?
We need to document naming convention for the project.
Thus, study how to change names easily in VS2019 across the projects...
#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.
동생이 예전에 냈던 아이디어.
'0' 번 블록은 오히려 시각적으로 번잡하니 차라리 아무것도 써 있지 않은 바탕이 나아 보인다는 것.
The ultimate goal of all gamers; climb to the top of the scoreboard!
redrawing logic:
current: redraw indicated blocks per frame
change: redraw indicated blocks only just after shifted
How to pass info between screen efficiently?
ex) arbitrary GameScreen passes score to GameClearScreen and it GameClearScreen displays the score
하 개열심히 해서 2048 만들었더니...
clear logic 어디갔었누
내가 만든 버그인데 빡치긴하네
To keep clean main.cpp
I already implemented 2048 game logic @ https://www.acmicpc.net/problem/12100
But we need to...
We can select various games in here.
For Future: add preview box for sample gameplay
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...
Basic 2048 logic (https://www.acmicpc.net/problem/12100)
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.
To show the effect of moving snake, we'd like to apply different snake head sprite per each direction of head.
현재 SPRITE는 draw할 때마다 file을 읽고 닫는 식으로 만들어져 있다.
생성될 때 한 번 txt 파일들을 읽고 내부 구조체에 저장해둔 뒤, draw할 때는 내부 구조체를 읽는 방식으로 변경한다.
No game-wise random engine; It can be serviced globally.
Congratulations! your score will be recorded at HighScoreScreen!
How to display , not 'Won'?
(is it possible in console?)
how to implement this function efficiently?
It should be initialized.
how to enable 2-step screen communication?
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
make black box at gameSelectionScreen
, and shows simple animation about game which the cursor is located to choose.
explain why this project: just for fun and practice.
그야... 재미있으니까!
additional congratulation screen & game over screen
marketing is important.
let's make my project attractive with awesome screenshots (gif will be good)
Symphony No.5 Beethoven
there's too many duplicated codes between screens: such as choice select, init, etc...
How to reduce these code redundancy?
Display some messages and information.
Record version info in project and automate displaying.
Count the number of movements while 2048 appears
make it pretty!
gameSnake.h
and gameSnake.cpp
gameSnakeScreen.h
and gameSnakeScreen.cpp
gameSelectionScreen
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.
제곧네
Currently, we repeating opening and closing sprites of blocks in 2048 game. I think this affect the LAG of when we press shift buttons quickly.
With some awesome ascii arts
It's not necessary, but it's good idea.
This can be enough replacement of requirement of moving animation(#15)
How to highlight?
game clear: you made 2048
game over: no more empty block to generate random block
화려한 조명이 나를 감싸네
Logic of snake game
bug abusing: if all blocks filled with non-zero(gameover), but if we don't press any button, we won't see the gameover screen.
this can be fixed by determining gameover logic just before get input
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.