After only 1 week, you don't have the background in the language to even think about graphics yet. Learn the language first. Graphics can come later.
This doesn't really make sense, because modern graphics libraries render language knowledge and graphics orthogonal concepts.
Suppose you want to write a Tic-Tac-Toe game. In console, you would do something like this:
#include <iostream>
void drawGrid()
{
for (int i = 0; i < 3; ++i)
{
for (int j = 0; j < 3; ++j)
{
char ch;
switch (grid[i][j])
{
case 0 : ch = ' '; break;
case 1 : ch = 'X'; break;
case 2 : ch = 'O';
}
std::cout << ch;
}
std::cout << endl;
}
}
int main()
{
int grid[3][3];
while ( /* user doesn't want to quit */ )
{
// do some stuff...
drawGrid();
// do some more stuff...
}
}
Using SFML, you would do something like this:
#include <SFML/Graphics.hpp>
void drawGrid(sf::RenderWindow & window, sf::Sprite & sptX, sf::Sprite & sptO)
{
for (int i = 0; i < 3; ++i)
{
for (int j = 0; j < 3; ++j)
{
switch (grid[i][j])
{
case 1 : sptX.SetPosition(i * BLOCK_SIZE, j * BLOCK_SIZE);
window.Draw(sptX); break;
case 1 : sptO.SetPosition(i * BLOCK_SIZE, j * BLOCK_SIZE);
window.Draw(sptO);
}
}
}
}
int main()
{
int grid[3][3];
sf::Image imgX, imgO;
imgX.LoadFromFile("X.png");
imgO.LoadFromFile("X.png");
sf::Sprite sptX(imgX), sptO(imgO);
sf::RenderWindow window(/* window params (e.g. resolution) */);
while ( /* user doesn't want to quit */ )
{
// do some stuff...
drawGrid(window, sptX, sptY);
// do some more stuff...
}
}
Notice that the language features you use in both cases are the same: arrays, loops, branching statements (switch) and functions. Ok, you could argue that in the second example we have objects and member functions, but this would be a very poor argument. There are no user defined types from the library's user's perspective. sf::RenderWindow, sf::Image and sf::Sprite are types defined in the library. Using them is as simple as using int and double. Also, member functions are just syntactic sugar. But if you want, you can switch to a C-like API (e.g. SDL) and get rid of them.
The bottom line is that if you lack the language knowledge to write a Tic-Tac-Toe game with graphics, then you also lack the language knowledge to write a console version of it.
Introducing 3rd party libraries is probably a bit much for beginners.
This doesn't make much sense either. Using a 3rd party library is extremely simple (as you can see above), especially if it is well documented (and SFML is). Also, installing a 3rd party library isn't that difficult. You just have to copy a couple of files, and click a few more buttons than usual when you create a project in your IDE.
As a side note, if the OP likes to do things the hard way and decides to go with a text-based adventure-rpg, (s)he could find this useful.