Page 1 of 1

Renpy quiz

Posted: Sun Oct 13, 2019 3:36 am
by kirkechan
I want to create a personality quiz in renpy but I honestly have no idea how to do it. It's easy to make a quiz with correct and uncorrect answers, but I want something a bit different. All answers are correct and the most important thing is how much "a" you had, how much "b", how much "c" etc. But I need some advices about how to make it...

Re: Renpy quiz

Posted: Sun Oct 13, 2019 7:55 am
by tanix
Hi kirke,

My suggestion may be is OO or function to handle this.

You can create dict or some objects like arrays of arrays or some data structures that will have questions, answers and correct answers. So you can make functions to pick a question, display answers and later after user submit the answer you need a function that validate based on the question loaded

Re: Renpy quiz

Posted: Sun Oct 13, 2019 9:22 am
by Imperf3kt
An easier way would be to simply have a variable for "A" answers, "B" answers, etc.
Then use the choice menu to increment the chosen option by +1 each time it is selected.

When the quiz reaches the results screen you can show which option was most selected or a percentage or whatever, based on those variables.

Re: Renpy quiz

Posted: Sat Oct 19, 2019 2:23 am
by isobellesophia
Variables can do honestly, since alot RenPy with quiz games uses variables commonly..

This is about results, not good at making this, but take a try.

Code: Select all

default correct1 = False
default correct2 = False
default wrong1 = False
default wrong2 = False

Code: Select all

label quiz:
menu:
"What is the third planet on the solar system?"

"Earth":
jump earth

"Neptune":
jump neptune

label earth:
$ correct1 = True
"You got the correct answer!"
jump quiz2

label neptune:
$ wrong1 = True
"Wrong!"
jump quiz2

menu:
"What is my personality?"

"Kind":
jump kind

"Bad":
jump bad

label kind:
$ correct2 = True
"You got it!"
jump results

label bad:
$ wrong2 = True
"Nahahh"
jump results

label results:
if correct1 and correct2:
"You got A!"
return
elif correct1 and wrong2:
"You got B!"
return
elif wrong1 and correct2:
"You got C!"
return
elif wrong1 and wrong2:
"You got D!"
return