def ab = [ ]
def hasM = [ : ]
hasM = [ count: 0 , per: 75 , won: "Won 100 Points" ]
ab << hasM
hasM = [ count: 0 , per: 15 , won: "Won 500 Points" ]
ab << hasM
hasM = [ count: 0 , per: 10 , won: "Won Bike" ]
ab << hasM
for ( int i= 1 ; i<= 2000 ; i++ ) {
def total = i
def val = 1
def percen = ( val* 100 ) / total
// println "percen > "+percen
if ( total == 1 ) {
println "This is " + i + " User and won " + ab[ 0 ] .won
ab[ 0 ] .count ++
} else {
// println ab
def t0 = ( ab[ 0 ] .per - ( percen * ab[ 0 ] .count ) )
def t1 = ( ab[ 1 ] .per - ( percen * ab[ 1 ] .count ) )
def t2 = ( ab[ 2 ] .per - ( percen * ab[ 2 ] .count ) )
// println t0+" "+t1+" "+t2
def chek
if ( t0 >= t1 && t0 >= t2) {
chek = 0
} else if ( t1 >= t2) {
chek = 1
} else {
chek = 2
}
if ( chek == 0 ) {
// println "This is "+ i +" User and won "+ab[0].won
ab[ 0 ] .count ++
} else if ( chek == 1 ) {
// println "This is "+ i +" User and won "+ab[1].won
ab[ 1 ] .count ++
} else if ( chek == 2 ) {
// println "This is "+ i +" User and won "+ab[2].won
ab[ 2 ] .count ++
}
}
}
println ab
ZGVmIGFiID0gW10KZGVmIGhhc00gPSBbOl0KaGFzTSA9IFtjb3VudDowLCBwZXI6NzUsIHdvbjoiV29uIDEwMCBQb2ludHMiXQphYiA8PCBoYXNNCmhhc00gPSBbY291bnQ6MCwgcGVyOjE1LCB3b246IldvbiA1MDAgUG9pbnRzIl0KYWIgPDwgaGFzTQpoYXNNID0gW2NvdW50OjAsIHBlcjoxMCwgd29uOiJXb24gQmlrZSJdCmFiIDw8IGhhc00KCglmb3IoaW50IGk9MTsgaTw9MjAwMDsgaSsrKXsKCQlkZWYgdG90YWwgPSBpCgkJZGVmIHZhbCA9IDEKCQlkZWYgcGVyY2VuID0gKHZhbCoxMDApL3RvdGFsCi8vCQlwcmludGxuICJwZXJjZW4gPiAiK3BlcmNlbgoJCWlmKHRvdGFsID09IDEpewoJCQlwcmludGxuICJUaGlzIGlzICIrIGkgKyIgVXNlciBhbmQgd29uICIrYWJbMF0ud29uCgkJCWFiWzBdLmNvdW50KysKCQl9ZWxzZXsKLy8JCQlwcmludGxuIGFiCgkJCWRlZiB0MCA9IChhYlswXS5wZXIgLSAocGVyY2VuICogYWJbMF0uY291bnQpKQoJCQlkZWYgdDEgPSAoYWJbMV0ucGVyIC0gKHBlcmNlbiAqIGFiWzFdLmNvdW50KSkKCQkJZGVmIHQyID0gKGFiWzJdLnBlciAtIChwZXJjZW4gKiBhYlsyXS5jb3VudCkpCi8vCQkJcHJpbnRsbiB0MCsiICIrdDErIiAiK3QyCgkJCWRlZiBjaGVrCgkJCWlmKHQwID49IHQxICYmIHQwID49IHQyKXsKCQkJCWNoZWsgPSAwCgkJCX1lbHNlIGlmKHQxID49IHQyKXsKCQkJCWNoZWsgPSAxCgkJCX1lbHNlewoJCQkJY2hlayA9IDIKCQkJfQoJCQlpZiggY2hlayA9PSAwKXsKLy8JCQkJcHJpbnRsbiAiVGhpcyBpcyAiKyBpICsiIFVzZXIgYW5kIHdvbiAiK2FiWzBdLndvbgoJCQkJYWJbMF0uY291bnQrKwoJCQl9ZWxzZSBpZihjaGVrID09IDEpewovLwkJCQlwcmludGxuICJUaGlzIGlzICIrIGkgKyIgVXNlciBhbmQgd29uICIrYWJbMV0ud29uCgkJCQlhYlsxXS5jb3VudCsrCgkJCX1lbHNlIGlmKGNoZWsgPT0gMil7Ci8vCQkJCXByaW50bG4gIlRoaXMgaXMgIisgaSArIiBVc2VyIGFuZCB3b24gIithYlsyXS53b24KCQkJCWFiWzJdLmNvdW50KysKCQkJfQkKCQl9Cgl9CnByaW50bG4gYWIK
stdout
This is 1 User and won Won 100 Points
[[count:1500, per:75, won:Won 100 Points], [count:300, per:15, won:Won 500 Points], [count:200, per:10, won:Won Bike]]