티스토리 뷰
* 인프런에 있는 "홍정모의 게임 만들기 연습 문제 패키지" 강의를 바탕으로 작성된 글입니다.
1. 콘솔창으로부터 입력을 받아서 화면에 물체를 생성해보기.
더보기
// script.txt
3
Circle 0.1 0.2 0.1
Box 0.3 -0.1 0.1 0.15
Triangle -0.3 0.2 0.2
#include "Game2D.h"
#include "RandomNumberGenerator.h"
#include "GeometricObject.h"
#include <vector>
#include <memory>
#include <fstream>
#include <string>
#include <map>
namespace shyplants
{
class Example : public Game2D
{
public:
RandomNumberGenerator rnd;
RGB random_color;
vec2 pos;
float size[2];
std::vector<GeometricObject*> my_objs;
Example() : Game2D()
{
FILE *script_file = nullptr;
script_file = fopen("script.txt", "r");
int num_bindings = 0;
fscanf(script_file, "%d", &num_bindings);
char object_buffer[255];
for (int i = 0; i < num_bindings; ++i) {
fscanf(script_file, "%s", object_buffer);
random_color = RGB(rnd.getFloat(0.0f, 1.0f), rnd.getFloat(0.0f, 1.0f), rnd.getFloat(0.0f, 1.0f));
if (!strcmp(object_buffer, "Circle")) {
fscanf(script_file, "%f %f %f", &pos.x, &pos.y, &size[0]);
my_objs.push_back(GeometricObject::makeCircle(random_color, pos, size[0]));
}
else if (!strcmp(object_buffer, "Triangle")) {
fscanf(script_file, "%f %f %f", &pos.x, &pos.y, &size[0]);
my_objs.push_back(GeometricObject::makeTriangle(random_color, pos, size[0]));
}
else if (!strcmp(object_buffer, "Box")) {
fscanf(script_file, "%f %f %f %f", &pos.x, &pos.y, &size[0], &size[1]);
my_objs.push_back(GeometricObject::makeBox(random_color, pos, size[0], size[1]));
}
}
}
~Example()
{
for (const auto& obj : my_objs) {
delete obj;
}
}
void update() override
{
for(const auto& obj : my_objs) {
obj->draw();
}
}
};
}
'개발 > 게임개발' 카테고리의 다른 글
c++ 게임만들기 연습문제 3.1 (0) | 2023.03.02 |
---|---|
c++ 게임만들기 연습문제 2.5 (0) | 2023.03.01 |
c++ 게임만들기 연습문제 2.3 (0) | 2023.02.28 |
c++ 게임만들기 연습문제 2.2 (0) | 2023.02.27 |
c++ 게임만들기 연습문제 2.1 (0) | 2023.02.27 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 초등부
- DP
- BOJ 2365
- tetris
- 언리얼 자동화
- OpenVDB
- UE5.3
- 백준 2365
- 테트리스
- ICPC 후기
- Codeforces
- 언리얼 프로젝트 재생성 자동화
- 정보올림피아드
- C++게임
- 숫자판 만들기
- 백준 27469
- 브레젠험 알고리즘
- 언리얼 프로젝트 재생성
- 홍정모의 게임 만들기 연습 문제 패키지
- Python
- Unreal Engine
- 코드포스
- ndisplay
- BOJ 27469
- unreal enigne
- 백준
- pygame
- opengl
- C++게임개발
- 퀸 움직이기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함