Need help

How do I make a quiz game any tips? How can I make it have right and wrong answers?
Also any good video tutorials out there for this app? I am more of a audible learner.

Set up 5 tables. One table for the question, one table for the correct answer. The three other tables will have the wrong answers. Each offset into the tables will be for that question. For example, the first entry of all the tables. Table 1, "What is the distance to the moon. Table 2, 238,900 miles. Table 3, 150,000 miles. Table 4, 400,560 miles. Table 5, 275,134 miles. Pick random numbers so that the 4 answers will be in different positions. Since you know the correct answer was in table 2 and you know what position you put it, you’ll know if the selected the correct answer.

@Aulis98 Please don’t make multiple posts with the same question. People responded to your previous post with some good tutorial links. If you have specific questions please feel free to follow up in that thread but do not create a new one unless it’s in regards to a different question.

If you are not entirely sure what @dave1707 was saying I’d start with @ignatz ebook in the previous thread to get a better understanding of Lua and codea.

@briarfox Sorry, thank you for the help and I won’t again

@Aulis98 There are different ways of doing what you want, but here is something quick to get you going. You can modify this to add all your bells and whistles.

EDIT: Tap what you think is the correct answer.


displayMode(FULLSCREEN)

function setup()
    question={}
    correct={}
    wrong1={}
    wrong2={}
    wrong3={}
    fillTables()
    askQuestion=true  
    answer={a1,a2,a3,a4}  
    q=1
    str=""
    -- x,y values for questions and answers
    t1=vec2(300,400)    -- question
    t2=vec2(300,350)    -- answers
    t3=vec2(300,300)
    t4=vec2(300,250)
    t5=vec2(300,200)
    t6=vec2(300,500)    -- correct / wrong response
end

function draw()
    background(40, 40, 50)
    sprite("SpaceCute:Background",WIDTH/2,HEIGHT/2,WIDTH,HEIGHT)
    fill(255)
    if askQuestion then
        if q<=#question then
            c=math.random(1,4)
            func=answer[c]
        end
        if str=="correct" then
            q=q+1
            if q>#question then
                func=done
            end
        end
        askQuestion=false
    end
    text(str,t6.x,t6.y)
    func()
end

function a1()
    text(question[q],t1.x,t1.y)
    text(correct[q],t2.x,t2.y)
    text(wrong1[q],t3.x,t3.y)
    text(wrong2[q],t4.x,t4.y) 
    text(wrong3[q],t5.x,t5.y)
end

function a2()
    text(question[q],t1.x,t1.y)
    text(wrong1[q],t2.x,t2.y)
    text(correct[q],t3.x,t3.y)
    text(wrong2[q],t4.x,t4.y) 
    text(wrong3[q],t5.x,t5.y)
end

function a3()
    text(question[q],t1.x,t1.y)
    text(wrong1[q],t2.x,t2.y)
    text(wrong2[q],t3.x,t3.y)
    text(correct[q],t4.x,t4.y) 
    text(wrong3[q],t5.x,t5.y)
end

function a4()
    text(question[q],t1.x,t1.y)
    text(wrong1[q],t2.x,t2.y)
    text(wrong2[q],t3.x,t3.y)
    text(wrong3[q],t4.x,t4.y) 
    text(correct[q],t5.x,t5.y)
end

function done()
    str="no more questions"
end
    
function touched(t)
    if t.state==ENDED then
        str=""
        if t.y>t2.y-25 and t.y<t2.y+25 then
            if c==1 then str="correct" else str="wrong" end
        end
        if t.y>t3.y-25 and t.y<t3.y+25 then
            if c==2 then str="correct" else str="wrong" end
        end
        if t.y>t4.y-25 and t.y<t4.y+25 then
            if c==3 then str="correct" else str="wrong" end
        end
        if t.y>t5.y-25 and t.y<t5.y+25 then
            if c==4 then str="correct" else str="wrong "end
        end
        if str~="" then
            askQuestion=true
        end
    end
end

function fillTables()
    question[1]="What is the distance to the moon"
    correct[1]="238,900 miles"
    wrong1[1]="225,000 miles"
    wrong2[1]="275,450 miles"
    wrong3[1]="310,340 miles"
    
    question[2]="What is the largest planet"
    correct[2]="Jupiter"
    wrong1[2]="Mars"
    wrong2[2]="Saturn"
    wrong3[2]="Venus"
    
    question[3]="What is the largest ocean"
    correct[3]="Pacific"
    wrong1[3]="Atlantic"
    wrong2[3]="Arctic"
    wrong3[3]="Indian"
end

@Aulis98 Not a problem, We have a great community here thats very willing to lend a hand. @dave1707 's code should give you a great starting point.

@Aulis98, @dave1707’s code is definitely a great start like @Briarfox said. However, I would make one quick change to the touched function. Currently, it says wrong if you touch outside of the choices as well as if you touch a wrong choice. Swap out the touched function above with this one and that will be resolved:

function touched(t)
    if t.state==ENDED then
        str=""
        if t.y>325 and t.y<375 then
            if c==1 then str="correct" else str="wrong" end
        end
        if t.y>275 and t.y<325 then
            if c==2 then str="correct" else str="wrong" end
        end
        if t.y>225 and t.y<275 then
            if c==3 then str="correct" else str="wrong" end
        end
        if t.y>175 and t.y<225 then
            if c==4 then str="correct" else str="wrong" end
        end
        if str~="" then
            askQuestion=true
        end
    end
end

@Aulis98 - sorry, no audio/video tutorials.

Codea is too small a community, and everything like that has to be user-created. However, the good part is that because we are small, we help each other out a lot, and this forum is the second best thing about Codea.

So I have a better understanding on how everything works and I’m not as in the dark as I was, but I’m trying to move the location of the text I’m not sure how to do that with out messing everything up, also can I have a image for the back ground?

@Aulis98, Sure you can have an image as a background! Just do

function setup()
    backgroundImage = readImage("WhateverItIs")
end

function draw()
    sprite(backgroundImage, WIDTH/2, HEIGHT/2, WIDTH, HEIGHT)

    --------------------------------
    -- All of the other stuff --
    --------------------------------

end

This will draw the image in the middle of screen with the correct size to cover the entire screen. Everything else comes after it so that it will be the back

@Aulis98 I modified the original program above to make it easier to move the text around. I also included the changes suggested by @JakAttak and @Slashin8r. Just change the values of t1 thru t6. Also if you change the text size, you’ll have to change the -25 and +25 in the touch routine.