Skip to content

Conversation

@truthgoddess
Copy link
Contributor

@madduccino Good day!

This is v 1.0 of the level 1 game Woof Libs.

Happy to get your feedback. Cheers.

@madduccino
Copy link
Owner

I love this! Comments:

  1. Add comments to code and update Woof version

  2. Perhaps it would be cool if there was the option to start over or erase. I wanted to change my answer and start over but when I went to hit cancel, I had to cancel every prompt.

  3. So, when I used to play Mad Libs, I would enter the words before I knew what the story was. Did you play it that way? I thought it was super funny because I had no idea how the story would relate to the words. If that's the way you played too, maybe we could figure out a way to hide the story while you enter your answers.

  4. It would be cool if the images you added made another story show up when clicked!

  5. Typo: "As I child"

@truthgoddess
Copy link
Contributor Author

Thanks @madduccino. These are really helpful comments, and the program is going to be much improved. It is also going to be another complex program due to the options, but I think it will be better. I'm having some difficultly creating Level 1 or 2 games lol. But I thought I should let you know this because it is going to take me longer than I anticipated to update this. I think you'll like it though.

@madduccino
Copy link
Owner

Those are really good points. I missed the part where you were trying to make this Level 1. The improvements I mentioned don’t necessarily need to be added, just thoughts. We could also add them as challenge steps....

@truthgoddess
Copy link
Contributor Author

It's totally ok. I think there'll be another opportunity for lower level things. I'm actually liking the challenge of making this look really good.

@truthgoddess
Copy link
Contributor Author

It looked a little pathetic to me in my first version anyway.

@madduccino
Copy link
Owner

madduccino commented Jul 26, 2019 via email

@truthgoddess
Copy link
Contributor Author

I really think it will be. It's already looking much better, and is programmatically very cool. I also think that it is a good project to display how different 'screens' can be done fairly easily in Woof.

That being said, I do think we should prioritize some kind of a file structure thing to help organize the more complex programs.

Looking forward to showing you!

@madduccino
Copy link
Owner

madduccino commented Jul 26, 2019 via email

@truthgoddess
Copy link
Contributor Author

truthgoddess commented Jul 26, 2019

Basically using arrays to hold sprites for entire screens, and using a function to hide or show those screens. Passing a screen array into showScreen() or hideScreen() makes it very easy to read, and makes it easier to organize multiple level looks.

Making a main() function like in C++ and so far the entire program is run by calling the main function, and the main function only calls functions itself.

Combined together, it makes editing the program a lot easier, because I can, with a few characters, show or hide any screen that I want at any time. So, I can hide everything but the 5th screen and start from there, or in a few seconds, start at the 1st screen.

As I did in the memory game program, I made an event listener function that adds event listeners to all the sprites that need them. That's one area that I would like to improve, because I think it would be better to do that as object properties, but given the nature of WoofJS, I think it is a fine way to do it.

I mean, this is just the middle of what I'm doing, but isn't it very satisfying to read this?

function main(){
  hideScreen(titleScreen)
  hideScreen(chapterScreen)
  hideScreen(instructionsScreen_mySuperHeroTale)
  hideScreen(instructionsScreen_theWonderfulDance)
  hideScreen(instructionsScreen_theGiantBook)
  showScreen(titleScreen)
  assignEventListeners()
}

main()

It's really great to be able to spend all this time working on these, because I'm really starting to get a sense of how to organize things better. I've got a lot to learn, but the opportunity to do it is great!

I'll probably create a hideAllScreens() function later and call that at the beginning of main instead of each screen, but I didn't make it yet.

Or, hmmm, a gameSetup() function that can call hideAllScreens() is probably better.

@madduccino
Copy link
Owner

madduccino commented Jul 26, 2019 via email

@truthgoddess
Copy link
Contributor Author

Ah! But just to be clear, I don't think that these functions should be in Woof. They are just functions created by me for my convenience. I think we should be teaching students to do that for themselves.

@truthgoddess
Copy link
Contributor Author

I keep trying to think about how to get programmatic ideas into our student's minds, and I'm thinking that it is not necessarily going to get there in the untutorial text steps. Probably best to get them to teachers and get teachers to emphasize them. Or, as hopefully is in this case, something that is seemingly complicated enough for students to ask, "How the heck do I keep track of all this?"

@madduccino
Copy link
Owner

Ah ok. Could we not explictely say something like, Store all the sprite in an array called Screen1. This will make it a lot easier for you to clear the screen when you create a new story in later steps.

@truthgoddess
Copy link
Contributor Author

Yes! Definitely. I was already thinking about having the students create the three menu screens first, so that'll be a great way to nudge them in that direction. Thanks for that!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants