Hebdogiciel n°94 à 97

1 !**  STAND DE CITRONNADE  **
3 ! COPYRIGHT J.F. ESTORGES **
5 !***GRAPHISME H.D.***
7 QUAS=0:QUAC=0:J=1:CLS "WBB":CALL HRON("Y",1,6):DEG
9 FOR I=0 TO 59
11 A=0:B=I:C=175-2*I:D=I
13 CALL LINE("C",A,B,C,D):NEXT I
15 FOR I=0 TO 90 STEP 3
17 A=0:B=0:C=10*COS(I):D=10*SIN(I)
19 CALL LINE("Y",A,B,C,D):NEXT I
21 FOR I=0 TO 90 STEP 10
23 A=0:B=0::C=20*COS(I):D=20*SIN(I)
25 CALL LINE("Y",A,B,C,D)
27 NEXT I
29 FOR I=0 TO 180 STEP 3
31 A=70:B=0:C=70+8*COS(I):D=8*SIN(I)
33 CALL LINE("W",A,B,C,D)
35 NEXT I
37 FOR I=0 TO 180 STEP 3:A=55:B=0:C=A+17*COS(I):D=B+13*SIN(I)
39 CALL LINE("W",A,B,C,D):NEXT I
41 CALL LINE("B",227,0,199,20)
43 CALL LINE("B",199,20,199,28)
45 CALL LINE("B",199,28,235,0)
47 CALL LINE("B",179,35,145,59)
49 CALL LINE("B",179,35,179,45)
51 CALL LINE("B",179,45,160,59)
53 FOR I=0 TO 59
55 A=235-I*75/59:B=I:C=319:D=I
57 CALL LINE("G",A,B,C,D):NEXT I
59 FOR I=1 TO 290:A=190-I*1/29+15*RND:B=29+I*1/29+10*RND:CALL PLOT("Y",A,B)
61 NEXT I:E=0
63 FOR I=1 TO 59
65 A=170-I*2+RND*5:B=I+RND*5:CALL PLOT("C",A,B)
67 NEXT I:E=E+1:IF E=6 THEN GOTO 69 ELSE 63
69 CALL LINE("R",145,45,125,45)
71 FOR I=0 TO 5:A=145+I*2:B=45-I:C=A+3:D=B
73 CALL LINE("R",A,B,C,D)
75 CALL LINE("R",A-20,B,C,D):NEXT
77 FOR I=0 TO 5:A=175+1.5*I:B=17-I:C=A+15:D=B
79 CALL LINE("M",A,B,C,D):NEXT I
81 FOR I=0 TO 5:A=107+2*I:B=55-I:C=A+24:D=B
83 CALL LINE("M",A,B,C,D):NEXT I
85 FOR I=0 TO 30:A=179-I*34/30:B=35+I*24/30:C=A:D=B+9
87 IF D>59 THEN D=59
89 CALL LINE("B",A,B,C,D):NEXT I
91 FOR I=0 TO 28:A=199+I*36/28:B=28-I*28/28:C=A:D=B-7:IF B<8 THEN D=0
93 CALL LINE("B",A,B,C,D):NEXT I
95 CALL LINE("W",40,38,35,40)
97 CALL LINE("W",80,19,75,21)
99 CALL LINE("W",90,30,80,34)
101 CALL LINE("W",50,55,40,59)
103 CALL LINE("W",110,10,107,11)
105 FOR I=0 TO 180 STEP 7:A=198+3*SIN(I):B=7+6*COS(I):C=198+3*SIN(I+180)
107 D=7+6*COS(I+180)
109 CALL LINE("R",A,B,C,D):NEXT I
111 CALL PLOT("B",199,7)
113 CALL LINE("B",195,8,190,11)
115 !*STAND DE CITRONNADE*
117 FOR I=0 TO 12:A=240:B=59-I:C=319:D=B
119 CALL LINE("R",A,B,C,D):NEXT I
121 FOR I=0 TO 12:A=295:B=59-I:C=305:D=B:CALL LINE("b",A,B,C,D):NEXT I
123 CALL LINE("B",296,52,298,52)
125 FOR I=0 TO 20:A=240+I:B=47-I:C=319:D=B:CALL LINE("Y",A,B,C,D):NEXT I
127 FOR I=0 TO 20:A=240+I:B=47-I:C=A+13:D=B:CALL LINE("C",A,B,C,D):NEXT I
129 FOR I=0 TO 20 STEP 5:A=241+I:B=47-I:C=A+11:D=B:CALL LINE("b",A,B,C,D):NEXT
131 FOR I=0 TO 10:A=263+I:B=37-I:C=319:D=B:CALL LINE("B",A,B,C,D):NEXT I
133 FOR I=0 TO 53 STEP 7:A=266+I:B=34-I:C=A:D=36:IF B<28 THEN B=28
135 CALL LINE("b",A,B,C,D):NEXT I
137 FOR I=0 TO 2:CALL LINE("b",243+I,46,243+I,20):NEXT I
139 FOR I=0 TO 8:A=240:B=24-I:C=319:D=B:CALL LINE("Y",A,B,C,D):NEXT
141 FOR I=0 TO 15:A=240+I:B=16-I:C=319:D=B:CALL LINE("C",A,B,C,D):NEXT
143 CALL LINE("b",240,16,290,0):CALL LINE("b",319,5,308,0)
145 CALL LINE("b",263,26,266,26):CALL LINE("b",263,25,266,25)
147 FOR I=0 TO 199:A=265+RND*54:B=38+8*RND:CALL PLOT("G",A,B):NEXT I
149 CALL LINE("b",256,19,256,22):CALL LINE("b",257,18,258,18)
151 CALL LINE("b",257,23,258,23):CALL PLOT("b",259,22):CALL PLOT("b",259,19)
153 CALL LINE("b",263,18,263,23)
155 CALL LINE("b",266,18,270,18):CALL LINE("b",268,18,268,23)
157 CALL LINE("b",273,18,273,23):CALL LINE("b",273,18,275,18)
159 CALL LINE("b",273,21,275,21):CALL LINE("b",275,22,276,23)
161 CALL LINE("b",276,19,276,20)
163 CALL LINE("b",279,19,279,22):CALL LINE("b",282,19,282,22)
165 CALL LINE("b",280,18,281,18):CALL LINE("b",280,23,281,23)
167 CALL LINE("b",285,18,285,23):CALL LINE("b",288,18,288,23)
169 CALL LINE("b",286,20,287,21)
171 CALL LINE("b",291,18,291,23):CALL LINE("b",294,18,294,23)
173 CALL LINE("b",292,20,293,21)
175 CALL LINE("b",297,19,297,23):CALL LINE("b",300,19,300,23)
177 CALL LINE("b",298,18,299,18):CALL LINE("b",299,21,298,21)
179 CALL LINE("b",303,18,303,23):CALL LINE("b",303,18,305,18)
181 CALL LINE("b",303,23,305,23):CALL LINE("b",306,19,306,22)
183 CALL LINE("b",309,18,309,23):CALL LINE("b",309,18,312,18)
185 CALL LINE("b",309,23,312,23):CALL LINE("b",309,20,311,20)
187 !***VERRE ET BONHOMME***
189 CALL LINE("Y",258,37,260,37):CALL LINE("Y",258,37,258,34)
191 CALL LINE("Y",260,37,260,34)
193 CALL LINE("Y",260,24,258,34):CALL LINE("Y",260,35,258,35)
195 CALL LINE("Y",260,36,258,36)
197 CALL LINE("M",285,47,285,44)
199 FOR I=1 TO 3:CALL LINE("M",285+I,47,285+I,44):NEXT I
201 FOR I=1 TO 5:CALL LINE("B",284+I,43,284+I,40):NEXT I
203 FOR I=1 TO 8:CALL LINE("C",285,42-I,289,42-I):NEXT I
205 CALL LINE("C",290,35,290,38)
207 CALL LINE("C",286,33,288,33)
209 CALL LINE("M",287,32,289,32)
211 CALL LINE("M",286,31,288,31)
213 CALL LINE("M",287,30,288,30)
215 CALL LINE("Y",288,30,289,30)
217 CALL LINE("Y",288,31,289,31)
219 CALL LINE("Y",287,29,289,29)
221 CALL LINE("G",286,29,289,29)
223 CALL LINE("G",287,28,289,28)
225 CALL LINE("b",286,35,288,35)
227 CALL LINE("b",285,36,287,36)
229 CALL LINE("M",282,37,286,37)
231 CALL LINE("Y",282,36,283,36)
233 !***FLASHING**************
235 CLS "WBB":CALL COLOR("0WBLF"):LOCATE (4,7)
237 PRINT "SSTTAANNDD  DDEE  CCIITTRROONNNNAADDEE"
239 CALL COLOR("0WB"):LOCATE (9,3):PRINT "bonjour,bienvenue a lemonsville;"
241 LOCATE (10,3):PRINT "et d'abord quel est votre prenom ?":LOCATE (11,10)
243 INPUT P$:LOCATE (12,5):PRINT "alors bonjour ";P$
245 LOCATE (13,3):PRINT "comme vous pouvez le voir,vous etes":LOCATE (14,3)
247 PRINT "dans une station balneaire et votre":LOCATE (15,3)
249 PRINT "job est de vendre de la citronnade"
251 LOCATE (16,3):PRINT "pour cela vous devez tenir compte":LOCATE (17,3)
253 PRINT "de votre stock,du temps prevu par"
255 LOCATE (18,3):PRINT "la meteo,de l'influence de la pub":LOCATE (19,3)
257 PRINT "du prix du sucre et du citron dont":LOCATE (20,3)
259 PRINT "depend la fabrication et la vente":LOCATE (21,3)
261 PRINT "de vos verre de citronnade...."
263 LOCATE (22,15):CALL COLOR("0bBF"):PRINT "TOUCHE S.V.P":A$=KEY$
265 FOR I=0 TO 12:LOCATE (9+I,1):PRINT RPT$(" ",40):NEXT:LOCATE (9,3)
267 !******PRES.2***************
269 PRINT "la premiere chose que vous aurez a ":LOCATE (10,3)
271 PRINT "faire, sera d'acheter pour votre":LOCATE (11,3)
273 PRINT "stock, du sucre et du citron dont":LOCATE (12,3)
275 PRINT "les prix varient selon le marche":LOCATE (13,3)
277 PRINT "la deuxieme decision a prendre sera":LOCATE (14,3)
279 PRINT "la quantite de publicite realisee et":LOCATE (15,3)
281 PRINT "celle de verres fabriques (les in-"
283 LOCATE (16,3):PRINT "vendus sont perdus).la derniere des":LOCATE (17,3)
285 PRINT "decisions etant la determination du":LOCATE (18,3)
287 PRINT "prix du verre de citronnade ce jour."
289 N=INT(RND*15+15)
291 LOCATE (19,3):PRINT "vous disposez d'abord de";N;"francs"
293 A$=KEY$:FOR I=0 TO 12:LOCATE (8+I,1):PRINT RPT$(" ",40):NEXT I
295 LOCATE (22,22):CALL COLOR("0bB"):PRINT "ENTREE"
297 !****PRES. 3*******
299 CALL COLOR("0CB")
301 LOCATE (12,3):PRINT "Tout d'abord,quel est votre niveau?":LOCATE (14,8)
303 PRINT "1_ BON VENDEUR":LOCATE (15,8):PRINT "2_ VENDEUR MOYEN":LOCATE (16,8)
305 PRINT "3_ VENDEUR DEBUTANT":LOCATE (17,8)
307 LOCATE (18,8)
308 INPUT NIV:IF NIV<>1 AND NIV<>2 AND NIV<>3 THEN GOTO 307
309 IF NIV=1 THEN POPTOT=200+INTRND(500)
311 IF NIV=2 THEN POPTOT=400+INTRND(500)
313 IF NIV=3 THEN POPTOT=700+INTRND(500)
315 FOR I=0 TO 11:LOCATE (9+I,1):PRINT RPT$(" ",40):NEXT I
317 !****PRES. 4*******
319 CALL COLOR("0RB"):LOCATE (12,5):PRINT "Ce que vous devez encore savoir"
321 LOCATE (14,6):PRINT " Prix d'un kg de sucre:de 7 a 11 F.":LOCATE (15,6)
323 PRINT " Prix d'un citron:de 0,8 a 2 F.":LOCATE (16,6)
325 PRINT " Prix d'une affiche de pub: 10 F.":LOCATE (18,1)
327 PRINT " Prix(fixe par vous)du verre:de 1 a 2,5F"
329 LOCATE (20,3):PRINT "Vous ne pouvez fabriquer de verres":LOCATE (21,3)
331 PRINT "que dans la limite de votre stock.":A$=KEY$
333 FOR I=0 TO 12:LOCATE (9+I,1):PRINT RPT$(" ",40):NEXT I:CALL COLOR("0bB")
335 LOCATE (22,1):PRINT RPT$(" ",33)
337 !***PRES. 5********
339 LOCATE (14,13):PRINT "ETES VOUS ";:CALL COLOR("0YB"):PRINT "P";
341 CALL COLOR("0bB"):PRINT "RET ?"
343 PRINT "OU VOULEZ VOUS REVOIR LES ";:CALL COLOR("0YB"):PRINT "I";
345 CALL COLOR("0bB"):PRINT "NSTRUCTIONS ?":CALL KEY1(A,B)
347 IF A=80 THEN GOTO 351
349 IF A=73 THEN GOTO 231 ELSE GOTO 339
351 !***JEU**********
353 PRIC=.8+RND*1.2:PRIS=7+RND*4:PRIP=10:CLS "WBB"
355 CALL COLOR("0YB"):LOCATE (7,1):PRINT " JOUR :";J
357 LOCATE (9,3):PRINT USING"PRIX DU SUCRE :##.#",PRIS;:PRINT "par kg"
359 LOCATE (10,3):PRINT USING"PRIX DU CITRON :#.#",PRIC;:PRINT "par unite"
361 IF J=1 THEN LOCATE (12,1):PRINT "IL FAUT 10g DE SUCRE POUR UN VERRE."
363 IF J=1 THEN LOCATE (13,1):PRINT "1 CITRON PERMET DE FAIRE 5 VERRES."
365 !**********ACHATS*******************
367 IF J=1 THEN A=15 ELSE A=12
369 LOCATE (A,6):PRINT "VOS ACHATS:"
371 INPUT "SUCRE (en kg):";QUASA
373 INPUT "CITRON (unites):";QUACA
375 IF QUASA*PRIS+QUACA*PRIC>N THEN GOTO 369
377 N=N-(QUASA*PRIS)-(QUACA*PRIC)
379 PRINT USING"IL VOUS RESTE ####.#",N;:PRINT "F."
381 QUAS=QUAS+QUASA:QUAC=QUAC+QUAC+QUACA
383 LOCATE (A+5,6):PRINT USING"STOCK:##.##",QUAS;:PRINT "kgs de sucre"
385 LOCATE (A+6,12):PRINT USING"###",QUAC;:PRINT "citron(s)"
387 A$=KEY$
389 CLS "WBB":LOCATE (7,1):PRINT "JOUR ";J
391 !***TEMPS***************************
393 VARTEN=INTRND(100)
395 IF VARTEN<=10 THEN T$="PLUIE ET FROID":CALL COLOR("0bB"):M=.0666666666
397 IF VARTEN>10 AND VARTEN<=30 THEN T$="NUAGES,TIEDE":CALL COLOR("0RB"):M=.133
399 IF VARTEN>30 AND VARTEN<=70 THEN T$="SOLEIL ET CIEL BLEU":GOTO 401
401 CALL COLOR("0CB"):M=.266666
403 IF VARTEN>70 THEN T$="TRES CHAUD ET BEAU":CALL COLOR("0YB"):M=.533333
405 LOCATE (9,14):PRINT "LE TEMPS EST:"
407 LOCATE (11,(40-LEN(T$))/2):PRINT T$
409 A$=KEY$
411 !************PUB********************
413 IF N<10 THEN GOTO 429
415 LOCATE (14,3):PRINT "VOULEZ VOUS FAIRE DE LA PUBLICITE ?"
417 INPUT R$:IF SEG$(R$,1,1)="O" THEN GOTO 419 ELSE GOTO 429
419 LOCATE (16,6):PRINT "COMBIEN D'AFFICHES VOULEZ VOUS (10F/AFF)"
421 INPUT NBAFF:IF NBAFF*10>N THEN GOTO 419
423 N=N-(NBAFF*10)
425 LOCATE (19,5):PRINT USING"IL VOUS RESTE ####.##",N;:PRINT "F."
427 A$=KEY$
429 CLS "WBB":LOCATE (7,1):PRINT "JOUR ";J
431 !*****FABR. VERRES******************
433 LOCATE (9,3):PRINT "VOUS DEVEZ MAINTENANT FAIRE VOS ":LOCATE (10,3)
435 PRINT "VERRES POUR LA JOURNEE";J;"."
437 LOCATE (13,6):PRINT USING"Stock :##.##",QUAS;:PRINT "kgs sucre"
439 LOCATE (14,13):PRINT USING"### ";QUAC;:PRINT "citrons"
441 LOCATE (15,4):PRINT "COMBIEN EN FAITES VOUS ?"
443 LOCATE (16,4):INPUT "Nb de verres:";NBVER
445 IF NBVER>QUAS/.01 OR NBVER>5*QUAC THEN GOTO 447 ELSE GOTO 451
447 LOCATE (18,2):PRINT "STOCK TROP FAIBLE POUR LE Nb DE VERRES":PAUSE 2
449 LOCATE (18,2):PRINT "                        ":GOTO 443
451 A=NBVER/5:IF A<>INT(A)THEN A=INT(A)+1
453 QUAS=QUAS-(NBVER*.01):QUAC=QUAC-A
455 LOCATE (18,4):PRINT USING"Stock:##.##",QUAS;:PRINT "kgs de sucre"
457 LOCATE (19,10):PRINT USING"###",QUAC;:PRINT "citron(s)."
459 LOCATE (20,10):PRINT NBVER;"verres prets"
461 LOCATE (21,3):INPUT "PRIX D'UN VERRE(.8->2):";P
463 IF P<.8 OR P>2 THEN 461
465 LOCATE (22,23):CALL COLOR("0RBLIF"):PRINT "OO..KK"
467 A$=KEY$
469 !***RESULTATS DE LA JOURNEE***
471 CALL COLOR("0WB"):CLS "WBB":LOCATE (7,1):PRINT "JOUR";J
473 POP=POPTOT*M*RND/2:PT=POP+(LOG(NBAFF+1)*POP*RND/3)
475 IF PT>POPTOT THEN PT=POPTOT-POPTOT/8
477 AD=INT((PT/(P^1.2))*2.5)
479 LOCATE (22,23):PRINT "        "
481 BI$="BILAN DE LA JOURNEE"
483 LOCATE (9,(40-LEN(BI$))/2):PRINT BI$;J
485 LOCATE (11,6):PRINT "OFFRE:";NBVER:LOCATE (11,25):PRINT "DEMANDE:";AD
487 IF AD>NBVER THEN V=NBVER
489 IF AD<=NBVER THEN V=AD
491 LOCATE (12,13):PRINT "VENTE:";V
493 LOCATE (13,13):PRINT "ENTREES:";V*P
495 POUR=INT(V*(4-NIV)/10):N=N+V*P+POUR
497 LOCATE (15,10):PRINT USING"VOUS AVEZ EN CAISSE:####.#",N;:PRINT "F."
499 PAUSE
501 IF N<.05 AND QUAS=0 THEN GOTO 519
503 IF N<.05 AND QUAC=0 THEN GOTO 519
505 IF POUR=0 THEN GOTO 509
507 LOCATE (16,10):PRINT "DONT";POUR;"F. DE POUBOIRE"
508 LOCATE (18,10):PRINT "VOULEZ VOUS CONTINUER ?" :
CALL KEY1(A,B)
510 !
512 IF A=79 THEN GOTO 529
513 IF A=78 THEN GOTO 515
515 CLS "CBB":LOCATE (14,3):PRINT "ALORS,AU REVOIR ";P$
517 LOCATE (15,3):PRINT "J'ESPERE QUE VOUS ETES BIEN":GOTO 525
519 LOCATE (15,3):PRINT "VOUS N'ETES PAS UN BON VENDEUR..."
521 LOCATE (18,3):PRINT "J'ESPERE QUE VOUS VOUS ETES QUAND"
523 LOCATE (20,3):PRINT "MEME AMUSE AVEC ""CITRONNADE"",SALUT..":END
525 LOCATE (16,3):PRINT "AMUSE AVEC ""CITRONNADE"" A BIENTOT..."
527 END
529 J=J+1:GOTO 333

Ce listing est uniquement proposé pour un usage privé.
Sans accord écrit préalable, vous n'êtes pas autorisé à le distribuer, le transmettre ou le rediffuser.