| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103 |
- <?php
- class timekeeper_Question_Engine {
- public $yearlevel;
- public $subjectSelector;
- private $FormattedQuestionForm;
- public function GetRandomQuestion() {
- $this->FormattedQuestionForm = e107::getForm()->open('questionForm', 'post', '', ['autocomplete' => 'off', 'class' => 'formclass']) . "\n";
- //$tmp = new EnglishYearTwo;
- //$tmp->RandomQuestion();
- $Years = [
- 'YearOne',
- 'YearTwo',
- 'YearThree',
- 'YearFour',
- 'YearFive',
- 'YearSix',
- 'YearSeven',
- 'YearEight',
- 'YearNine',
- 'YearTen',
- 'YearEleven',
- 'YearTwelve',
- ];
- $Function = $Years[($this->yearlevel) - 1];
- $this->FormattedQuestionForm .= e107::getForm()->hidden('yearLevel', $this->yearlevel) . "\n";
- $this->$Function();
- $this->FormattedQuestionForm .= '</br>';
- $this->FormattedQuestionForm .= e107::getForm()->button('Answered', 'Check answer') . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->close();
- $this->FormattedQuestionForm .= '</br>';
- //print_a(['GetRandomQuestion', $this->FormattedQuestionForm]);
- return $this->FormattedQuestionForm;
- }
- private function YearOne() {
- $subjects = [
- 'english' => new EnglishYearOne(),
- //'languages' => $this->MathQuestions(),
- 'mathematics' => new MathYearOne(),
- //'science' => $this->MathQuestions(),
- ];
- $Class = $subjects[$this->subjectSelector];
- $this->FormattedQuestionForm .= e107::getForm()->hidden('subject', $this->subjectSelector) . "\n";
- $Class->RandomQuestion();
- $this->FormattedQuestionForm .= $Class->FormattedQuestionForm;
- }
- private function YearTwo() {
- $subjects = [
- 'english' => new EnglishYearTwo(),
- //'languages' => $this->MathQuestions(),
- 'mathematics' => new MathYearTwo(),
- //'science' => $this->MathQuestions(),
- ];
- $Class = $subjects[$this->subjectSelector];
- $this->FormattedQuestionForm .= e107::getForm()->hidden('subject', $this->subjectSelector) . "\n";
- $Class->RandomQuestion();
- $this->FormattedQuestionForm .= $Class->FormattedQuestionForm;
- }
- private function YearThree() {
-
- }
- private function YearFour() {
-
- }
- private function YearFive() {
-
- }
- private function YearSix() {
-
- }
- private function YearSeven() {
-
- }
- private function YearEight() {
-
- }
- private function YearNine() {
-
- }
- private function YearTen() {
-
- }
- private function YearEleven() {
-
- }
- private function YearTwelve() {
- $subjects = [
- 'english' => $this->MathQuestions(),
- 'pePd' => $this->MathQuestions(), //health-and-physical-education
- 'socialStudies' => $this->MathQuestions(), //humanities-and-social-sciences
- 'languages' => $this->MathQuestions(),
- 'mathematics' => $this->MathQuestions(),
- 'science' => $this->MathQuestions(),
- 'technologies' => $this->MathQuestions(),
- 'art' => $this->MathQuestions()
- ];
- $subjects[$this->subjectSelector];
- }
- }
- //////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////
- //////// Mathematics
- //////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////
- class MathYearOne {
- // Todo finish questions
- public $enabled = true;
- public $FormattedQuestionForm;
- private $diff = 0;
- function __construct() {
- $sql = e107::getDb();
- $userName = e107::getUser()->getLoginName();
- $this->diff = $sql->retrieve('timekeeperStats', 'timekeeper_percent', 'timekeeper_username="' . $userName . '" AND timekeeper_yearLevel=1');
- //print_a([$this->diff,'e107_timekeeperStats', '*', 'timekeeper_username="' . $userName . '"']);
- if (!isset($this->diff)) {
- $this->diff = 20;
- }
- }
- public function RandomQuestion() {
- $methods = preg_grep('/[^RandomQuestion]/', get_class_methods($this));
- $RandomEnglishType = rand(2, count($methods));
- $function = $methods[$RandomEnglishType];
- //print_a(['FunctionName'=>'RandomQusetion','Methods'=>$methods,'RandomSelectionNo'=>$RandomEnglishType,'CurrentSelection'=>$function]);
- return $this->$function();
- //return $this->gA();
- }
- private function NumberSequences() {
- $this->FormattedQuestionForm .= e107::getForm()->label('<b>Find the missing number(s) in the sequence.</b>') . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $startingNumber = rand(0, (int) ($this->diff*3));
- $incrementalNumber = rand(1, (int) ($this->diff * 2));
- $missingNumber = rand(1, 10);
- $TempQuestion = "";
- for ($i = 1; $i <= 10; $i++) {
- if ($i == $missingNumber) {
- $this->FormattedQuestionForm .= e107::getForm()->label('???') . "\n";
- $this->FormattedQuestionForm .= " - ";
- $TempQuestion .= "___,";
- $solution = $startingNumber;
- } elseif ($i == 10) {
- $this->FormattedQuestionForm .= e107::getForm()->label($startingNumber) . "\n";
- $TempQuestion .= $startingNumber;
- } else {
- $this->FormattedQuestionForm .= e107::getForm()->label($startingNumber) . "\n";
- $this->FormattedQuestionForm .= " - ";
- $TempQuestion .= $startingNumber . ",";
- }
- $startingNumber += $incrementalNumber;
- }
- $this->FormattedQuestionForm .= e107::getForm()->text('q1', '', 80, ['placeholder' => 'Write first answer here!', 'autocomplete' => "off"]) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('a1', $solution) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('qc1', 1) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('question', $TempQuestion) . "\n";
- }
- private function Addition() {
- $this->FormattedQuestionForm .= e107::getForm()->label('<b>Addition, find the answers.</b>') . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $firstNumber = rand(1, (int) ($this->diff * 13));
- $secondNumber = rand(1, $firstNumber);
- $this->FormattedQuestionForm .= e107::getForm()->label($firstNumber) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->label(" + " . $secondNumber) . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $this->FormattedQuestionForm .= e107::getForm()->text('q1', '', 80, ['placeholder' => 'Write answer here!', 'autocomplete' => "off"]) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('a1', $firstNumber + $secondNumber) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('qc1', 1) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('question', $firstNumber . "+" . $secondNumber . "=") . "\n";
- }
- private function Subtraction() {
- $this->FormattedQuestionForm .= e107::getForm()->label('<b>Subtraction, find the answers.</b>') . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $firstNumber = rand(1, (int) ($this->diff * 9));
- $secondNumber = rand(1, $firstNumber);
- $this->FormattedQuestionForm .= e107::getForm()->label($firstNumber) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->label(" - " . $secondNumber) . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $this->FormattedQuestionForm .= e107::getForm()->text('q1', '', 80, ['placeholder' => 'Write answer here!', 'autocomplete' => "off"]) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('a1', $firstNumber - $secondNumber) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('qc1', 1) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('question', $firstNumber . "-" . $secondNumber . "=") . "\n";
- }
- private function Multiplication() {
- $this->FormattedQuestionForm .= e107::getForm()->label('<b>Multiplication, find the answers.</b>') . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $firstNumber = rand(1, (int) ($this->diff*6));
- $secondNumber = rand(1, $firstNumber);
- $this->FormattedQuestionForm .= e107::getForm()->label($firstNumber) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->label(" x " . $secondNumber) . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $this->FormattedQuestionForm .= e107::getForm()->text('q1', '', 80, ['placeholder' => 'Write answer here!', 'autocomplete' => "off"]) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('a1', ($firstNumber * $secondNumber)) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('qc1', 1) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('question', $firstNumber . "x" . $secondNumber . "=") . "\n";
- }
- private function Division() {
- $this->FormattedQuestionForm .= e107::getForm()->label('<b>Division, find the answers (No remainders).</b>') . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $firstNumber = rand(1, (int) ($this->diff*3));
- $secondNumber = rand(1, $firstNumber);
- $divNumber = $firstNumber * $secondNumber;
- $this->FormattedQuestionForm .= e107::getForm()->label($divNumber) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->label(" ÷ " . $secondNumber) . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $this->FormattedQuestionForm .= e107::getForm()->text('q1', '', 80, ['placeholder' => 'Write answer here!', 'autocomplete' => "off"]) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('a1', (int) ($divNumber / $secondNumber)) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('qc1', 1) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('question', $divNumber . " ÷ " . $secondNumber . "=") . "\n";
- }
- private function Rounding() {
- $firstNumber = sprintf("%01.2f", (float) rand(100, (int) ($this->diff) * 100) / 100);
- $answer = sprintf("%01.2f", round($firstNumber / 5, 2) * 5);
- $this->FormattedQuestionForm .= e107::getForm()->label('<b>Rounding, round off $' . $firstNumber . ' to the nearest five cents.</b>') . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $this->FormattedQuestionForm .= e107::getForm()->text('q1', '', 80, ['placeholder' => 'Write answer here!', 'autocomplete' => "off"]) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('a1', '$' . $answer) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('qc1', 1) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('question', "Round $" . $firstNumber . " off to the nearest five cents") . "\n";
- }
- private function RoundingWorded() {
- $this->FormattedQuestionForm .= e107::getForm()->label('<b>Rounding in practical use.</b>') . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $names = ['Joe', 'Mat', 'Dug', 'Adam', 'Will', 'Nick'];
- $Quests = [['{Name1} went to the shop to buy some lollies they were {RandomQuantity} for ${RandomPrice}. How much did he pay in total if he bought {LimitedQuantity} ?'
- , '({RandomQuantity}*{RandomPrice})*{LimitedQuantity}'],
- ['{Name1} bought a puppy they were {RandomQuantity} for ${RandomPrice}. How much did he pay in total if he bought {LimitedQuantity} ?'
- , '({RandomQuantity}*{RandomPrice})*{LimitedQuantity}'],
- ['{Name1} sold bananas for {RandomQuantity} for ${RandomPrice}. How much did he make in total if he sold {LimitedQuantity} ?'
- , '({RandomPrice}/{RandomQuantity})*{LimitedQuantity}'],
- ];
- $RandomQuantity = 1;
- $RandomPrice = sprintf("%01.2f", (float) rand(100, (int) ($this->diff / 6) * 100) / 100);
- $LimitedQuantity = (int) rand(1, (int) $this->diff);
- $SelectedQuestionNo = array_rand($Quests);
- $SelectedNameNo = array_rand($names);
- $returnQuestion = str_replace('{LimitedQuantity}', $LimitedQuantity, str_replace('{RandomPrice}', $RandomPrice, str_replace('{RandomQuantity}', $RandomQuantity, str_replace('{Name1}', $names[$SelectedNameNo], $Quests[$SelectedQuestionNo][0]))));
- $returnAnswer = str_replace('{LimitedQuantity}', $LimitedQuantity, str_replace('{RandomPrice}', $RandomPrice, str_replace('{RandomQuantity}', $RandomQuantity, $Quests[$SelectedQuestionNo][1])));
- $solvedAnswer = sprintf("%01.2f", round(eval('return ' . $returnAnswer . ';') / 5, 2) * 5);
- // print_a(['returnAnswer'=>$returnAnswer,
- // 'returnQuestion'=>$returnQuestion,
- // 'Selection1and2'=>$SelectedQuestionNo.'-'.$SelectedNameNo,
- // 'question'=>$returnAnswer,
- // 'evaled'=>$solvedAnswer]);
- $this->FormattedQuestionForm .= e107::getForm()->label("Round off to the nearest five cents. " . $returnQuestion) . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $this->FormattedQuestionForm .= e107::getForm()->text('q1', '', 80, ['placeholder' => 'Write answer here!', 'autocomplete' => "off"]) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('a1', '$' . $solvedAnswer) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('qc1', 1) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('question', "Round off to the nearest five cents. " . $returnQuestion) . "\n";
- }
- private function Fractions() {// needs to be multi part question
- require_once( __DIR__ . '/fraction/src/Fraction.php');
-
- $this->FormattedQuestionForm .= e107::getForm()->label('<b>Fractions, reduce to its simplest form to find the answers. (Answer as mixed fraction where possible.)</b>') . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $multiplier = rand(1, (int)($this->diff/4));
- $nominator = rand(1, (int)($this->diff/4));
- $denominator = rand(1, (int)($this->diff/4));
-
- $fract1 = new Fraction($nominator*$multiplier, $denominator*$multiplier);
-
- //print_a(['fraction1'=>(string)$fract1,'fraction2'=>(string)$fract2,'fraction3'=>(string)$fract3,]); // 1/2
-
- $this->FormattedQuestionForm .= e107::getForm()->label($nominator*$multiplier) . "<br/>\n";
- $this->FormattedQuestionForm .= "-------<br/>\n";
- $this->FormattedQuestionForm .= e107::getForm()->label($denominator*$multiplier) . "\n";
- $this->FormattedQuestionForm .= '</br></br>';
-
- $this->FormattedQuestionForm .= e107::getForm()->text('q1', '', 80, ['placeholder' => 'Write answer here!','autocomplete'=>"off"]) . "\n";
- $this->FormattedQuestionForm .= "-------<br/>\n";
- $this->FormattedQuestionForm .= e107::getForm()->text('q2', '', 80, ['placeholder' => 'Write answer here!','autocomplete'=>"off"]) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('a1', (int)($fract1->getNumerator())) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('a2', (int)($fract1->getDenominator())) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('qc1', 2) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('question', "Simplify " . $nominator*$multiplier . " over " . $denominator*$multiplier) . "\n";
- }
-
- // fractions greater lesser then ie. 1/2 > 1/3 ?
-
- function gA() {
-
- $this->FormattedQuestionForm = e107::getForm()->label('<b>General Knowledge</b>') . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $names = ['Joe', 'Mat', 'Dug', 'Adam', 'Will', 'Nick', 'Tim', 'Greg', 'Elliot'];
- $Quests = [['{Name1} ran {RandomQuantity}km. How many meters is that?'
- , '({RandomQuantity}*1000)','m'],
- ['{Name1} bought {RandomQuantity}m of string. How many centermeters did he buy?'
- , '({RandomQuantity}*100)','cm'],
- ['{Name1} ate {RandomQuantity}kg of roast beef. How many grams did he eat?'
- , '({RandomQuantity}*1000)','g'],
- ['{Name1} can build {RandomQuantity} cars a year. How many cars did he make last year?'
- , '({RandomQuantity})',''],
- ['{Name1} weighed {RandomQuantity}g of flux into a sample. How many mg did he weigh?'
- , '({RandomQuantity}*1000)','mg'],
- ['The perimeter of a square is {RandomQuantity} cm. What is the area of 2 such squares?'
- , '((({RandomQuantity}/4)*({RandomQuantity}/4))*2)','cm2'],
- ['{Name1} has ${RandomQuantity} and Silas has three times more than {Name1}. How much money do they have altogether?'
- , '"$".({RandomQuantity}+({RandomQuantity}*3))',''],
- ['The area of 2 squares is {RandomQuantity} cm². What is the area of 3 such squares?'
- , '(({RandomQuantity}/2)*3)','cm2'],
- //['A coffee costs $2.50. {Name1} spent $17.50. How many coffees did he buy?'
- // , '(2.5*{RandomQuantity})', '']
- //['An adult bus ticket costs $6.50 and a child ticket costs $4. How much would 2 adults and 5 children cost to take the bus?'
- // , '(({RandomQuantity}/2)*3)','cm2'],
- ];
- $RandomQuantity = sprintf("%01.1f", (float) rand(100, (int) ($this->diff / 6) * 100) / 100);
- $SelectedQuestionNo = array_rand($Quests);
- $SelectedNameNo = array_rand($names);
- $returnQuestion = str_replace('{RandomQuantity}', $RandomQuantity, str_replace('{Name1}', $names[$SelectedNameNo], $Quests[$SelectedQuestionNo][0]));
- $returnAnswer = str_replace('{RandomQuantity}', $RandomQuantity, $Quests[$SelectedQuestionNo][1]);
- $solvedAnswer = eval('return ' . $returnAnswer . ';');
- $this->FormattedQuestionForm .= e107::getForm()->label($returnQuestion) . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $this->FormattedQuestionForm .= e107::getForm()->text('q1', '', 80, ['placeholder' => 'Write answer here!', 'autocomplete' => "off"]) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('a1', $solvedAnswer.$Quests[$SelectedQuestionNo][2]) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('qc1', 1) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('question', $returnQuestion) . "\n";
-
- }
-
- }
- class MathYearTwo {
- // Todo finish questions
- public $enabled = true;
- public $FormattedQuestionForm;
- private $diff = 0;
- function __construct() {
- $sql = e107::getDb();
- $userName = e107::getUser()->getLoginName();
- $this->diff = $sql->retrieve('timekeeperStats', 'timekeeper_percent', 'timekeeper_username="' . $userName . '" AND timekeeper_yearLevel=1');
- //print_a([$this->diff,'e107_timekeeperStats', '*', 'timekeeper_username="' . $userName . '"']);
- if (!isset($this->diff)) {
- $this->diff = 20;
- }
- }
- public function RandomQuestion() {
- $methods = preg_grep('/[^RandomQuestion]/', get_class_methods($this));
- $RandomEnglishType = rand(2, count($methods));
- $function = $methods[$RandomEnglishType];
- //print_a(['FunctionName'=>'RandomQusetion','Methods'=>$methods,'RandomSelectionNo'=>$RandomEnglishType,'CurrentSelection'=>$function]);
- return $this->$function();
- }
- private function Time() {
- $this->FormattedQuestionForm .= e107::getForm()->label('<b>Time.</b>') . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $firstNumber = rand(1, (int) ($this->diff / 4));
- $secondNumber = rand(1, $firstNumber);
- $this->FormattedQuestionForm .= e107::getForm()->label($firstNumber) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->label(" ÷ " . $secondNumber) . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $this->FormattedQuestionForm .= e107::getForm()->text('q1', '', 80, ['placeholder' => 'Write answer here!', 'autocomplete' => "off"]) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('a1', (int) ($firstNumber / $secondNumber)) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('qc1', 1) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('question', $firstNumber . " ÷ " . $secondNumber . "=") . "\n";
- }
- }
- //////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////
- //////// English
- //////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////
- class EnglishYearOne {
- // Todo finish questions
- public $enabled = false;
- public $FormattedQuestionForm;
- public function RandomQuestion() {
- $methods = preg_grep('/[^RandomQuestion]/', get_class_methods($this));
- $RandomEnglishType = rand(1, count($methods));
- $function = $methods[$RandomEnglishType];
- $this->$function();
- }
- private function Spelling() {
- include_once './resources/spellingLists.php';
- //print_a($wordsList);
- $words = [
- ['action', 'I like to watch action movies.'],
- ['actor', 'I thought the actor was good in that movie.'],
- ['actually', 'Did you actually think that would work.'],
- ['addition', 'Did you know addition is part of maths.'],
- ['agreed', 'I thought we agreed not to fight.'],
- ['allowed', 'Are you allowed to do that.'],
- ['aloud', 'Say your name out aloud.'],
- ['amendment', 'Do you know your first amendment rights.'],
- ['amount', 'What amount did you pay for that.'],
- ['amusement', 'Are you going on the amusement rides later.'],
- ['annual', 'Your birthday is an annual event.'],
- ['appointed', 'Do you know who the appointed prime minister is.'],
- ['arrange', 'Lets arrange to meet tomorrow afternoon.'],
- ['attention', 'Are you paying attention to what was just said.'],
- ['awhile', 'Could you wait awhile please.'],
- ['beginning', 'Did you understand the beginning of that movie.'],
- ['bruise', 'Did you get a bruise while playing sport.'],
- ['business', 'What kind of business would you like to open.'],
- ['calves', 'Did you see all the calves in the paddock.'],
- ['capital', 'Canberra is the capital city of Australia.'],
- ['capitol', 'The capitol building is where a legislature meets.'],
- ['captain', 'Did you see the captain of this ship.'],
- ['carefully', 'Walk down the stairs carefully so you don\'t fall.'],
- ['caught', 'The cat caught the mouse.'],
- ['cause', 'What do you think the cause of that is.'],
- ['celebrate', 'How do you want to celebrate your birthday.'],
- ['century', 'A century is one hundred years.'],
- ['chemical', 'What kind of chemical is lemon juice.'],
- ['chocolate', 'Would you like some chocolate ice cream.'],
- ['circle', 'Can you draw a circle neatly.'],
- ['climate', 'The weather is part of the climate.'],
- ['climbed', 'The hiker climbed up the hill.'],
- ['collar', 'My dog has a collar that he wears.'],
- ['column', 'Did you read the news column yesterday.'],
- ['company', 'What kind of company would you like to start.'],
- ['condition', 'What condition is your car in.'],
- ['consider', 'Would you consider this fun.'],
- ['consonant', 'The distinction between consonant and vowel is not always clear.'],
- ['constant', 'In math a constant is a number that is fixed and known.'],
- ['continent', 'A continent is one of several very large landmasses.'],
- ['continued', 'Was your story continued from the last one.'],
- ['country', 'Which country would you like to visit next.'],
- ['course', 'Lets go to the race course today.'],
- ['crystal', 'Check out that crystal vase in the shop.'],
- ['current', 'What is the current weather where you are.'],
- ['curtain', 'Coult you open the curtain to let some light in.'],
- ['daughter', 'Does your daughter like ice cream.'],
- ['daytime', 'Is it daytime where you are.'],
- ['decided', 'I thought we decided to watch the movie.'],
- ['decimal', 'Do not forget the decimal place when doing math.'],
- ['delicious', 'That was a delicious apple pie.'],
- ['desert', 'Do not desert your army unit.'],
- ['dessert', 'we made a dessert of chocolate mousse.'],
- ['details', 'You need to give more details so people understand.'],
- ['determine', 'You need to determine why that happened.'],
- ['dictionary', 'A dictionary lists words and their meanings.'],
- ['difference', 'Can you see the difference between the two dogs.'],
- ['different', 'Do you know which is the different picture.'],
- ['difficult', 'It is very difficult to copy a painting perfectly.'],
- ['direction', 'Are you sure this is the right direction to take.'],
- ['disappoint', 'You could disappoint me if you get this wrong.'],
- ['division', 'I am not very good at long division in math.'],
- ['eighth', 'This is the eighth day of the month.'],
- ['election', 'Who did you vote for in the election today.'],
- ['elements', 'Do you know the periodic table of elements in science.'],
- ['energy', 'Do you have the energy to participate in another race.'],
- ['enjoyment', 'Do you find enjoyment getting these answers right.'],
- ['equal', 'What is equal to one plus one.'],
- ['equation', 'A math equation can be fun to figure out.'],
- ['errands', 'What errands do you have to run today.'],
- ['exact', 'Please be exact with your answers.'],
- ['except', 'I have finished all the letters except one.'],
- ['expect', 'I expect you to get this question right.'],
- ['explain', 'Please explain yourself clearly.'],
- ['explode', 'Bombs can explode even when not set off.'],
- ['express', 'Did you send your letter via express post.'],
- ['factory', 'What happened at the toy factory today.'],
- ['fault', 'There was a fault in the manufacturing process.'],
- ['favorite', 'What is your favorite ice cream.'],
- ['finally', 'We finally finished all of out studies today.'],
- ['finished', 'We finally finished all of out studies today.'],
- ['forward', 'Pushing up on the control makes the car move forward.'],
- ['fought', 'You fought with your brother again.'],
- ['fraction', 'What fraction of your class is boys.'],
- ['furniture', 'Should we go to the furniture store today.'],
- ['future', 'I the future you will be better at this.'],
- ['general', 'The arrangements were outlined in very general terms.'],
- ['government', 'Most countries have a government to run them.'],
- ['graceful', 'The girl was very graceful as she moved across the room.'],
- ['graph', 'Did you see the bar graph at the convention.'],
- ['grasp', 'Do you have a grasp on the topic at hand.'],
- ['grease', 'You can use grease to lubricate machinery.'],
- ['grown-ups', 'I do not like it when grown-ups get all serious.'],
- ['guest', 'Would you show our guest to his room.'],
- ['guide', 'Did you follow the guide during the tour.'],
- ['happened', 'What happened to your knee.'],
- ['happily', 'He happily went to school this morning.'],
- ['harvest', 'The farmer was happy the harvest went well this year.'],
- ['healthy', 'The baby was healthy when he was born.'],
- ['height', 'What is the height of that tree over there.'],
- ['hoarse', 'The grumpy old man has a hoarse voice.'],
- ['human', 'Pet food is not fit for human consumption.'],
- ['idea', 'Do you have any idea how he got up there.'],
- ['imagine', 'Can you imagine how much fun that would be.'],
- ['include', 'Remember to include your brother when you are playing games.'],
- ['increase', 'Can you increase the temperature as I am feeling cold.'],
- ['indicate', 'Sales indicate a growing market for such art.'],
- ['information', 'What information do you need.'],
- ['instrument', 'What is your favorte musical instrument to play.'],
- ['intention', 'What is your intention with that foam sword.'],
- ['interesting', 'The news was very interesting today.'],
- ['inventor', 'Do you know the inventor that created the light bulb.'],
- ['island', 'Australia is the largest island in the world.'],
- ['jewel', 'She was the jewel of his eye.'],
- ['journey', 'I am embarking on a journey around the world.'],
- ['jungle', 'The tree tops of the jungle make a canopy.'],
- ['knives', 'I bought a block of knives from the home store.'],
- ['known', 'He was well known throughout the land.'],
- ['language', 'What other language do you speak.'],
- ['laughter', 'The audience bust into laughter while watching the comedian.'],
- ['length', 'How long was the length of string.'],
- ['limb', 'Did you break the tree limb while you were climbing it.'],
- ['located', 'Where is the school located on the map.'],
- ['lumber', 'We went to the lumber yard to buy some wood.'],
- ['major', 'The use of drugs is a major problem.'],
- ['mammal', 'Did you know every mammal is warm blooded.'],
- ['manufacture', 'Do you know where they manufacture those toys.'],
- ['material', 'What material is her dress made of.'],
- ['mayor', 'Did you see the mayor of the city.'],
- ['measure', 'You can use a ruler to measure things.'],
- ['melody', 'Can you play a melody on the flute.'],
- ['members', 'Do you know who the members of parliment are.'],
- ['memories', 'Do you have good memories of your last holiday.'],
- ['message', 'What message would you like to pass.'],
- ['method', 'What method do you use to remember things.'],
- ['million', 'I would love to have one million dollars.'],
- ['minor', 'That was only a minor car crash.'],
- ['modern', 'Do you like modern art.'],
- ['mountain', 'Can you see the mountain in the distance.'],
- ['music', 'What kind of music do you like.'],
- ['natural', 'Carrots contain a natural antiseptic.'],
- ['necessary', 'The council granted the necessary planning permission.'],
- ['neither', 'He didn\'t remember, and neither did I.'],
- ['newspaper', 'The local newspaper had the story.'],
- ['northern', 'The cliff protects the bay from the northern winds.'],
- ['notebook', 'Make sure you write it down in your notebook so you don\'t forget.'],
- ['notice', 'The jobs were advertised in a notice posted in the newspaper.'],
- ['noun', 'Example of a noun is a "toothbrush".'],
- ['numeral', 'Do you know what the roman numeral "X" stands for.'],
- ['object', 'Disease became the object of investigation.'],
- ['observe', 'Shouldn\'t you observe what the teacher is showing.'],
- ['opposite', 'Whats the opposite of left.'],
- ['orphan', 'An orphan is a child without parents.'],
- ['ought', 'Five minutes ought to be enough time,'],
- ['outside', 'Do you want to go outside to play.'],
- ['oxygen', 'There is oxygen in the air we breathe.'],
- ['paid', 'I paid the bill using my key card.'],
- ['paint', 'Could you help me paint the house.'],
- ['paragraph', 'Did you read the whole paragraph of the story.'],
- ['pattern', 'What pattern is that on your shirt.'],
- ['pause', 'Can you pause your movie for a minute to help me.'],
- ['payment', 'How did you make the payment while shopping.'],
- ['perhaps', 'Would you perhaps consent to act as our guide.'],
- ['period', 'The Cretaceous period was a time that dinosaurs existed.'],
- ['permit', 'Some places require a parking permit to park there.'],
- ['phone', 'Did someone call your phone just now.'],
- ['phrase', 'Could you repeat that phrase again.'],
- ['pleasant', 'Try to be pleasant when talking to people.'],
- ['pleasure', 'She smiled with pleasure at being praised.'],
- ['plural', 'The plural of a word eans there is more than one.'],
- ['poison', 'Be careful as there is poison in that bottle.'],
- ['position', 'What position would you like to play as.'],
- ['possible', 'I did not think that was possible in this game.'],
- ['practice', 'You need lots of practice to get good at things.'],
- ['prepared', 'Make sure you are well prepared for the test later.'],
- ['president', 'Do you know who is the president of the European Union.'],
- ['probably', 'She would probably never see him again.'],
- ['problem', 'What seems to be the problem that you are experiencing.'],
- ['process', 'The manufacturing process is relatively simple.'],
- ['produce', 'The produce of a farm is fruit and vegetables.'],
- ['program', 'An extensive program of reforms.'],
- ['promise', 'I promise to do my studies later.'],
- ['property', 'She wanted Oliver and his property out of her flat.'],
- ['protection', 'Make sure you have protection on when you go out to play.'],
- ['provide', 'Can you provide more details please.'],
- ['puzzle', 'Did you solve the puzzle yesterday.'],
- ['quickly', 'Can you quickly answer the question.'],
- ['quietly', 'Can you quietly answer the question.'],
- ['radio', 'What radio station are you listening to.'],
- ['raise', 'You can raise chickens for eggs.'],
- ['rarely', 'You rarely find gold on the ground.'],
- ['rather', 'She has been behaving rather strangely.'],
- ['reached', 'The boy reached out to catch the ball.'],
- ['receive', 'Did you receive your letter of approval.'],
- ['record', 'We should record a song together.'],
- ['region', 'What region do you live in.'],
- ['relax', 'Try to relax at the spa later.'],
- ['remain', 'Try to remain impartial in the debate.'],
- ['remove', 'Can you remove your toys from the kitchen.'],
- ['repay', 'Just repay me when you get the money.'],
- ['repeat', 'Can you repeat what you just said.'],
- ['report', 'What did your school report say.'],
- ['represent', 'The lawyer can represent you in court.'],
- ['respond', 'Please respond when someone speaks to you.'],
- ['result', 'What is the result of the test.'],
- ['rhythm', 'Do you like the rhythm of this song.'],
- ['rising', 'I think the tide is rising quickly.'],
- ['ruin', 'Do not drag your feet or you will ruin your shoes.'],
- ['salad', 'Would you like some salad with dinner.'],
- ['sandal', 'A sandal is a type of open toed shoe.'],
- ['scale', 'I found a scale in my fish soup.'],
- ['scent', 'A flowers scent can be beautiful.'],
- ['schedule', 'The train follows a strict schedule of stops.'],
- ['science', 'Do you like science at school.'],
- ['section', 'What section of the class are you in.'],
- ['separate', 'Keep the ingredients separate until you are told to mix them.'],
- ['service', 'We need to send the car for service later today.'],
- ['settled', 'When the class settled the teacher started teaching.'],
- ['several', 'When several students misbehave the teacher gets mad.'],
- ['shadow', 'A sundial uses a shadow to tell the time.'],
- ['shelter', 'We better get to shelter before the storm get here.'],
- ['shoulder', 'The man carried the log on his shoulder because it was heavy.'],
- ['shouted', 'The man shouted at the kids to stay out of the worksite.'],
- ['shower', 'Remember to have a shower before going to bed.'],
- ['signal', 'Remember to signal when turning the corner.'],
- ['similar', 'That bike looks similar to yours.'],
- ['sincerely', 'I sincerely hope you get this right.'],
- ['single', 'She wrote down every single word.'],
- ['size', 'What size clothes do you wear.'],
- ['slippery', 'Be careful as the shower is slippery when wet.'],
- ['soar', 'The eagle can soar high in the sky.'],
- ['soil', 'The farmer needed to order more soil for his farm.'],
- ['solution', 'The solution to the puzzle is on the back page.'],
- ['solve', 'Can you solve that puzzle.'],
- ['southern', 'Australia is in the southern hemisphere.'],
- ['split', 'The man used the axe to split the wood.'],
- ['spoiled', 'What a spoiled little brat.'],
- ['sports', 'What sports do you like to play.'],
- ['square', 'Is that a square or a triangle.'],
- ['squeeze', 'Do you like to squeeze the juice out of oranges.'],
- ['stain', 'Be careful as chocolate can stain very badly.'],
- ['state', 'Do you know what state you live in.'],
- ['statement', 'The police gave a statement about crime.'],
- ['station', 'The trian stopped at the station to pick up passengers.'],
- ['steer', 'The driver can steer the car around.'],
- ['stomach', 'My stomach is painful after eating too much.'],
- ['stopping', 'Caution, frequently stopping vehicle.'],
- ['straight', 'I can see straight down the road.'],
- ['straighten', 'I got the hair dresser to straighten my hair.'],
- ['stream', 'I like to sit by the stream and read a book.'],
- ['stretched', 'Wear your jumper properly so it doesn\'t get stretched further.'],
- ['suggest', 'I suggest you pay attention to your studies.'],
- ['suitcase', 'Have you packed your suitcase for the trip.'],
- ['sunset', 'I would live to watch the sunset over the ocean.'],
- ['supply', 'The army supply depot ran out of bullets.'],
- ['sure', 'Are you sure you want to do that.'],
- ['surface', 'The surface of the salt lake is very flat.'],
- ['surprise', 'The announcement came as a complete surprise to all of us.'],
- ['surround', 'The army tried to surround the enemy.'],
- ['sweater', 'It is cold outside, you should put your sweater on.'],
- ['syllable', 'Can you name a two syllable word.'],
- ['syrup', 'What kind of syrup would you like on your pancakes.'],
- ['tablet', 'Do you like using a tablet computer.'],
- ['tasty', 'Would you like a bite of my tasty pie.'],
- ['teaspoon', 'Could you get a teaspoon for my coffee please.'],
- ['terrible', 'Your brother can make a terrible mess at times.'],
- ['though', 'You will be informed of its progress, slow though that may be.'],
- ['thoughtful', 'That was a very thoughtful gift to give.'],
- ['thrown', 'The ball was thrown into the play area.'],
- ['tornado', 'The tornado destroyed alot of houses.'],
- ['toward', 'Move toward your brother so we can take the photo.'],
- ['traffic', 'The traffic down town is quite busy.'],
- ['trail', 'Please keep to the trail while bush walking.'],
- ['treasure', 'The treasure map has a big "X" on it.'],
- ['treatment', 'You may need to go to hospital for treatment of your injuries.'],
- ['triangle', 'A triangle is a shape that has three sides.'],
- ['trouble', 'Try to stay out of trouble while playing.'],
- ['tunnel', 'The train goes through a tunnel to cross the mountian.'],
- ['type', 'What type of food do you like to eat.'],
- ['understood', 'I hope you understood the directions.'],
- ['unknown', 'Exploration into unknown territory can be exciting.'],
- ['usually', 'I usually go to the shops early in the morning.'],
- ['value', 'What is the value of your house.'],
- ['various', 'There are various ways to learn.'],
- ['warn', 'Did you warn your friends about the wasp nest.'],
- ['weigh', 'Can you weigh yourself on the scales.'],
- ['weight', 'What is your weight on the scales.'],
- ['weird', 'Thats a weird way to do things.'],
- ['western', 'There will be showers in some western areas.'],
- ['whisper', 'Can you whisper the answer to me.'],
- ['whoever', 'Thank you whoever you are.'],
- ['whole', 'Would you like a whole apple.'],
- ['whose', 'I wonder whose shoes those are.'],
- ['wives', 'The wives went shopping together.'],
- ['women', 'The women had a meet up at the local coffee shop.'],
- ['wonderful', 'It is a wonderful day outside.'],
- ['wound', 'The guy had a gun wound after he was shot.'],
- ['wreck', 'We are going diving at the ship wreck.'],
- ['x-ray', 'Did they x-ray your broken arm.'],
- ['yesterday', 'What did you do yesterday after school.'],
- ];
- // $words = [
- // ['Actor','The movie had some good actors in it.'],
- // ['addition','Can you do addition.'],
- // ['advice','Can I give you some advice on how to beat the game.'],
- // ['against','Today you will be playing against a team.'],
- // ['ahead','If you study hard you can get ahead of your class.'],
- // ['amount','What is the amount of money you need to buy something.'],
- // ['annual','Christmas is an annual event.'],
- // ['answer','You need to answer this question.'],
- // ['apiece','The cupcakes are two dollars apiece.'],
- // ['argue','You should not argue with your parents.'],
- // ['author','Did you see who the author of that book is.'],
- // ['avoid','You should avoid making mistakes.'],
- // ['beetle','There was a beetle in the garden.'],
- // ['borrow','Can I borrow your book.'],
- // ['breath','Take a deep breath and calm down.'],
- // ['calm','Keep calm while talking to people.'],
- // ['canal','Can you see all the water in the canal.'],
- // ['cannon','The army has a big cannon.'],
- // ['central','The post office is in a central location.'],
- // ['charge','You need to charge your phone.'],
- // ['collar','Your shirt has a collar.'],
- // ['continue','Can you continue reading your book.'],
- // ['creation','What kind of creation are you working on.'],
- // ['cried','I cried when my brother hit me.'],
- // ['daily','The daily paper had some bad news in it.'],
- // ['decorator','The decorator did a good job with this room.'],
- // ['device','A tape measure is a device used for measuring lenghts.'],
- // ['direction','Which direction is north.'],
- // ['earthquake','The earthquake was very scary.'],
- // ['enough','When you have had enough to eat you may leave the table.'],
- // ['excuse','You need a better excuse to get out of studying.'],
- // ['fraction','Your math has one more fraction left until its finished.'],
- // ['furniture','The furniture shop sells some nice tables.'],
- // ['ghost','The ghost scared everyone that night.'],
- // ['guess','Try to guess what im holding behind my back.'],
- // ['ignore','When someone calls you names just ignore them.'],
- // ['island','There is an island just off the coast.'],
- // ['journal','You can keep a journal of things you have done.'],
- // ['judge','You should be able to judge how far away the car is.'],
- // ['kept','He kept his promise to play after school.'],
- // ['ledge','Please stay away for the ledge so you dont fall off.'],
- // ['lettuce','Would you like lettuce on your burger.'],
- // ['manage','If you manage to finish your studies you can play.'],
- // ['mention','Dont mention to your friends about the movie on tonight.'],
- // ['narrate','You need to narrate the movie we are making.'],
- // ['nineteen','Runner nineteen won the race.'],
- // ['noisy','The neighbours can be very noisy at times.'],
- // ['often','Try not to make mistakes too often.'],
- // ['palm','Palm trees like to grow near the beach.'],
- // ['people','There are lots of people at the station.'],
- // ['portion','You can have a portion of the pie for dinner.'],
- // ['praise','The teacher will praise you if you do a good job.'],
- // ['remark','The teacher left a remark on my report card.'],
- // ['repair','The mechanic knows how to repair the car.'],
- // ['royal','The queen is part of the royal family.'],
- // ['shear','Do you know how to shear a sheep.'],
- // ['slept','The baby slept most of the day.'],
- // ['station','The train stops at the station to pick up passengers.'],
- // ['steam','The steam engine runs on steam.'],
- // ['strange','Its strange that you dont like sweets.'],
- // ['stretch','Can you stretch up and reach the roof.'],
- // ['sweat','It so hot outside that it will make you sweat.'],
- // ['terrible','Sometimes little borthers and sisters can make a terrible mess.'],
- // ['themselves','Some people only think of themselves.'],
- // ['thirsty','If you dont drink you will be thirsty.'],
- // ['throne','The queen sits on a throne.'],
- // ['tried','I tried to study hard.'],
- // ['trouble','If you dont do as you ar told you will get into trouble.'],
- // ['understand','If you dont understand what I said then I can repeat it.'],
- // ['until','You must study until you understand the subject.'],
- // ['vacation','The vacation we had in asia was fun.'],
- // ['visitor','If you go to see someone at their house you are a visitor.'],
- // ['vocal','If someone shares their opinion they are being vocal.'],
- // ['wander','If you wander aroud the shopping centre you may get lost.'],
- // ['weave','Do you know how to weave a basket.'],
- // ['whenever','You can ask for help whenever you need it.'],
- // ['whole','Can you really put the whole fork in your mouth.'],
- // ];
- // $words = ['add', 'after', 'again', 'any', 'apple', 'arm', 'banana', 'bark', 'been', 'being', 'bent', 'best', 'bone', 'black', 'block', 'blue', 'bring', 'brown', 'bush', 'came', 'cane', 'card', 'cart', 'case', 'chain', 'chair', 'chalk', 'chat', 'chin', 'chop', 'clam', 'clan', 'clap', 'claw', 'clay', 'clean', 'cool', 'dark', 'desk', 'drop', 'end', 'family', 'fang,fast', 'fell', 'few', 'fill', 'flag', 'flat', 'fool', 'foot', 'fort', 'free', 'fresh', 'from', 'glad', 'golf', 'gone', 'grit', 'hand', 'hang', 'happy', 'harm', 'help', 'here', 'hide', 'hill', 'hint', 'hope', 'horn', 'how', 'ill', 'into', 'jaw', 'joke', 'just', 'keep', 'king', 'last', 'line', 'look', 'luck', 'made', 'many', 'meal', 'must', 'nice', 'new', 'next', 'odd', 'put', 'quit', 'rang', 'space', 'said', 'time', 'was', 'yard', 'yarn',
- // 'baseball', 'brother', 'can\'t', 'clover', 'cloud', 'crayon', 'club', 'coat', 'come', 'cookie', 'could', 'crow', 'cube', 'cupcake', 'deal', 'dew', 'didn\'t', 'dime', 'dine', 'dirt', 'doll', 'don\'t', 'door', 'draw', 'dream', 'dress', 'drink', 'dull', 'each', 'east', 'easy', 'eight', 'eleven', 'every', 'father', 'field', 'fine', 'first', 'flew', 'flower', 'friend', 'globe', 'going', 'grape', 'grass', 'grew', 'heavy', 'I\'m', 'it\'s', 'know', 'marker', 'maybe', 'milk', 'morning', 'mother', 'myself', 'much', 'never', 'notebook', 'other', 'over', 'paper', 'pencil', 'pretty', 'rabbit', 'school', 'seven', 'sew', 'shirt', 'sister', 'smell', 'stray', 'string', 'summer', 'start', 'swing', 'table', 'thank', 'thrift', 'twelve', 'twist', 'under', 'very', 'water', 'were', 'where', 'won\'t', 'yellow', 'zebra', 'zero',
- // 'always', 'animal', 'around', 'because', 'before', 'believe', 'between', 'bread', 'bright', 'busy', 'cannot', 'caught', 'charge', 'clapped', 'clean', 'chicken', 'children', 'doctor', 'does', 'goes', 'everyone', 'everywhere', 'flight', 'inside', 'juice', 'kitchen', 'laughter', 'lunchroom', 'nobody', 'once', 'orange', 'outside', 'piece', 'purple', 'raise', 'round', 'shoes', 'today', 'used', 'weak', 'week', 'whale', 'which', 'while', 'wool', 'yesterday'];
- //$RandomEnglishWord = $words[rand(1, count($words))];
- $RandomEnglishWord = $words[array_rand($words)];
- //exec('espeak -ven+f3 -k5 -s125 -w"./audio/'.$RandomEnglishWord[0].'.wav" "Spell the word, '.$RandomEnglishWord[0].'. '.$RandomEnglishWord[1].'"');
- //./audio/flite-2.0.0-release/bin/flite -voice ./audio/voices/cmu_us_aew.flitevox -o "./audio/'.$RandomEnglishWord[0].'.wav" "Spell the word, '.$RandomEnglishWord[0].'. '.$RandomEnglishWord[1].'"');
- exec('./audio/flite-2.0.0-release/bin/flite -voice ./audio/voices/cmu_us_aew.flitevox -o "./audio/' . $RandomEnglishWord[0] . '.wav" "Spell the word, ' . $RandomEnglishWord[0] . '. ' . $RandomEnglishWord[1] . '"');
- //print_a([exec('ls ./audio/'),$RandomEnglishWord]);
- $this->FormattedQuestionForm .= "<audio controls><source src='audio/" . $RandomEnglishWord[0] . ".wav' type='audio/wav'>Your browser does not support the audio element.</audio> ";
- $this->FormattedQuestionForm .= e107::getForm()->text('q1', '', 80, ['placeholder' => 'Write answer here!', 'autocomplete' => "off"]);
- $this->FormattedQuestionForm .= e107::getForm()->hidden('a1', $RandomEnglishWord[0]);
- $this->FormattedQuestionForm .= e107::getForm()->hidden('qc1', 1);
- $this->FormattedQuestionForm .= e107::getForm()->hidden('question', "Spell the word " . $RandomEnglishWord[0] . "");
- }
- }
- class EnglishYearTwo {
- // Todo finish questions
- public $enabled = false;
- public function RandomQuestion() {
- $methods = preg_grep('/[^RandomQuestion]/', get_class_methods($this));
- $RandomEnglishType = rand(1, count($methods));
- $function = $methods[$RandomEnglishType];
- $this->$function();
- }
- //centry
- //mellenium etc...
- private function Nouns() {
- $this->FormattedQuestionForm .= e107::getForm()->label('<b>Nouns.</b>') . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $firstNumber = rand(1, (int) ($this->diff / 4));
- $secondNumber = rand(1, $firstNumber);
- $divNumber = $firstNumber * $secondNumber;
- $this->FormattedQuestionForm .= e107::getForm()->label($divNumber) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->label(" ÷ " . $secondNumber) . "\n";
- $this->FormattedQuestionForm .= '</br>';
- $this->FormattedQuestionForm .= e107::getForm()->text('q1', '', 80, ['placeholder' => 'Write answer here!', 'autocomplete' => "off"]) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('a1', (int) ($divNumber / $secondNumber)) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('qc1', 1) . "\n";
- $this->FormattedQuestionForm .= e107::getForm()->hidden('question', $divNumber . " ÷ " . $secondNumber . "=") . "\n";
- }
- private function SingularPluralNouns() {
-
- }
- private function CountableUncountableNouns() {
-
- }
- private function Pronouns() {
-
- }
- private function Possession() {
-
- }
- private function Agreement() {
-
- }
- private function Adjectives() {
-
- }
- private function ComparisonOfAdjectives() {
-
- }
- private function DefiniteIndefiniteArticles() {
-
- }
- private function SomeAndAny() {
-
- }
- private function FormsOfVerbs() {
-
- }
- private function TheVerbToBe() {
-
- }
- private function SimplePresentTense() {
-
- }
- private function PresentConttinuousTense() {
-
- }
- private function PresentPerfectTense() {
-
- }
- private function SimplePastTense() {
-
- }
- private function PastContinuousTense() {
-
- }
- private function SimpleFutureAndGoingToForm() {
-
- }
- private function ConditionalIf() {
-
- }
- private function Adverbs() {
-
- }
- private function ComparisonOfAdverbs() {
-
- }
- private function JoiningSentences() {
-
- }
- private function Conjuctions() {
-
- }
- private function PositiveNegativeSentences() {
-
- }
- private function ShortForms() {
-
- }
- private function QuestionWords() {
-
- }
- private function QuestionTags() {
-
- }
- private function ShortAnswersReplies() {
-
- }
- private function Prepositions() {
-
- }
- private function Punctuation() {
-
- }
- }
- //
- // check to see if a question has been correct 10 time in a row and then perfere it less.
- class Question_Engine_2 {
- public $QuestionArray;
- ////////////////////////////////////////////////////////////////////////////
- /// Construct and main entry point.
- ////////////////////////////////////////////////////////////////////////////
- // Construct Question_Engine inital values
- public function __construct($subject, $difficulty) {
- // Set QuestionArray array and subject as first value
- $this->QuestionArray = ['subjectMajor' => $subject];
- // Add difficulty to QuestionArray
- $this->QuestionArray['difficulty'] = $difficulty;
- }
- // Main entry point to the question generator.
- public function generate() {
- $tmp = ['test' => $this->generalKnowledge(),];
- $tmp['test'];
- // Call sub question generator for major subject
- switch ($this->subject) {
- // Call question fetcher directly as there is no sub sections
- case "general":
- $this->generalKnowledge();
- break;
- // Call sub generate to select a minor subject
- case "math":
- $this->subGenerateMath();
- break;
- case "math":
- $this->subGenerateMath();
- break;
- case "math":
- $this->subGenerateMath();
- break;
- case "math":
- $this->subGenerateMath();
- break;
- case "math":
- $this->subGenerateMath();
- break;
- case "math":
- $this->subGenerateMath();
- break;
- case "math":
- $this->subGenerateMath();
- break;
- case "math":
- $this->subGenerateMath();
- break;
- }
- // 'english' => 0,
- // 'pePd' => 0, //health-and-physical-education
- // 'socialStudies' => 0, //humanities-and-social-sciences
- // 'languages' => 0,
- // 'science' => 0,
- // 'technologies' => 0,
- // 'art' => 0,
- // Debug line TODO remove once tested.
- print_a(['subject' => $this->subject, 'difficulty' => $this->difficulty]);
- }
- ////////////////////////////////////////////////////////////////////////////
- /// Sub generate functions for minor subjects
- ////////////////////////////////////////////////////////////////////////////
- //
- private function subGenerateMath() {
- switch ($this->subject) {
- case $value:
- break;
- default:
- break;
- }
- print_a(['subject' => $this->subject, 'difficulty' => $this->difficulty]);
- }
- ////////////////////////////////////////////////////////////////////////////
- /// Raw question fetchers
- ////////////////////////////////////////////////////////////////////////////
- // Fetch and return question from DB questions
- private function generalKnowledge() {
- //array_rand($array);
- }
- //english (spelling)
- //english (syntax)
- //english (comprehention)
- private function math() {
-
- }
- private function mathGeneral() {
-
- }
- private function mathUnits() {
-
- }
- //science
- //technolegy
- //geography
- //
- }
|