madduccino / coding.space

The Coding Space Projects
12 stars 22 forks source link

woof libs v 1.0 #136

Open truthgoddess opened 5 years ago

truthgoddess commented 5 years ago

@madduccino Good day!

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

Happy to get your feedback. Cheers.

madduccino commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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

madduccino commented 5 years ago

Haha. Nah but version 2.0 will be epic 😎

On Fri, Jul 26, 2019 at 9:17 AM Kate Norton notifications@github.com wrote:

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

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/madduccino/coding.space/pull/136?email_source=notifications&email_token=AAQAR4KKNG4PZSTA55NHRNLQBL2NXA5CNFSM4IGOOKOKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD24RUOI#issuecomment-515447353, or mute the thread https://github.com/notifications/unsubscribe-auth/AAQAR4MJML7HIANQRYPNL3TQBL2NXANCNFSM4IGOOKOA .

truthgoddess commented 5 years ago

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 commented 5 years ago

Awesome! Can you elaborate on the file structure? I think I know what you mean but not sure.

On Fri, Jul 26, 2019 at 9:23 AM Kate Norton notifications@github.com wrote:

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!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/madduccino/coding.space/pull/136?email_source=notifications&email_token=AAQAR4J53MO5N6TRG5HUWR3QBL3GJA5CNFSM4IGOOKOKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD24SHIY#issuecomment-515449763, or mute the thread https://github.com/notifications/unsubscribe-auth/AAQAR4KDYJV3KGBBYMPEYOLQBL3GJANCNFSM4IGOOKOA .

truthgoddess commented 5 years ago

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 commented 5 years ago

Interesting. Let’s post this on the Woof repo and get Steve’s thoughts.

On Fri, Jul 26, 2019 at 9:50 AM Kate Norton notifications@github.com wrote:

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()`

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/madduccino/coding.space/pull/136?email_source=notifications&email_token=AAQAR4OF6I4I37W77UPUX5DQBL6JNA5CNFSM4IGOOKOKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD24U5XQ#issuecomment-515460830, or mute the thread https://github.com/notifications/unsubscribe-auth/AAQAR4OAV5WSIITIALYTBWLQBL6JNANCNFSM4IGOOKOA .

truthgoddess commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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!