FUNCTION min(a, b) IF a < b THEN LET min = a ELSE LET min = b END FUNCTION FUNCTION d6 LET d6 = 1 + INT(RND * 6) END FUNCTION FUNCTION rollstat LET a = d6 LET b = d6 LET c = d6 LET d = d6 LET rollstat = a + b + c + d - min(min(a, b), min(c, d)) END FUNCTION DIM statnames$(6) DATA "STR", "CON", "DEX", "INT", "WIS", "CHA" FOR i = 1 TO 6 READ statnames$(i) NEXT i DIM stat(6) LET acceptable = 0 RANDOMIZE ! RANDOMIZE TIMER en QBasic DO LET sum = 0 LET n15 = 0 FOR i = 1 to 6 LET stat(i) = rollstat LET sum = sum + stat(i) IF stat(i) >= 15 THEN LET n15 = n15 + 1 NEXT i IF sum >= 75 AND n15 >= 2 THEN LET acceptable = 1 LOOP UNTIL acceptable = 1 FOR i = 1 to 6 PRINT statnames$(i); ": "; stat(i) NEXT i PRINT "--------" PRINT "TOT: "; sum END