Attention | Topic was automatically imported from the old Question2Answer platform. | |
Asked By | Vista1337 | |
Old Version | Published before Godot 3 was released. |
Hey guys,
I am making a sort of quiz game, and i am extracting the questions and the anwsers from a dictionary, but i cant seem to find a way to randomize que anwsers, causing the problem of having the correct anwser always in the same button.
eextends Node2D
onready var lbl_question=get_node("lbl_question")
onready var lbl_answer1=get_node("lbl_answer1")
onready var lbl_answer2=get_node("lbl_answer2")
onready var lbl_answer3=get_node("lbl_answer3")
onready var lbl_answer4=get_node("lbl_answer4")
var dict = {}
var i
var keys
var can=0
func _ready():
set_fixed_process(true)
set_process_input(true)
var file = File.new()
file.open("res://Questions/test3.json", file.READ)
var text = file.get_as_text()
dict.parse_json(text)
file.close()
keys = dict.keys()
i = 0
generate_table()
func _on_Voltar_pressed():
get_tree().change_scene('res://Scenes/MenuScene.tscn')
pass
func _on_lbl_answer1_pressed():
i += 1
generate_table()
func _on_lbl_answer2_pressed():
i += 1
generate_table()
func _on_lbl_answer3_pressed():
i += 1
generate_table()
func _on_lbl_answer4_pressed():
i += 1
generate_table()
func generate_table():
if(i>=dict.size()):
get_node("CanvasLayer/Control/ProgressBar").set_value(100)
get_tree().set_pause(true)
else:
var k = dict[keys[i]]
#correct_answer=k["res_c"]
lbl_question.set_text(k["questions"])
lbl_answer1.set_text(k["res_c"])
lbl_answer2.set_text(k["res_e1"])
lbl_answer3.set_text(k["res_e2"])
lbl_answer4.set_text(k["res_e3"])
func _fixed_process(delta):
get_node("CanvasLayer/Control/ProgressBar").set_value(can)
can+=delta*4
Please fix your code formatting. Indent all lines by 4 spaces, and they’ll appear as code and the underscores won’t be treated as italics.
like this
and this
kidscancode | 2017-11-28 01:24