Share your repls and programming experiences

← Back to all posts
D & D Simulation
BobJoeIII (21)

Game that I am making, still working on it, please give suggestions.
It is a bit slow, I beg forgiveness
https://repl.it/@BobJoeIII/D-and-D-Simulation-CEP

Comments
hotnewtop
Gotcha (7)

Impressive, even though I got an error as soon as I ran it.

Gotcha (7)

Oh, fixed the error, it was extremely simple. You just had a space at the beginning so you had an indentation error.

Gotcha (7)

There's a few bugs here, but they should be pretty simple to fix (Hope this is useful to you btw), First, looking through the code and what the player reads, it says that Choosing gnome has no effect, but when you look at the code it shows that they get + 1 dex and - 1 con. Second, no matter what race I choose, it says I chose Human. Though this isn't a huge deal since the stats still change anyways.

Gotcha (7)

I'll try my best to tell you all of the bugs/typos/etc. that I find, I really want this to be as good as it can be.

Gotcha (7)

When starting the tutorial, when it says "We will begin by going over your stats", there's a typo in the stats, it says intelligance instead of intelligence.

Gotcha (7)

When you want to print a blank line, you don't have do type print(""), the quotation marks aren't needed, you can shorten it to print()

Gotcha (7)

I've also been playing around with something for D&D, but it's more for an ease of access thing for myself, like allowing me to roll for stats by typing "Roll Stats" instead of having to roll 4 dice and take away the lowest, etc. Anyways, when you roll for stats, it should be 4d6 and taking away the lowest number, and you have to do it that way instead of random.randint(3,18) because rolling 4d6 and subtracting the lowest promotes a higher number by removing the lowest number, the way I did this was like this:
stats = [random.randint(1, 6), random.randint(1, 6), random.randint(1, 6), random.randint(1,6)]
statsmath = stats[0] + stats[1] + stats[2] + stats[3] - min(stats)
stats = statsmath

Anyways I just wanted to make that note since I saw that you were making the stats random.randint(8, 18), and wanted to do 2 things. 1. Tell you that that's how I used to play D&D before I knew how to roll for stats correctly, just roll a d20 until I roll between whatever the DM set the minimum stat and maximum stat, and 2. Tell you how you could roll properly in python. Or at least how I did it, though I am still learning, and I could be over complicating things or there could be a better way of doing it.

Gotcha (7)

I assume you'll add classes at some point, so I won't bug you too much about it, just wanted to say they'll be hard to implement, and once you're done with them you should pat yourself on the back.

Gotcha (7)

I agree with the order you list the stats. It should be Str, Int, Dex, Wis, Con, Cha, and the people who say otherwise should be burned at the stake.

Gotcha (7)

Idk what just happened, I just ran the game again and it didn't happen, but when I was in the tutorial after it had said my class, the game just froze and nothing happened. I couldn't hit enter to continue or anything. Idk if it's related, but just in case, I forgot which race I chose, but it was either Elf or Half-Orc. I'm about to try them both and see if it happens again. Just tried both, nothing happened. I have no idea what the problem was.

Gotcha (7)

When you start the tutorial, I think it says "Welcome to the tutorial" For wayyy too long. Maybe change time.sleep into 1 instead of 5, 2 at the very most.

Gotcha (7)

Another typo, in the tutorial after the giant mouth, it says "Haha only in chose your own adventure" Choose instead of chose.

Gotcha (7)

Also, don't be too harsh on yourself with all the bugs/typos/just things that I think would be an improvement. Everyone makes mistakes, especially in coding, and I know for a fact that I have my fair share of those things in my code that I haven't even noticed yet because as the coder I know how to use my programs properly, however if someone who had never used it before came in and try it, they'd probably be able to point out loads of mistakes, a good example of this is in my project "Python Dictionary" https://repl.it/ibuiltthis/p/pythondictionary I was showing it to a friend and I was like "I spent so much time just thinking of different ways of saying 'yes' just so the user could type pretty much any form of yes, spelled in a lot of different ways, like 'yeah' and 'yea' and making sure that they could use caps or lowercase, etc." and they just went up, typed "ya" and broke it. In short. Don't let the problems bring you down. Stay determined to finish and fix the problems.

Gotcha (7)

Oh yeah, the thing I said about print also applies to input. The quotation marks are unnecessary if they're blank. Only time this doesn't apply is if you're setting a variable to blank quotation marks. but that's just because if you leave it blank it doesn't know what you mean.

Gotcha (7)

During the tutorial when it tells you that your character is marked as C, there's not a = input() after it, so it just skips past to you making your move. I had already assume C was your character, but for the people who it isn't as obvious to, you should add a a = input() after it.

Gotcha (7)

If this all seems overwhelming, don't worry about it, most, if not all of these should be quick fixes, just take it one at a time.

Gotcha (7)

There's also sometimes text in the dungeon window that says stuff like . I haven't gotten to learning whatever it is you used to make the dungeons with, so I can't be much more helpful with this than just pointing out that it's a thing

Gotcha (7)

When I moved my character in the tutorial for the first time, it also printed 4 dungeon windows. The first Says "Character:" above it and has the same thing I said in my previous comment, but this one's at the bottom and says 37 instead of 40, the second said "Character:" above the dungeon, but without the text in the dungeon, The third says "You are marked as C" then "Character:" then the dungeon, with text in the middle block that says 37, and then the one that I assume it's supposed to show, which says "14-9" then "Character" then the dungeon, which has the text on the bottom and it says 40. Very curious about what the "14-9" means.

Gotcha (7)

Next move, same thing happened, but with 5 dungeons instead.

Gotcha (7)

Oh yeah, I've been meaning to say this, you should allow the user more options for what to type, so like everything that you can think of that the user might say when they mean one thing, like for example attack. (Haven't tested with this specific part, but just an example), they should be able to type "Attack" or "attack" or "Fight" or "fight" or any number of ways that you can think of of saying said thing, and all the ways you could type them, ofcourse being reasonable. I'm not asking you to account for every possible combination of capital or lowercase with the letters, just the beginning of words. Or if there's an apostrophe, possibly allowing the user to type it with or without the apostrophe. It's time consuming, but in the end it will be worth it.

Gotcha (7)

Anyways, that's it for now, tell me if my feedback was useful, and next time I come back I'll get further into the game and try more.

thoq (5)

Very impressive!

BobJoeIII (21)

IDK what the weird numbers appearing are, I think they are a termcolor bug or something, the 14-9 was the coordinates of the character that I had print to make it easier on myself when testing, and the Character: is what type of material the character was on. I use the string " " to mean empty space.

Gotcha (7)

@bobjoeiii: Ah, that makes sense, I do stuff like that sometimes too

cheesecannon25 (4)

I made a roller: https://repl.it/@cheesecannon25/Ashamed-Roller it automatically rolls 100,000 stat sets, I tried your link but it didn't work.

cheesecannon25 (4)

Did you close the REPL? I can't find it on your page...