GDQuest / learn-gdscript

Learn Godot's GDScript programming language from zero, right in your browser, for free.
https://gdquest.github.io/learn-gdscript/
Other
2.04k stars 149 forks source link

Lesson 7 Exercise 2 is completely broken. #968

Open Oicmorez opened 1 month ago

Oicmorez commented 1 month ago

Describe the bug Lesson 7 Exercise 2 produces a lot of unexpected results, accepts wrong answers, and refuses right ones.

To Reproduce Steps to reproduce the bug:

  1. Go to 'Lesson 7 Exercise 2'
  2. Make your own "draw_square" function instead of using "draw_rectangle"
  3. You will see a lot of visual errors with the turtle. 3a. If you do everything else like in the provided solution, changing "position.x" will continue to draw, and your solution will not be accepted. 3b. If you replace "position.x" with "jump(200, 0), "jump" will continue to draw, but your solution will still be accepted. 3b-. no matter what's in the second variable in "jump", the solution will be accepted. Any value other than 0 provides very unexpected final results.

Expected behavior Consistent results.

Screenshots godot

Information about your device (please complete the following information):

Additional context Code for the screenshot:

func run():
     position.x = 100
     position.y = 100
     draw_square(100)
     jump(200,50)
     draw_square(100)
     jump(200,50)

func draw_square(length):
     move_forward(length)
     turn_right(90)
     move_forward(length)
     turn_right(90)
     move_forward(length)
     turn_right(90)
     move_forward(length)
     turn_right(90)
NathanLovato commented 1 month ago

As shown in your screenshot, the instructions specifically ask you to use the provided draw_rectangle() function. If you check the instructions, they constrain you. If you don´t follow the instructions and try to write code outside of these constraints, the way the application works, then you can break the practices, yes.

If someone wanted to rework the app or specific practices to make them more open-ended, that'd be most welcome. We don't have the bandwidth to do that currently.

Oicmorez commented 1 month ago

In that case, it should've checked if I used draw_rectangle() and failed me for not using it, like many of the other tests do.

Kompanjuu commented 1 week ago

image I also have a similar issue