Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Probleem Flash quiz

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal,

ik heb een probleempje met flash.
Ik ben namelijk een quiz aan het maken en heb hierbij gebruik gemaakt van een array.
Ik heb ongeveer 15 vragen met hun antwoorden in een array gezet en deze questionArray genoemd.
Verder heb ik geprogrammeerd dat er elke keer een willekeurige vraag naar voren komt.

Ik heb een functie checkanswer als volgt gemaakt:
function checkAnswer(){
if (currentAnswer == questionArray[currentQuestion][1]){
antwoord is goed.
else
antwoord is niet goed.

Maar bij deze check answer rekent hij alleen de eerste vraag in de array goed. Ik weet dat er iets fout zit in deze functie maar weet niet wat. Kan iemand mij helpen?

Dit is mijn code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
var questionArray:Array = new Array(["Wat is de hoofdstad van Australië?", //Question
    "Canberra", //The Correct Answer
    "Sydney", // option1
    "Perth",// option2
    "Brisbane",// option3
    "Canberra"], // option4

    ["Welk eiland hoort niet in dit rijtje thuis?",
    "Malta",
    "Rhodos",
    "Kos",
    "Malta",
    "Kreta"],

    ["Wat is een ingrediënt van Desperados?",
    "Tequila",
    "Tequila",
    "Wodka",
    "Rum",
    "Whiskey"],

    ["Welk EU land heeft op het moment de hoogste staatschuld?",
    "Griekenland",
    "Spanje",
    "Italië",
    "Griekenland",
    "Nederland"],

    ["Aan welke zee grenst de kust van Bulgarije?",
    "Zwarte zee",
    "Middellandse zee",
    "Atlantische oceaan",
    "Zwarte zee",
    "Dode zee"],

    ["Hoe heet de kleine staat dat in Italië ligt? (onder de bekende jongeren bestemming Rimini)",
    "San Marino",
    "San Marino",
    "Liechtenstein",
    "Andorra",
    "Monaco"],

    ["Aan welke zee grenst de kust van Bulgarije?",
    "Zwarte zee",
    "Middellandse zee",
    "Atlantische oceaan",
    "Zwarte zee",
    "Dode zee"],

    ["Hoe heet de zuidelijkste regio van Portugal?",
    "Algarve",
    "Sicilië",
    "Gibraltar",
    "Algarve",
    "Argeles"],

    ["Hoe heet de bekendste vakantie bestemming van Bulgarije?",
    "Sunny Beach",
    "Happy Beach",
    "Sunny Beach",
    "Sexy Beach",
    "Party Beach"],

    ["Wat hoort niet in dit rijtje thuis?",
    "Paella",
    "Spaghetti",
    "Pizza",
    "Paella",
    "Lasagne"],

    ["Wat is de hoofdstad van Kroatie?",
    "Zagreb",
    "Zagreb",
    "Sarajevo",
    "Valletta",
    "Tallinn"],

    ["hoe heet de grootste berg van Afrika?",
    "Kilimanjaro",
    "Mount Everest",
    "Kilimanjaro",
    "Puy de Dome",
    "Mount Kenya"]);
 

var currentAnswer:String;
 

//var questionCntr:int = 0;
 

var resetTimer:Timer = new Timer(1500,1);
                                                               

resetTimer.addEventListener(TimerEvent.TIMER,reset);
answer0.addEventListener(MouseEvent.MOUSE_DOWN,pressFunction);
answer1.addEventListener(MouseEvent.MOUSE_DOWN,pressFunction);
answer2.addEventListener(MouseEvent.MOUSE_DOWN,pressFunction);
answer3.addEventListener(MouseEvent.MOUSE_DOWN,pressFunction);
 
 

question.stop();
answer0.stop();
answer1.stop();
answer2.stop();
answer3.stop();
 

loadQuestion();
 

function reset(e:TimerEvent){
        question.gotoAndStop(1);
        answer0.gotoAndStop(1);
        answer1.gotoAndStop(1);
        answer2.gotoAndStop(1);
        answer3.gotoAndStop(1);
        //questionCntr = currentquestion;
        //loadQuestion();
        questionArray.splice(currentQuestion,1);
        trace(questionArray);
        this.visible = false;
}
//drukken op een antwoord en dan de controle functie oproepen
function pressFunction(e:MouseEvent){
        trace(e.currentTarget.txt.text);
        currentAnswer = e.currentTarget.txt.text;
        checkAnswer();
}
var currentQuestion:int = 0;
//vraag laden met de bijbehorende antwoorden
function loadQuestion(){
        currentQuestion = Math.floor(Math.random() * questionArray.length);
        questionTxt.text = questionArray[currentQuestion][0];
        answerTxt0.text = questionArray[currentQuestion][2];
        answerTxt1.text = questionArray[currentQuestion][3];
        answerTxt2.text = questionArray[currentQuestion][4];
        answerTxt3.text = questionArray[currentQuestion][5];
       
        //questionNr.text = (questionCntr +1).toString();
}
//functie om het antwoord te controleren en wanneer het goed is en berichtje te laten komen dat het antwoord goed is en wanneer het fout is andersom
function checkAnswer(){
        if (currentAnswer == questionArray[currentQuestion][1]){
                question.gotoAndStop(2);
                answer0.gotoAndStop(2);
                answer1.gotoAndStop(2);
                answer2.gotoAndStop(2);
                answer3.gotoAndStop(2);
        }else{
                question.gotoAndStop(3);
                answer0.gotoAndStop(3);
                answer1.gotoAndStop(3);
                answer2.gotoAndStop(3);
                answer3.gotoAndStop(3);
        }resetTimer.start();


Groeten,
Martijn

[ Voor 151% gewijzigd door RobIII op 26-06-2013 19:21 . Reden: *indenting verbeterd* ]


  • Spike_wolf
  • Registratie: Maart 2003
  • Laatst online: 21:11

Spike_wolf

Genius Or Madman?.. You Decide

[GFX] -> [PRG]

Wat doet Ctrl+W ook alweer?
Humankind… be both.
Star Wars Awakens | Instagram


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Het eerste element in een array is 0, niet 1 (of Flash is vaag)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Xudonax
  • Registratie: November 2010
  • Laatst online: 21-11 20:40
Voor zover ik kan zien zit je met een dubbel geneste array.
Daarnaast klopt je [1] voor het ophalen van het juiste antwoord wel, want het is het 2e element in je array als ik het goed zie. Het 1e element is de vraag zelf, toch?

Verwijderd

Topicstarter
Ja dat klopt. bij de eerste vraag die boven aan staat doet hij het wel goed. Dus ik denk dat door de een of andere manier hij bij elke vraag denkt dat het antwoord van vraag 1 de juiste is. Maar bij de rest van de vragen zit dit antwoord er dus niet bij.

  • Xudonax
  • Registratie: November 2010
  • Laatst online: 21-11 20:40
Dan is de vraag heel simpel, word currentquestion wel veranderd bij volgende vragen? Laat eens een dialoogvenster verschijnen (oid) met daarin de waarde van currentquestion voordat je het if statement in checkAnswer uitvoert :)

Verwijderd

Topicstarter
klopt bij elke vraag geeft hij gewoon aan dat currentquestion 0 is.

  • Xudonax
  • Registratie: November 2010
  • Laatst online: 21-11 20:40
Zie daar je probleem :)
Dan mag het vinden van de oplossing nu ook niet al te veel moeite meer kosten denk ik.

Verwijderd

Topicstarter
Top, bedankt het is me gelukt!

  • Afvalzak
  • Registratie: Oktober 2008
  • Laatst online: 31-08 12:02

Afvalzak

Zet jij mij even buiten?

RobIII schreef op woensdag 26 juni 2013 @ 19:25:
Het eerste element in een array is 0, niet 1 (of Flash is vaag)
Is dat vaag ? 8)7 Toch vrij normaal? oh sorry ik had de of niet gelezen :P

[ Voor 10% gewijzigd door Afvalzak op 26-06-2013 20:30 ]

Last.fm | Code Talks


  • Xudonax
  • Registratie: November 2010
  • Laatst online: 21-11 20:40
afvalzak schreef op woensdag 26 juni 2013 @ 20:29:
[...]

Is dat vaag ? 8)7 Toch vrij normaal? oh sorry ik had de of niet gelezen :P
Het zou vaag zijn als het 1e element wel 1 was ;) Tenzij je Visual Basic 6 gebruikt met Option Base 1 :P
Graag gedaan :)

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Xudonax schreef op woensdag 26 juni 2013 @ 19:28:
Daarnaast klopt je \[1] voor het ophalen van het juiste antwoord wel, want het is het 2e element in je array als ik het goed zie. Het 1e element is de vraag zelf, toch?
Note to self: bril kopen B) :+

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1