2 CLS RANDOMIZE TIMER INPUT "Comment voulez vous nommer votre ville?", ville$ H% = INT(RND * 10) H% = 90 + H% PRINT ville$; " a"; H%; "d'habitants." DO LOOP WHILE INKEY$ = "" T% = INT(RND * 50) + 1000 PRINT "Vous ˆtes en l'ann‚e "; T% DO LOOP WHILE INKEY$ = "" C% = 0 CC% = 0 N% = 5 R% = 1 O% = 100 D% = 0 DD% = 0 E% = 0 EE% = 0 B% = 50 M% = 0 J% = 0 JJ% = 0 1 GOTO tour tour: CLS RANDOMIZE TIMER T% = T% + 1 PRINT "Maintenant vous ˆtes en l'ann‚e "; T% DO LOOP WHILE INKEY$ = "" GOSUB finance GOSUB argent GOSUB stat GOSUB content GOSUB marche G% = INT(RND * 6) + 1 IF G% = 1 OR G% = 2 OR G% = 3 THEN GOTO croissance IF G% = 4 THEN GOTO maladie IF G% = 5 THEN GOTO recolte IF G% = 6 THEN GOTO barbare GOTO 1 croissance: PRINT "Les r‚coltes ‚tant satisfaisantes, votre population croŒt." DO LOOP WHILE INKEY$ = "" H% = H% + (H% * (INT(RND * 10) + 5) / 100) H% = H% - ((H% / 100) * R%) PRINT "La population de "; ville$; " est maintenant de "; H% N% = N% + INT(RND * 3) DO LOOP WHILE INKEY$ = "" GOTO tour maladie: PRINT "Pas de chance, une peste s'est d‚clar‚e..." DO LOOP WHILE INKEY$ = "" PRINT "Une partie de la population meurt..." DO LOOP WHILE INKEY$ = "" PRINT "Beaucoup, pour ne pas ˆtre atteint prefŠrent fuir..." DO LOOP WHILE INKEY$ = "" H% = H% - (H% * (INT(RND * 12) + 10) / 100) H% = H% - ((H% / 100) * 5) PRINT "Une fois le calme revenu, la population de "; ville$; " est de "; H% N% = N% - INT(RND * 2) DO LOOP WHILE INKEY$ = "" GOTO tour recolte: PRINT "Cette saison, la r‚colte est extraordinaire..." DO LOOP WHILE INKEY$ = "" PRINT "Vos sujets sont devenu riches..." DO LOOP WHILE INKEY$ = "" PRINT "Des hommes et des femmes d'autres villes, attir‚s par l'abondance de votre ville viennent s'installer chez vous." DO LOOP WHILE INKEY$ = "" PRINT "La population de "; ville$; " croŒt donc de maniŠre exceptionnelle." DO LOOP WHILE INKEY$ = "" H% = H% + (H% * (INT(RND * 15) + 12) / 100) H% = H% - ((H% / 100) * R%) PRINT "La population de "; ville$; " est donc maintenant de "; H% N% = N% + INT(RND * 4) + 1 DO LOOP WHILE INKEY$ = "" GOTO tour barbare: PRINT "Malheur !!! Des barbares ont d‚barqu‚s !!!" DO LOOP WHILE INKEY$ = "" PRINT "Deux r‚actions diff‚rentes se dessinent..." DO LOOP WHILE INKEY$ = "" PRINT "Certains de vos citoyens fuient alors que d'autres pr‚fŠrent rester derriŠre les solides murailles de la ville." DO LOOP WHILE INKEY$ = "" H% = H% - (H% * (INT(RND * 5) + 3) / 100) H% = H% - ((H% / 100) * R%) PRINT "La population de "; ville$; " est donc maintenant de "; H% N% = N% - INT(RND * 2) - 1 DO LOOP WHILE INKEY$ = "" GOTO tour finance: IF C% = CC% THEN PRINT "Vous devez ‚videmment, pour le bon fonctionnement de votre ville, pr‚lever des imp“ts." DO LOOP WHILE INKEY$ = "" IF N% < 1 THEN N% = 1 PRINT "Sachant qu'en moyenne un de vos sujet possŠde l'‚quivalent de "; N%; "piŠces d'or..." DO LOOP WHILE INKEY$ = "" G% = 1 DO UNTIL I% * C% < (N% + 1) AND I% > -1 AND G% = 2 G% = 2 INPUT "Combien de piŠces d'or par sujet voulez vous percevoir?", I% LOOP G% = 1 DO UNTIL CC% > 0 AND G% = 2 G% = 2 INPUT "AprŠs combien d'ann‚es voulez vous rechanger ou rev‚rifier le montant du pr‚lŠvement des imp“ts?", CC% C% = 1 LOOP GOSUB rejet RETURN END IF IF C% < CC% THEN C% = C% + 1 N% = N% + (N% * 20 / 100) - I% RETURN END IF rejet: IF I% = N% OR I% = N% - 1 THEN R% = 10 RETURN END IF IF I% > (N% / 2) THEN R% = 5 RETURN END IF IF I% < (N% / 2) THEN R% = 3 RETURN END IF IF I% = 0 THEN R% = -1 RETURN END IF argent: GOSUB impot O% = O% + (I% * H%) N% = N% - (2 / 3) * I% PRINT "Une fois les imp“ts r‚colt‚s, vous avez "; O%; " piŠces d'or dans vos coffres." DO LOOP WHILE INKEY$ = "" IF O% < 20001 THEN RETURN IF O% > 20000 THEN PRINT "Voyant que vous faites fortune et que ses caisses sont vides..." DO LOOP WHILE INKEY$ = "" PRINT "Le duc de La tembouille vous demande un imp“t personnel suppl‚mentaire de "; 3 * H% * I%; " piŠces d'or." DO LOOP WHILE INKEY$ = "" G% = 0 DO UNTIL G% > 0 AND G% < 3 INPUT "Acceptez vous? oui(1),non(2)", G% LOOP IF G% = 1 THEN PRINT "Quelle chance, le duc vous a dit que vous remontez dans son estime..." DO LOOP WHILE INKEY$ = "" O% = O% - 3 * H% * I% PRINT "Vous avez maintenant "; O%; " piŠces d'or dans vos coffres." DO LOOP WHILE INKEY$ = "" RETURN END IF IF G% = 2 THEN PRINT "Aie aie aie, Le duc a trŠs mal pris la chose..." DO LOOP WHILE INKEY$ = "" PRINT "Il a d'ailleurs jur‚ d'aller par cons‚quent lui mˆme chercher la contribution demand‚e..." DO LOOP WHILE INKEY$ = "" PRINT "Il arriva donc avec ses arm‚es, et r‚clama "; 5 * H% * I%; " piŠces d'or." DO LOOP WHILE INKEY$ = "" PRINT "N'ayant plus le choix, vous devez payer." DO LOOP WHILE INKEY$ = "" O% = O% - 5 * H% * I% PRINT "Vous avez maintenant "; O%; " piŠces d'or dans vos coffres." DO LOOP WHILE INKEY$ = "" RETURN END IF END IF impot: IF D% = DD% THEN PRINT "Vous devez payer 50 piŠces d'or pour l'entretien de votre chateau." O% = O% - 50 GOSUB faillite DO LOOP WHILE INKEY$ = "" PRINT "Le roi vous demande aussi comme … tous ses seigneurs de lui verser 20% de tous ce que vous gagnez." DO LOOP WHILE INKEY$ = "" O% = O% - ((O% / 100) * 20) GOSUB faillite PRINT "Il vous reste "; O%; " piŠces d'or." DO LOOP WHILE INKEY$ = "" G% = 0 DO UNTIL DD% > 0 AND G% = 1 G% = 1 INPUT "AprŠs combien d'ann‚es voulez vous revoir cette rubrique?", DD% D% = 1 LOOP RETURN END IF IF D% < DD% THEN D% = D% + 1 O% = O% - 50 O% = O% - ((O% / 100) * 20) RETURN END IF faillite: IF O% < 0 THEN PRINT "Vous ˆtes ruin‚s, les soldats du roi sont venus vous arrˆter..." DO LOOP WHILE INKEY$ = "" PRINT "N'ayant pu rembourser vos cr‚anciers, votre honneur est perdu..." DO LOOP WHILE INKEY$ = "" PRINT "Pouss‚ par la fureur de vos cr‚ancier, le roi d‚cide de vous laisser dans ses geoles..." DO LOOP WHILE INKEY$ = "" PRINT "En esp‚rant que vous aimez les rats, je vous laisse !" DO LOOP WHILE INKEY$ = "" GOSUB fin END IF IF O% > 0 THEN RETURN stat: IF E% = EE% THEN PRINT "Ann‚e: "; T% DO LOOP WHILE INKEY$ = "" PRINT "Nombre d'habitants: "; H% DO LOOP WHILE INKEY$ = "" PRINT "PIB global:(PO) "; H% * N% DO LOOP WHILE INKEY$ = "" PRINT "PIB par habitant:(PO) "; N% DO LOOP WHILE INKEY$ = "" PRINT "Caisse du tr‚sor:(PO) "; O% DO LOOP WHILE INKEY$ = "" PRINT "Imp“t par habitant:(PO) "; I% DO LOOP WHILE INKEY$ = "" PRINT "Taux d'approbation:(%) "; B% DO LOOP WHILE INKEY$ = "" G% = 0 DO UNTIL G% = 1 AND EE% > 0 INPUT "AprŠs combien d'ann‚e voulez vous revoir ces statistiques?", EE% G% = 1 E% = 1 LOOP RETURN END IF IF E% < EE% THEN E% = E% + 1 RETURN END IF content: IF N% > 9 THEN B% = B% + 1 IF N% < 5 THEN B% = B% - 1 G% = INT(RND * 2) + 1 IF G% = 1 THEN B% = B% + 1 IF G% = 2 THEN B% = B% - 1 IF B% < 30 THEN GOSUB revolte IF B% > 80 THEN GOSUB acclam RETURN revolte: PRINT "La population se r‚volte !" DO LOOP WHILE INKEY$ = "" PRINT "Jadis accabl‚ par vos imp“ts, le peuple se fait maintenant une joie de piller votre chateau..." DO LOOP WHILE INKEY$ = "" PRINT "Vos soldats ont rejoint les r‚volt‚s..." DO LOOP WHILE INKEY$ = "" G% = 0 DO UNTIL G% < 3 AND G% > 0 INPUT "Voulez vous fuir? oui(1), non(2)", G% LOOP IF G% = 1 THEN PRINT "Vous vous enfuyez et vous perdez vos biens, votre tr‚sor et votre chateau..." DO LOOP WHILE INKEY$ = "" PRINT "Vous n'avez plus qu'… recommencer une vie … z‚ro." DO LOOP WHILE INKEY$ = "" GOSUB fin END IF IF G% = 2 THEN PRINT "Pas de chance, le peuple ‚tait d‚termin‚ … se d‚barrasser de vous..." DO LOOP WHILE INKEY$ = "" PRINT "VOUS ETES MORT !!!" DO LOOP WHILE INKEY$ = "" GOSUB fin acclam: PRINT "Le peuple est ravi de vous avoir pour seigneur." DO LOOP WHILE INKEY$ = "" PRINT "Vos sujets ont d‚cid‚ d'organiser une grande fˆte en votre honneur." DO LOOP WHILE INKEY$ = "" PRINT "Cette belle fˆte vous a co–t‚ 50 piŠces d'or..." DO LOOP WHILE INKEY$ = "" O% = O% - 50 B% = B% - 10 RETURN fin: G% = 0 DO UNTIL G% > 0 AND G% < 3 INPUT "Voulez vous recommencer le jeu? oui(1), non(2)", G% LOOP IF G% = 1 THEN GOTO 2 IF G% = 2 THEN END END IF IF O% > 0 THEN RETURN marche: IF M% = 0 THEN IF J% = JJ% THEN GOSUB achatmarche END IF IF J% < JJ% THEN J% = J% + 1 END IF END IF IF M% = 1 THEN G% = INT(RND * 2) + 1 IF G% = 1 THEN N% = N% + 1 RETURN END IF achatmarche: 3 G% = 0 DO UNTIL G% > 0 AND G% < 4 INPUT "Voulez vous construire un march‚ dans votre ville? oui(1), non(2), info(3)", G% LOOP IF G% = 1 THEN IF O% > 350 THEN O% = O% - 350 M% = 1 PRINT "Votre march‚ est construit. Vous ˆtes acclam‚ par votre population." B% = B% + 4 DO LOOP WHILE INKEY$ = "" RETURN END IF IF O% < 350 THEN PRINT "Vous n'avez pas suffisamment d'argent..." GOTO 3 END IF END IF IF G% = 2 THEN G% = 0 DO UNTIL JJ% > 0 AND G% = 1 INPUT "Dans combien de temps voulez vous que je vous repose la question?", JJ% J% = 1 G% = 1 LOOP RETURN END IF IF G% = 3 THEN PRINT "Le march‚ am‚liore l‚g‚rement le niveau de vie de chacun de vos sujets." DO LOOP WHILE INKEY$ = "" PRINT "Ceux-ci paieront donc plus facilement leurs imp“ts." DO LOOP WHILE INKEY$ = "" PRINT "Un march‚ co–te 350 piŠces d'or … construire." DO LOOP WHILE INKEY$ = "" GOTO 3 END IF