RPG attributes generator: Difference between revisions

Content added Content deleted
(add FreeBASIC)
Line 1,349: Line 1,349:
var g3 = []
var g3 = []
for i in 0..33 {
for i in 0..33 {
g3.add(rnd(max = n) + 1)
g3.add(rnd(max: n) + 1)
}
}
g3.sort()
g3.sort()
Line 1,355: Line 1,355:
g3
g3
}
}

func getSix() {
func getSix() {
var g6 = []
var g6 = []
Line 1,363: Line 1,363:
g6
g6
}
}

func Array.sum() {
func Array.sum() {
var acc = 0
var acc = 0
Line 1,371: Line 1,371:
acc
acc
}
}

func Array.findAll(pred) {
func Array.findAll(pred) {
for x in this when pred(x) {
for x in this when pred(x) {
Line 1,379: Line 1,379:
var good = false
var good = false

while !good {
while !good {
var gs = getSix()
var gs = getSix()
var gss = gs.sum()
var gss = gs.sum()
var hvc = gs.findAll(x => x > 14).len()
var hvc = gs.findAll(x => x > 14).len()
print("attribs: \(String.join(gs, separator = ", ")), sum=\(gss), (\(if gss >= 75 { "good" } else { "low" }) sum, high vals=\(hvc))", terminator = "")
print("attribs: \(String.join(gs, separator: ", ")), sum=\(gss), (\(if gss >= 75 { "good" } else { "low" }) sum, high vals=\(hvc))", terminator: "")
good = gs.sum() >= 75 && hvc > 1
good = gs.sum() >= 75 && hvc > 1
print(" - " + (if good { "success" } else { "failure" }))
print(" - " + (if good { "success" } else { "failure" }))