100 ' -------------------------------- 101 ' Tombola v1.0, (c) Manfred Becker 102 ' 22.05.2016 all rights reserved! 103 ' http://manib.bplaced.net/blog/ 104 ' http://silicium.org/forum/ 105 ' viewtopic.php?f=46&t=40291 110 ' -------------------------------- 120 ON ERROR GOTO *ERR 130 CLS : CLEAR 140 LET NOU = 21 'number of user 150 LET NOW = 3 'number of winner 160 DIM USER$(NOU) 'user 170 DIM WINN$(NOW) 'winner 180 DIM STAT(NOU) 'statstics 190 GOSUB *LOU 200 GOSUB *CLR 210 LOCATE 0,1:PRINT "> Press any key to start RANDOMIZE" 220 T$ = INPUT $(1) 230 LOCATE 0,1:PRINT "> Press any key to stop RANDOMIZE " 240 T$ = INKEY$ : RANDOMIZE :IF T$ = "" THEN GOTO 240 250 LOCATE 0,1:PRINT "> Read user " 260 FOR I = 1 TO NOU 270 READ USER$(I) 280 STAT(I) = 0 290 LOCATE 11,1:PRINT I;": ";USER$(I); 300 PAUSE 310 NEXT I 320 LOCATE 0,1:PRINT ">";NOU;"user ready to rumble! " 330 LOCATE 0,2:PRINT "> Press any key to start TOMBOLA " 340 T$ = INKEY$ : IF T$ = "" THEN GOTO 340 350 GOSUB *CLR 360 FOR J = 1 TO NOW 365 A = J-1:B = 3:GOSUB *MOD:Y = M+1 370 LOCATE 0,Y:PRINT "> Ruffle";J;": " 380 FOR I = 1 TO 150 + RND (150) 390 LET X = RND (NOU) 400 IF X<1 OR X>NOU THEN GOTO 390 410 STAT(X) = STAT(X) + 1 420 FOR K = 1 TO J-1 430 IF USER$(X) = WINN$(K) THEN GOTO 390 440 NEXT K 450 LOCATE 13,Y:PRINT USER$(X); 460 NEXT I 470 WINN$(J) = USER$(X) 480 LOCATE 0,Y:PRINT "> Winner";J;": ";WINN$(J); 490 NEXT J 500 T$ = INPUT $(1) 510 GOSUB *CLR 520 PRINT "> Statstics:" 530 FOR I = 1 TO NOU 540 LBL$ = " " 550 FOR J = 1 TO NOW 560 IF USER$(I) = WINN$(J) THEN LBL$ = STR$ (J)+">" 570 NEXT J 580 PRINT LBL$;:PRINT USING "##";STAT(I); 590 NEXT I 600 T$ = INPUT $(1) 880 END 890 ' -------------------------------- 900 *CLR 'Clear display 910 CLS :LOCATE 0,0:PRINT "*** TOMBOLA 3x SHARP USB Interface ***" 920 RETURN 930 ' -------------------------------- 940 *MOD 'A MOD B = A-B*INT(A/B) 950 M = A-B*INT (A/B) 960 RETURN 970 ' -------------------------------- 1000 *LOU 'List of users 1001 DATA "Tipoucet " 1002 DATA "Professeur_Octopus" 1003 DATA "remy " 1004 DATA "badaze " 1005 DATA "icho " 1006 DATA "flying nono " 1007 DATA "pir2 " 1008 DATA "jojo " 1009 DATA "rogeroge " 1010 DATA "phm " 1011 DATA "olive72 " 1012 DATA "jvernet " 1013 DATA "tyann " 1014 DATA "lamarche_mathieu " 1015 DATA "Keeper " 1016 DATA "Celine " 1017 DATA "doum-doum " 1018 DATA "bernouilli92 " 1019 DATA "TOrgamm " 1020 DATA "jxano " 1030 DATA "hp41cx " 1090 RETURN 1100 ' -------------------------------- 10000 *ERR 10010 PRINT " Error in line"; ERL 10020 ' --------------------------------