If you don't have a problem with C++, you should be okay using SFML.
For your concerns:
To display everything, you should create a window you can draw on. Look at the tutorial for creating an sf::RenderWindow.
To draw your tiles (the tile-mapping you mentioned), load each of your tile images (or your entire tile sheet if that was the way you wanted to go) as an sf::Image (if you use the tile sheet option -- think sprite sheet -- then you will have one sf::Image, but if you load each one individually, you will have several sf::Images). Then for each tile you need to draw, create an sf::Sprite that has the position on the screen you want. You can use your sf::Images multiple times without having to load an image for each square/tile.
For collision detection, you can do a number of options. You can keep track of the positions on your own and compare them against boundaries, for instance a "player" colliding with a wall or the edge of the screen you compare the player's position with the edge or the wall's position and if they are touching or the "player" would move past the boundary if the "player" was moved, you simply do not move the "player". A second option is using the sf::Sprite's position and using the sf::Rect's Contains function to see if the "player's" sf::Sprite would be contained within whatever boundary/object/other sf::Sprite the "player" is being tested against. If the Contains function returns true then you have a collision and should not move the "player".
* Substitute player with whatever element you want, such as a bullet, a character the player controls, an enemy, etc.
Also, look up collision detection on its own. This is not something particular to SFML, or even C++. There are various methods of detecting collision.
If you have any questions, particularly where you get stuck, let me know. I believe the user "serapth" on this forum has a tutorial for making a game with C++ and SFML if you wish to look up his profile. The link should be in his signature. I know the SFML site gives you a basic tutorial to get started (and I do mean basic), and lists the functions that are available.
EDIT: Forgot to mention with sprite animation you can just reassign the sf::Image that the sf::Sprite uses at a specific interval. SFML has timers that I use to see when a new frame needs to be drawn. At the interval I want, I can swap the image and redraw the sprite/screen. If I keep switching images and redrawing, I have an animation.
Edited by Dragonsoulj, 12 March 2013 - 09:05 PM.