# TrueFalseQuiz.java

/home/caleb/ASDV-Java/Semester 2/Assignments/lab2_CalebFontenot/src/main/java/com/calebfontenot/lab5_calebfontenot/TrueFalseQuiz.java

    /*
     * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
     * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
     */
    package com.calebfontenot.lab5_calebfontenot;

    import java.util.Date;

    /**
     *
     * @author caleb
     */
    public class TrueFalseQuiz {

        int currentQuestion;
        TrueFalseQuestion[] trueFalseQuestions;

        public TrueFalseQuiz()
        {
            trueFalseQuestions = new TrueFalseQuestion[5];

            trueFalseQuestions[0]
                    = new TrueFalseQuestion("The Pacific Ocean is larger than the Atlantic Ocean.",
                            true, new Date());

            trueFalseQuestions[1]
                    = new TrueFalseQuestion("The Suez Canal connects the Red Sea and the Indian Ocean.", false, new Date());

            trueFalseQuestions[2]
                    = new TrueFalseQuestion("The source of the nile River is in Egypt.", false, new Date());

            trueFalseQuestions[3]
                    = new TrueFalseQuestion("Lake Baikal is the world\'s oldest and deepest freshwater lake.", true, new Date());

            trueFalseQuestions[4]
                    = new TrueFalseQuestion("The Amazon River is the longest river in the Americas.", true, new Date());
            this.currentQuestion = 0;
        }

        public TrueFalseQuiz(String[] questions, boolean[] trueFalse)
        {
            //> Create an array of REFERENCES of size questions.length
            //the references are initializesed to null
            trueFalseQuestions = new TrueFalseQuestion[questions.length];

            //> assign to each reference of the array an object of type TrueFalseQuestion
            for (int i = 0, j = 0; i < questions.length; ++i, ++j) {
                trueFalseQuestions[i] = new TrueFalseQuestion(
                        questions[i],
                        trueFalse[j],
                        new Date());
                //> set the index of the first question
                this.currentQuestion = 0;
            }
        }

        /**
         * Gets the current question. If the current question is the last last question in the quiz and we call this method the method will return the first question.
         *
         * @return current question;
         */
        public String nextQuestion()
        {

            if (++this.currentQuestion == this.trueFalseQuestions.length) {
                this.currentQuestion = 0;
            }
            this.trueFalseQuestions[this.currentQuestion].setWhenLastUsed(new Date());
            return this.trueFalseQuestions[this.currentQuestion].getQuestion();
        }
        /**
         * Returns true if the current question is true.
         * @return true if the current question is true, false otherwise.
         */
        public boolean isTrue() {
            return this.trueFalseQuestions[this.currentQuestion].isIsTrue();
        }

        public int getCurrentQuestion()
        {
            return currentQuestion;
        }

        public void setCurrentQuestion(int currentQuestion)
        {
            this.currentQuestion = currentQuestion;
        }

        public TrueFalseQuestion[] getTrueFalseQuestions()
        {
            return trueFalseQuestions;
        }

        public void setTrueFalseQuestions(TrueFalseQuestion[] trueFalseQuestions)
        {
            this.trueFalseQuestions = trueFalseQuestions;
        }

    }