Difference between revisions of "Complete roguelike tutorial using modern C++ and libtcod - Part 1: Setting Up"

From RogueBasin
Jump to navigation Jump to search
(Basic outline, clean up later)
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
- Windows
==Setup==
- Dev environment
===Windows===
 
Set up Visual Studio Community, optionally use Clang add-on
Set up Visual Studio Community, optionally use Clang add-on


- Mac


- Linux
===Mac===
- Dev environment
 
 
===Linux===
 
Visual Studio Code
Visual Studio Code
Packages: GCC, Clang, SDL, OpenGL
Packages: GCC, Clang, SDL, OpenGL


- tcod
 
===tcod===
 
Clone tcod from source
Clone tcod from source
Build tcod
Build tcod


- Tutorial 1
 
==Tutorial 1 - Basic @==
 
Set up using CMake
Set up using CMake
Import tcod
Import tcod
Basic @
 
#include "libtcod.hpp"
int main()
{
    TCODConsole::initRoot(
        80,
        50,
        "libtcod C++ tutorial 1",
        false,
        TCOD_RENDERER_SDL2);
    auto root = TCODConsole::root;
   
    root->flush();
   
    while ( !root->isWindowClosed() )
    {
        TCOD_key_t key;
        TCODSystem::waitForEvent(TCOD_EVENT_KEY_PRESS, &key, nullptr);
       
        root->clear();
        root->putChar(40,25,'@');
        root->flush();
    }
   
    return 0;
}

Latest revision as of 04:56, 3 February 2020

Setup

Windows

Set up Visual Studio Community, optionally use Clang add-on


Mac

Linux

Visual Studio Code

Packages: GCC, Clang, SDL, OpenGL


tcod

Clone tcod from source

Build tcod


Tutorial 1 - Basic @

Set up using CMake

Import tcod

#include "libtcod.hpp"

int main() 
{
   TCODConsole::initRoot(
       80,
       50,
       "libtcod C++ tutorial 1",
       false,
       TCOD_RENDERER_SDL2);

   auto root = TCODConsole::root;
   
   root->flush();
   
   while ( !root->isWindowClosed() ) 
   {
       TCOD_key_t key;
       TCODSystem::waitForEvent(TCOD_EVENT_KEY_PRESS, &key, nullptr);
       
       root->clear();
       root->putChar(40,25,'@');
       root->flush();
   }
   
   return 0;
}