Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
- && ADDING THE TAFEL CONTROLS TO THE FORM
- &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
- LOCAL lnNumbers AS Integer, lnY, llOmgedraaid, lnRand, lnRand2
- DIMENSION laTafels[THISFORM.lnvragen,3], laRand[ALEN(laTafels),3], laUsedTafels[thisform.lntafel,3]
- lnNumbers = 0
- lnY = 1
- llOmgedraaid = .F.
- lnRand = 0
- lnRand2 = 0
- &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
- && IF THE USER CHECKED THE OPTION
- && TO PRACTICE EVERY TAFEL
- &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
- FOR lnX = 2 TO THISFORM.lntafel
- laUsedTafels[lnX-1,1] = lnX
- laUsedTafels[lnX-1,2] = 0
- laUsedTafels[lnX-1,3] = 0
- ENDFOR
- && Initialize values
- && lnAvg
- &&
- lnAvg = THISFORM.lnvragen / THISFORM.lntafel
- lnCurrentTafel = 2
- lnTeveelVragen = (lnAvg - FLOOR(lnAvg)) * THISFORM.lnTafel
- lnAvg = FLOOR(lnAvg)
- lnCheatVraag = 1
- lnAvgOmgedraaid = lnAvg / 2
- llOmgedraaid = .F.
- IF !THISFORM.llelketafel THEN
- lnCurrentTafel = THISFORM.lntafel
- ENDIF
- FOR lnX = 1 TO THISFORM.lnvragen
- && Generate random number
- lnRand = INT(VAL(RIGHT(TRANSFORM(RAND()*SEC(DATETIME())),1)))
- IF lnRand == 0 THEN
- lnRand = 10
- ENDIF
- && Add exceptions to the random number
- Do Case
- CASE lnRand == 0
- lnRand = 10
- CASE lnRand == 1
- lnRand = 2
- EndCase
- IF !THISFORM.llnormaal THEN
- IF lnAvgOmgedraaid == lnCheatVraag THEN
- llOmgedraaid = .T.
- ENDIF
- ENDIF
- && If the current question exceeds the average amount of questions per tafel, go to the next tafel
- IF lnCheatVraag >= lnAvg AND THISFORM.llelketafel AND lnCurrentTafel < THISFORM.lntafel THEN
- lnCheatVraag = 1
- lnCurrentTafel = lnCurrentTafel + 1
- llOmgedraaid = .F.
- ENDIF
- && If llOmgedraaid, add a turned question, otherwise add a regular question
- IF llOmgedraaid THEN
- laTafels[lnX,1] = .F.
- laTafels[lnX,2] = lnCurrentTafel
- laTafels[lnX,3] = lnCurrentTafel * lnRand
- ELSE
- laTafels[lnX,1] = lnRand
- laTafels[lnX,2] = lnCurrentTafel
- laTafels[lnX,3] = .F.
- ENDIF
- && If the average amount of questions per tafel is not rounded, gradually add the leftover questions
- IF lnTeveelVragen > 0 THEN
- laTafels[lnX,1] = lnRand
- laTafels[lnX,2] = lnCurrentTafel
- laTafels[lnX,3] = .F.
- lnTeveelVragen = lnTeveelVragen - 1
- ENDIF
- && Increase the amount of questions to check for averages
- lnCheatVraag = lnCheatVraag + 1
- ENDFOR
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement