Publié par SFLPMEA le 30/04/2006
Source Qbasic BIENVENU.BAS. Affichage d'un message PLEIN Ecran, à découvrir. Par SFLPMEA.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
' ************** ' * BIENVENUE * BIENVENU.BAS ' ************** OPTION BASE 1: DEFSTR A-Z: SCREEN 12: WINDOW SCREEN (1, 1)-(640, 480) DIM L%(90) ' ** Largeur du caractŠre (Indice = son code ascii) DIM G&(80) K% = 10 ' *** Modifiable GOSUB F00.CADRE DIM L.A&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_A.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.A&(I%): NEXT I% INPUT #1, L%(ASC("A")): CLOSE DIM L.B&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_B.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.B&(I%): NEXT I% INPUT #1, L%(ASC("B")): CLOSE DIM L.C&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_C.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.C&(I%): NEXT I% INPUT #1, L%(ASC("C")): CLOSE DIM L.D&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_D.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.D&(I%): NEXT I% INPUT #1, L%(ASC("D")): CLOSE DIM L.E&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_E.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.E&(I%): NEXT I% INPUT #1, L%(ASC("E")): CLOSE DIM L.F&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_F.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.F&(I%): NEXT I% INPUT #1, L%(ASC("F")): CLOSE DIM L.G&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_G.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.G&(I%): NEXT I% INPUT #1, L%(ASC("G")): CLOSE DIM L.I&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_I.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.I&(I%): NEXT I% INPUT #1, L%(ASC("I")): CLOSE DIM L.N&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_N.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.N&(I%): NEXT I% INPUT #1, L%(ASC("N")): CLOSE DIM L.O&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_O.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.O&(I%): NEXT I% INPUT #1, L%(ASC("O")): CLOSE DIM L.P&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_P.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.P&(I%): NEXT I% INPUT #1, L%(ASC("P")): CLOSE DIM L.Q&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_Q.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.Q&(I%): NEXT I% INPUT #1, L%(ASC("Q")): CLOSE DIM L.R&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_R.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.R&(I%): NEXT I% INPUT #1, L%(ASC("R")): CLOSE DIM L.S&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_S.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.S&(I%): NEXT I% INPUT #1, L%(ASC("S")): CLOSE DIM L.U&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_U.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.U&(I%): NEXT I% INPUT #1, L%(ASC("U")): CLOSE DIM L.V&(400) OPEN "C:\\ALPHABET\\CES40VAR\\L_V.LET" FOR INPUT AS #1 FOR I% = 1 TO 400: INPUT #1, L.V&(I%): NEXT I% INPUT #1, L%(ASC("V")): CLOSE Ecriture = "BIENVENUE": Lg% = 0: Espace% = 8: Y% = 113 FOR I% = 1 TO LEN(Ecriture) Lg% = Lg% + (L%(ASC(MID$(Ecriture, I%, 1)))) + Espace% NEXT I% X% = 320 - Lg% / 2 PUT (X%, Y%), L.B&, PSET: X% = X% + L%(ASC("B")) + Espace% PUT (X%, Y%), L.I&, PSET: X% = X% + L%(ASC("I")) + Espace% PUT (X%, Y%), L.E&, PSET: X% = X% + L%(ASC("E")) + Espace% PUT (X%, Y%), L.N&, PSET: X% = X% + L%(ASC("N")) + Espace% PUT (X%, Y%), L.V&, PSET: X% = X% + L%(ASC("V")) + Espace% PUT (X%, Y%), L.E&, PSET: X% = X% + L%(ASC("E")) + Espace% PUT (X%, Y%), L.N&, PSET: X% = X% + L%(ASC("N")) + Espace% PUT (X%, Y%), L.U&, PSET: X% = X% + L%(ASC("U")) + Espace% PUT (X%, Y%), L.E&, PSET: X% = X% + L%(ASC("E")) Ecriture = "AU CAFE": Lg% = 0: Y% = 113 + 75 FOR I% = 1 TO LEN(Ecriture) Lg% = Lg% + (L%(ASC(MID$(Ecriture, I%, 1)))) + Espace% NEXT I% X% = 320 - (Lg% + 30) / 2 PUT (X%, Y%), L.A&, PSET: X% = X% + L%(ASC("A")) + Espace% PUT (X%, Y%), L.U&, PSET: X% = X% + L%(ASC("U")) + Espace% X% = X% + 50 PUT (X%, Y%), L.C&, PSET: X% = X% + L%(ASC("C")) + Espace% PUT (X%, Y%), L.A&, PSET: X% = X% + L%(ASC("A")) + Espace% PUT (X%, Y%), L.F&, PSET: X% = X% + L%(ASC("F")) + Espace% PUT (X%, Y%), L.E&, PSET: X% = X% + L%(ASC("E")) Ecriture = "DES": Lg% = 0: Y% = 113 + 150 FOR I% = 1 TO LEN(Ecriture) Lg% = Lg% + (L%(ASC(MID$(Ecriture, I%, 1)))) + Espace% NEXT I% X% = 320 - Lg% / 2 PUT (X%, Y%), L.D&, PSET: X% = X% + L%(ASC("D")) + Espace% PUT (X%, Y%), L.E&, PSET: X% = X% + L%(ASC("E")) + Espace% PUT (X%, Y%), L.S&, PSET: X% = X% + L%(ASC("S")) Ecriture = "PROGBOARDS": Lg% = 0: Y% = 113 + 225 FOR I% = 1 TO LEN(Ecriture) Lg% = Lg% + (L%(ASC(MID$(Ecriture, I%, 1)))) + Espace% NEXT I% X% = 320 - Lg% / 2 PUT (X%, Y%), L.P&, PSET: X% = X% + L%(ASC("P")) + Espace% PUT (X%, Y%), L.R&, PSET: X% = X% + L%(ASC("R")) + Espace% PUT (X%, Y%), L.O&, PSET: X% = X% + L%(ASC("O")) + Espace% PUT (X%, Y%), L.G&, PSET: X% = X% + L%(ASC("G")) + Espace% PUT (X%, Y%), L.B&, PSET: X% = X% + L%(ASC("B")) + Espace% PUT (X%, Y%), L.O&, PSET: X% = X% + L%(ASC("O")) + Espace% PUT (X%, Y%), L.A&, PSET: X% = X% + L%(ASC("A")) + Espace% PUT (X%, Y%), L.R&, PSET: X% = X% + L%(ASC("R")) + Espace% PUT (X%, Y%), L.D&, PSET: X% = X% + L%(ASC("D")) + Espace% PUT (X%, Y%), L.S&, PSET: X% = X% + L%(ASC("S")) Couleur% = 8: K% = 8 DO K% = K% + 1: IF K% > 15 THEN K% = 9 LINE (58, 73)-(582, 407), K%, B LINE (60, 75)-(580, 405), K%, B, &HFF LINE (62, 77)-(578, 403), K%, B, &HCCCC LINE (64, 79)-(576, 401), K%, B, &HCCCC LINE (66, 81)-(574, 399), K%, B, &H5555 FOR X% = 65 TO 575 STEP 3 FOR Y% = 130 TO 355 STEP 2 Couleur% = Couleur% + 1 IF Couleur% > 14 THEN Couleur% = 9 IF POINT(X%, Y%) > 0 THEN PAINT (X%, Y%), Couleur%, 0 NEXT Y% NEXT X% LOOP UNTIL INKEY$ = CHR$(27) END F00.CADRE: FOR I% = 1 TO 16: LINE (I%, I%)-(I%, 232), K%, , 32752: NEXT I% Y% = 234 FOR X% = 1 TO 16: Y% = Y% - 1: LINE (X%, Y%)-(X%, 464), K%, , 4095: NEXT X% FOR I% = 1 TO 16: LINE (I%, I%)-(320, I%), K%, , 32752: NEXT I% X% = 322 FOR Y% = 1 TO 16: X% = X% - 1: LINE (X%, Y%)-(640, Y%), K%, , 4095: NEXT Y% Y% = 465 FOR X% = 1 TO 16: Y% = Y% - 1: LINE (X%, Y%)-(320, Y%), K%, , 32752: NEXT X% X% = 322: Y% = 465 FOR I% = 1 TO 16: X% = X% - 1: Y% = Y% - 1 LINE (X%, Y%)-(640, Y%), K%, , 4095 NEXT I% X% = 641 FOR Y% = 1 TO 16: X% = X% - 1: LINE (X%, Y%)-(X%, 232), K%, , 32752: NEXT Y% X% = 641: Y% = 234 FOR I% = 1 TO 16: X% = X% - 1: Y% = Y% - 1 LINE (X%, Y%)-(X%, 464), K%, , 4095 NEXT I% K% = 13 LINE (1, 1)-(24, 24), K%, B: LINE (1, 1)-(24, 24), K% LINE (1, 24)-(24, 1), K%: PAINT (6, 12), K%, K% PAINT (12, 6), K%, K%: PAINT (18, 12), K% - 8, K% PAINT (12, 18), K% - 8, K%: LINE (1, 1)-(12, 12), 15 GET (1, 1)-(24, 24), G&: PUT (1, 220), G&, PSET PUT (1, 441), G&, PSET: PUT (308, 1), G&, PSET PUT (308, 441), G&, PSET: PUT (616, 1), G&, PSET PUT (617, 220), G&, PSET: PUT (617, 441), G&, PSET RETURN