Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Klondike Tutorial, Step 5: Add code and further explanation of FlatButton and others, or at least a link to its code #19 #3076

Open
1 task done
nickf2k opened this issue Mar 11, 2024 · 6 comments
Assignees

Comments

@nickf2k
Copy link

nickf2k commented Mar 11, 2024

What could be improved

As I was following Klondike's instructions, near the end of step 5, I felt like the instructions writer was not as patient as in the previous steps. Many parts I found were not explained thoroughly, there is no code for FlatButton (I know there is code for it at the end, but there is no explanation about that).
I think we need to add some more detailed explanations, if there is no code for it then at least link to the code of those parts

Why should this be improved

We can learn flame more easily

Risks

No risk

More information

Step 5 at: https://docs.flame-engine.org/latest/tutorials/klondike/step5.html

Other

  • Are you interested in working on a PR for this?
@KrakenZim
Copy link

Yeah nothing on base card functionality or hit boxes - like there's whole methods that are skipped - mind you - awesome tutorial - learnt a ton thanks!

@spydon
Copy link
Member

spydon commented Mar 11, 2024

Looking forward to seeing the improved version of that step!
If you think it'll be too much information in one step, feel free to split it up. :)

@nickf2k
Copy link
Author

nickf2k commented Mar 13, 2024

@spydon Thanks for your suggestion. I'm reading issue #2895 and applying improvement criteria to improve the documentation here. I'll post back soon the points I plan to improve

@nickf2k
Copy link
Author

nickf2k commented Mar 14, 2024

@spydon What do you think of my suggestion below? Please let me know what needs to be changed
Step 5 's table of contents:

Screenshot 2024-03-14 at 16 32 39

1. What would I do to improve this tutorial:

  • Add missing content, eliminate confusing interruptions, and include omitted code sections.
  • Incorporate images and example animations to illustrate our objectives.
  • Introduce additional sections where necessary (though the final source code remains intact).
  • Provide logical transitions between sections.
  • Address why we need to follow specific approaches and not others.
  • Include links and information about general game development concepts (such as the concept of "seed" in game programming).

2. Contents I will add or modify:

  • The Klondike draw
  • Making cards move
  • Animating a card-flip
  • Model and View
  • Ending and restarting the game

I believe these sections are satisfactory, so I won't make any edits to them. I will begin editing from the section: A New World.

  • Immediately after the Start and restart actions section, I will provide an explanation of the "KlondikeWorld" class. Consequently, the adjustment of the "KlondikeGame" class is merely a necessary step when migrating the onLoad() function to KlondikeWorld, rendering the "A stripped-down KlondikeGame class" section redundant.

  • The section Using a Random Number Generator seed appears reasonable. However, I intend to supplement more references to this definition of "seed." If you have any documents or suggestions on this topic, please provide further information. Otherwise, I will utilize the following link: Link to Reddit.

  • The section Introducing the new KlondikeWorld class was previously covered, hence it will be omitted here. Please note that I will enrich the previous instruction with additional details.

  • Button: I will retain and expand upon this section as it lacks significant information.

  • Anchors and coordinates: This section may be considered supplementary information within the Button section. Therefore, I will incorporate and merge it into the Button section.

  • The deal() method: I will maintain this section in its current position, perhaps making minor sentence edits or none at all.

  • More animations of moves: Similar to the section "The deal() method."

  • A graphics glitch: As above.

  • Winning the game: I find this section quite comprehensive; hence, I may not make any alterations.

  • Ending a game and restarting it: This section lacks crucial details and is rather confusing. I will rewrite it to clarify.

  • Have fun button: This section is well-structured; therefore, I may retain it with minor adjustments if necessary.

@spydon
Copy link
Member

spydon commented Mar 14, 2024

@nickf2k looks like a great plan!
You'll probably get a good feeling of what fitting section names are for the table of contents while fixing up the other things.

@nickf2k
Copy link
Author

nickf2k commented Mar 14, 2024

I opened a PR for this: #3078

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

No branches or pull requests

3 participants