Skip to content

Commit

Permalink
0.23.10 - json parsing template
Browse files Browse the repository at this point in the history
- start framework for parsing json
  • Loading branch information
jalowe13 committed Jul 18, 2023
1 parent f442fba commit 17dc2a7
Show file tree
Hide file tree
Showing 3 changed files with 106 additions and 53 deletions.
2 changes: 1 addition & 1 deletion TheOneSDL/Application.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
// Version Number
#define VERSION_MAJOR 0
#define VERSION_MINOR 23
#define VERSION_PATCH 9
#define VERSION_PATCH 10
#define STR_HELPER(x) #x // convert to fit window title
#define STR(x) STR_HELPER(x)

Expand Down
20 changes: 13 additions & 7 deletions TheOneSDL/Terrain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -206,20 +206,26 @@ bool Terrain::fillScreen()

void Terrain::loadLevel(std::string level)
{
std::cout << "Load level: " << level << std::endl;

std::ifstream ifs("levels.json"); // JSON file to open

Json::Value obj; // Map of other JSON values can returna value type, null, int etc...
Json::Value lvl_data; // Map of other JSON values can returna value type, null, int etc...
Json::Reader reader;


if (reader.parse(ifs, obj))
if (!reader.parse(ifs, lvl_data)) // If not parsable
{

std::cout << "!!!!!Error Parsing Level Data for Level " << level << std::endl;
}

for (const auto& levelObject: lvl_data)
{
if (levelObject["name"].asString() == level) {
std::cout << "Load Level: " + level << std::endl;
// Parse the background tilemap from json to terrain object
//TODO
// Parse the obj_tilemap from json to terrain object
}
}

std::cout << "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
// std::string line =


Expand Down
137 changes: 92 additions & 45 deletions TheOneSDL/levels.json
Original file line number Diff line number Diff line change
@@ -1,45 +1,92 @@
{
"name": "Room",
"background_tilemap":[
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww"
],
"obj_tilemap":[
"ggggggggggggggggggggggggg",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~f~~~~~~~~~~~~~~~~~~~~~",
"~~~f~~~~~~fff~~~~~~~~~~~~",
"~~~f~~~~~~~~~~~f~~~~~~~~~",
"~~~f~~~~~~~~~~~~~~f~~~~~~",
"~~~f~~~~~~~~~f~~~~~~f~~~~",
"~~~f~~~~~~~~~f~~~~~~~f~~~",
"~~~f~~~~~~~~fff~~~~~~~~~~",
"~~~f~~~~~~~~~f~~~~~~~~~f~",
"~~~~~~~~~ff~~f~~~~~~~~f~~",
"~~~~~~~~f~~~~~~~~~~~~f~~~",
"~f~~~~~ff~~~~~~~~p~~f~~~~",
"~~~~~ff~f~~~~~~~~~~f~~~~~",
"~~~~~~~~f~~~~lct~~f~~~~~~",
"fffffffffffffffffffffffff",
"ggggggggggggggggggggggggg"
]
}
[
{
"name": "Empty",
"background_tilemap": [
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~"
],
"obj_tilemap:":[
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~"
]
},
{
"name": "Room",
"background_tilemap": [
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww",
"wwwwwwwwwwwwwwwwwwwwwwwww"
],
"obj_tilemap:":[
"ggggggggggggggggggggggggg",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~f~~~~~~~~~~~~~~~~~~~~~",
"~~~f~~~~~~fff~~~~~~~~~~~~",
"~~~f~~~~~~~~~~~f~~~~~~~~~",
"~~~f~~~~~~~~~~~~~~f~~~~~~",
"~~~f~~~~~~~~~f~~~~~~f~~~~",
"~~~f~~~~~~~~~f~~~~~~~f~~~",
"~~~f~~~~~~~~fff~~~~~~~~~~",
"~~~f~~~~~~~~~f~~~~~~~~~f~",
"~~~~~~~~~ff~~f~~~~~~~~f~~",
"~~~~~~~~f~~~~~~~~~~~~f~~~",
"~f~~~~~ff~~~~~~~~p~~f~~~~",
"~~~~~ff~f~~~~~~~~~~f~~~~~",
"~~~~~~~~f~~~~lct~~f~~~~~~",
"fffffffffffffffffffffffff",
"ggggggggggggggggggggggggg"
]
}
]

0 comments on commit 17dc2a7

Please sign in to comment.