' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... es.geocities.com/jm00092 ' '______________________________________________________________________ ' DECLARE SUB letras (X!, y!, TEXT$, escl!, CLRS!, ang!, ancho!, relleno!) DECLARE SUB GRACIAS () DECLARE SUB PANTALLA () DECLARE SUB SUBEYBAJA () DECLARE SUB PRIMITIVA () DECLARE SUB BOTONES () DECLARE SUB BORDE1 (fila1!, COL1!, fila2!, col2!, PAPEL!, MARCO!) RANDOMIZE TIMER PANTALLA DO CLEAR BOTONES SUBEYBAJA PRIMITIVA LOOP ' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... www.jm-web.tk :: es.geocities.com/jm00092 ' '______________________________________________________________________ ' ' ' DIBUJA EL BORDE ' ' SUB BORDE1 (fila1, COL1, fila2, col2, PAPEL, MARCO) STATIC COLOR PAPEL, MARCO ancho = col2 - COL1 + 1 LOCATE fila1, COL1 PRINT "Ú"; STRING$(ancho - 2, "Ä"); "¿"; FOR a = fila1 + 1 TO fila2 - 1 LOCATE a, COL1 PRINT "³" LOCATE a, COL1 + (ancho - 1): PRINT "³" NEXT a LOCATE fila2, COL1 PRINT "À"; STRING$(ancho - 2, "Ä"); "Ù"; END SUB ' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... www.jm-web.tk :: es.geocities.com/jm00092 ' '______________________________________________________________________ ' ' DIBUJA LOS BOTONES ' ' "PULSA ENTER PARA EMPEZAR" ' ' Y ' ' "PULSA ESCAPE PARA SALIR" ' SUB BOTONES LINE (344, 270)-(454, 308), 7, BF LOCATE 34, 43: PRINT " " LOCATE 35, 43: PRINT " PULSA ENTER " LOCATE 36, 43: PRINT " " LOCATE 37, 43: PRINT " PARA EMPEZAR " LOCATE 38, 43: PRINT " " LINE (480, 270)-(590, 308), 7, BF LOCATE 34, 60: PRINT " " LOCATE 35, 60: PRINT " PULSA ESCAPE " LOCATE 36, 60: PRINT " " LOCATE 37, 60: PRINT " PARA SALIR " LOCATE 38, 60: PRINT " " END SUB ' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... www.jm-web.tk :: es.geocities.com/jm00092 ' '______________________________________________________________________ ' ' DIBUJA EL BOTàN "SUERTE" ' ' Y SALE DEL PROGRAMA ' ' SUB GRACIAS LINE (330, 250)-(640, 350), 15, BF LINE (400, 270)-(510, 308), 7, BF LOCATE 34, 50: PRINT " " LOCATE 35, 50: PRINT " " LOCATE 36, 50: PRINT " SUERTE " LOCATE 37, 50: PRINT " " LOCATE 38, 50: PRINT " " END END SUB ' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... www.jm-web.tk :: es.geocities.com/jm00092 ' '______________________________________________________________________ ' TIPOGRAFIA VECTORIAL ESCALABLE HECHO EN RONDA ' ' DIBUJA EL TÖTULO ' ' SUB letras (X, y, TEXT$, escl, CLRS, ang, ancho, relleno) IF relleno < 1 THEN : relleno = 1 FOR h = 1 TO ancho STEP relleno FOR v = 1 TO ancho STEP relleno ccc = POINT(X + h, y + v) PSET (X + h, y + v), ccc C$ = STR$(CLRS): e$ = STR$(escl): a$ = STR$(ang) FOR a = 1 TO LEN(TEXT$) IF CLRS > 255 THEN C$ = STR$(INT(RND * 15) + 1) DRAW "S" + e$ + "C" + C$ + "ta" + a$ SELECT CASE UCASE$(MID$(TEXT$, a, 1)) CASE "A": DRAW "br2 u2nnr2u2r2d4" CASE "B": DRAW "br2 u4r2dgnlfdnl2" CASE "C": DRAW "br2 bu4 nr2d4r2" CASE "D": DRAW "br2 u4rfd2glbr2" CASE "E": DRAW "br2 bu4 nr2d2nr2d2r2" CASE "F": DRAW "br2 bu4 nr2d2nr2d2br2" CASE "G": DRAW "br2 bu4 nr2d4r2unld" CASE "H": DRAW "br2 u2nu2r2nu2d2" CASE "I": DRAW "br2 nu4" CASE "J": DRAW "br2 nur2nu4" CASE "K": DRAW "br2 u2 nu2ne2f2" CASE "L": DRAW "br2 nu4r2" CASE "M": DRAW "br2 u4f2e2d4" CASE "N": DRAW "br2 u4f4nu4" CASE "¤": DRAW "br2 u3f3u3bunl3bd4" CASE "¥": DRAW "br2 u3f3u3bunl3bd4" CASE "O": DRAW "br2 bu4 nr2d4r2nu4" CASE "P": DRAW "br2 u2nnr2u2r2d2bd2" CASE "Q": DRAW "br2 bu4 nr2d4renu3blf" CASE "R": DRAW "br2 u4r2d2l2f2" CASE "S": DRAW "br2 r2u2l2u2r2BD4" CASE "T": DRAW "br2 BU4r2nd4r2bd4" CASE "U": DRAW "br2 nu4r2nu4" CASE "V": DRAW "br2 bunu3fenu3bd" CASE "W": DRAW "br2 bunu3fenu2fenu3bd" CASE "X": DRAW "br2 br2bu2ne2nf2ng2nh2br2bd2" CASE "Y": DRAW "br2 br2u2nh2ne2bd2br2" CASE "Z": DRAW "br2 bu4 r4g2nlnrg2r4" CASE "1": DRAW "br2 bu3ed4nlr" CASE "2": DRAW "br2 bu3 erfg3r3" CASE "3": DRAW "br2 bu4 r2d2nl2d2nl2" '"br2 bu4 r2fgnlfgnl2bl" CASE "4": DRAW "br2 bu2 nu2r2nu2d2" CASE "5": DRAW "br2 bu4 nr2d2r2d2nl2" CASE "6": DRAW "br2 bu4 nr2d2nr2d2r2nu2" CASE "7": DRAW "br2 bu4 r2d4" CASE "8": DRAW "br2 u4r2d2nl2d2nl2" CASE "9": DRAW "br2 bu2 nr2u2r2d4" CASE "0": DRAW "br2 bu4 nr2d4r2nu4" CASE "*": DRAW "br2 br2 u2nl2nu2nr2nengnhfbf " CASE "+": DRAW "br2 br2 u2nl2nu2r2bd2" CASE "-": DRAW "br2 bu2r2bd2" CASE ".": DRAW "br2 nu" CASE ",": DRAW "br2 ng" CASE ";": DRAW "br2 ngbunuBD" CASE ":": DRAW "br2 ubuubd3" CASE "=": DRAW "br2 bunr2bu2r2bd3" CASE ELSE: DRAW "S" + e$ + "ta" + a$ + "BR4" END SELECT NEXT NEXT NEXT END SUB ' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... www.jm-web.tk :: es.geocities.com/jm00092 ' '______________________________________________________________________ ' ' DIBUJA LA PANTALLA DEL PROGRAMA ' ' SUB PANTALLA SCREEN 9 WIDTH 80, 43 PALETTE 4, 36 PAINT (1, 1), 15 COLOR 12, 55 LV = 11 LH = 17 FOR a = 1 TO 49 LV = LV + 2 IF LV = 31 THEN : LV = 11: LH = LH + 3 LOCATE LV, LH: PRINT a NEXT LV = 11 FOR a = 1 TO 9 LV = LV + 2 LOCATE LV, 18: PRINT a NEXT LOCATE 10, 17: PRINT "ÉÍÍËÍÍËÍÍËÍÍËÍÍ»" FOR a = 8 TO 26 STEP 2 FOR B = 17 TO 32 STEP 3 LOCATE a + 3, B: PRINT "º" NEXT LOCATE a + 4, 17: PRINT "ÌÍÍÎÍÍÎÍÍÎÍÍÎÍ͹" NEXT LOCATE 30, 17: PRINT "ÈÍÍÊÍÍÊÍÍÊÍÍÊÍͼ" BORDE1 3, 8, 38, 40, 12, 55 PAINT (80, 100), 0, 12 PAINT (135, 82), 12, 12 letras 355, 50, "PROGRAMA PARA", 16, 7, 0, 3, 1 letras 357, 52, "PROGRAMA PARA", 16, 4, 0, 3, 1 letras 410, 68, "RELLENAR", 12, 7, 0, 3, 1 letras 412, 70, "RELLENAR", 12, 4, 0, 3, 1 letras 350, 100, "PRIMITIVAS", 24, 7, 0, 3, 1 letras 352, 102, "PRIMITIVAS", 24, 4, 0, 3, 1 END SUB ' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... www.jm-web.tk :: es.geocities.com/jm00092 ' '______________________________________________________________________ ' ' ' ES EL PROGRAMA PRINCIPAL ' ' CALCULA LOS RESULTADOS DE FORMA ALEATORIA ' ' Y DIBUJA UNA X EN LA CASILLA CORRESPONDIENTE ' ' PRODUCE EL SONIDO ' ' DIBUJA LOS BOTONES "EN PROCESO" ' ' Y "PULSA ENTER PARA ACEPTAR" ' SUB PRIMITIVA LINE (330, 250)-(640, 350), 15, BF LINE (400, 270)-(510, 308), 7, BF LOCATE 34, 50: PRINT " " LOCATE 35, 50: PRINT " " LOCATE 36, 50: PRINT " EN PROCESO " LOCATE 37, 50: PRINT " " LOCATE 38, 50: PRINT " " DO FOR v = 83 TO 230 STEP 16 FOR h = 143 TO 240 STEP 24 PRO = INT(RND * 49) IF PRO = 2 THEN FOR ASD = 1 TO 10 DSF = INT(RND * 800) + 1200 SOUND DSF, 1 NEXT IF POINT(h, v) = 1 THEN : CAS = CAS - 1 IF POINT(h - 8, v) = 12 THEN : CAS = CAS - 1: EE = 1 PSET (h, v) DRAW "C1 S4 NE5 NF5 NG5 NH5 BR NE5 NF5 NG5 NH5 BR NE5 NF5 NG5 NH5 " CAS = CAS + 1 IF EE = 1 THEN : PSET (143, 83): DRAW "C12 S4 NE5 NF5 NG5 NH5 BR NE5 NF5 NG5 NH5 BR NE5 NF5 NG5 NH5 " IF CAS = 6 THEN : GOSUB CONSEGUIDO END IF NEXT NEXT LOOP UNTIL CAS > 6 CONSEGUIDO: LOCATE 34, 50: PRINT " " LOCATE 35, 50: PRINT " PULSA ENTER " LOCATE 36, 50: PRINT " " LOCATE 37, 50: PRINT " PARA ACEPTAR " LOCATE 38, 50: PRINT " " DO: LOOP UNTIL INKEY$ = CHR$(13) LINE (380, 150)-(640, 350), 15, BF END SUB ' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... www.jm-web.tk :: es.geocities.com/jm00092 ' '______________________________________________________________________ ' ' ' DIBUJA EL LETRERO "HECHO EN RONDA" ' ' Y LE DA MOVIMIENTO ' ' ES EL MENU DEL PROGRAMA ' ' RECONOCE LA TECLA QUE SE PULSE ' ' Y DIRIGE LA EJECUCION DEL PROGRAMA HACIA LA SUB CORRECTA ' SUB SUBEYBAJA LINE (330, 120)-(640, 250), 15, BF AAA = 190 BBB = 10 DO SELECT CASE AAA CASE IS <= 180: BBB = 10 CASE IS >= 240: BBB = -10 END SELECT AAA = AAA + BBB letras 370, AAA - 50, "HECHO EN", 8, 9, 0, 1, 1 letras 350, AAA, "RONDA", 36, 9, 0, 1, 1 FOR ccc = 1 TO 1000: NEXT ccc letras 370, AAA - 50, "HECHO EN", 8, 15, 0, 1, 1 letras 350, AAA, "RONDA", 36, 15, 0, 1, 1 tecla$ = INKEY$ LOOP UNTIL tecla$ = CHR$(13) XOR tecla$ = CHR$(27) letras 370, AAA - 50, "HECHO EN", 8, 9, 0, 3, 1 letras 350, AAA, "RONDA", 36, 256, 0, 6, 1 SELECT CASE tecla$ CASE CHR$(27): GRACIAS CASE CHR$(13): PANTALLA CASE ELSE: SUBEYBAJA END SELECT END SUB