Note: I wholeheartedly welcome anyone wanting to correct my limited understanding of the matter in the comments, as I said this is my understanding of it and if I'm wrong I will happily hold my hands up and be corrected.
“Why would you ever use integers then?", I hear you mumble in a kind of 'uninterested-but-you-have-to-ask-the-question' kind of way. Well, what about if you wanted to store the number of people in a country. You can't have 3/5ths of a person... can you?
It will always be a whole number; it will never return a decimal value (unless it is typecast) and when we assign a value to it, it must be an integer value. I know this may all seem simplistic and easy, but trust me, when you have giant sprawling programs with numerous classes you made, just because you learned how to make a class so you do it all of the fucking time now, it can be easy to forget what type of variable “heightOfCheeseBlock” is. So, when your compiler throws up a stupid error at you, it becomes really annoying. Maybe more experienced and more skilled programmers don't have these issues, but I do.
I won't have learnt anything. There is nothing worse than spending a lot of time trying to improve at something and finding out you knew everything anyway. Except maybe Rastamouse. Or finally convincing your favourite lap dancer to do unprotected anal and catching AIDS.
To my surprise, it worked very well. My dungeon has walls that cannot be passed through, random battles, experience levels, skills that improve the more you use them and a shop. All it needs is for me to fix the battle system, so that when your attack skills improve it doesn't break and add in a final boss battle and it will be all yours to play through and pick apart its many faults.