Topic was automatically imported from the old Question2Answer platform.
Asked By
Hippy
Hi, I’m making a guessing game in which the player has to guess the capital city. I have the capitals in one array and the states in the other.
I have 3 buttons in the gui and on each button a capital city is randomly generated from array. But now I don’t know how to evaluate if the player picked the right city. I wanted to compare the positions of the elements to determine the right/wrong answer, but I don’t know how to do it .
var capitals = [Prague,Paris,Berlin]
var country = [Czech,France,Germany]
if country[number] == capitals [number]:
print(“Correct”)
else:
print(“Incorrect”)
Being ‘number’ the number you randomly generated previously
Here you use the relational operator == that compares if two variables are equal and returns true if so. Make sure both of your arrays store the same data type (strings I assume for your case). You probably may be interested on this article: Operators & Operands | Godot GDScript Tutorial | Ep 02 | Godot Tutorials
Based on the OP’s original array contents, the suggestion here won’t work as it’ll result in comparing a given country’s string name to its capital city string name. So, the two will never be equal.
I assume what @Alan Beetale meant was to compare the two array indices to each other - so if both were1 for example, that’d be a match since Paris is the capital city of France.
While a solution to the problem should be relatively easy here, it really depends on how your code / data structures are organized. If you don’t get a reasonable suggestion here, posting the relevant code would be helpful for a more targeted answer.