Je suis un homme d'intérieur, toujours au comptoir, jamais en terrasse.
Jean-Jacques Peroni (sur mon T shirt!)
Magic 500 n'est que le jeu où l'on devine un nombre, après essais successifs (trop grand, trop petit...)
Développé par les membres de Microloges, le club d'informatique de Beaumetz les loges, Magic 500 présente l'interêt d'offrir des sources quickbasic qui peuvent servir d'exemples aux débutants...
Le fichier principal:
DECLARE SUB jeu (moinsbon!) DECLARE SUB regle () DECLARE SUB beethov () DECLARE SUB init (e$) DECLARE SUB texte (a$, li!, co!, couleur!, t$) DECLARE SUB espace (w!) DECLARE SUB elise () CONST nbnb = 5 'nb de nb à trouver CONST nbch = 3 'nb de chiffre à trouver CONST nbenr = 30 TYPE sov chnom AS STRING * 20 chnbes AS INTEGER END TYPE DIM joueur AS sov joueur.chnom = "Adam" ' Page de garde... '__________________________________________________ DO WIDTH 40, 25 CLS texte "MICRoLoGES", 12, 5, 3, "non" elise texte "PRESENTE:", 14, 10, 4, "oui" CLS texte " M A G I C 5 0 0", 12, 1, 5, "non" SLEEP 2 '_______________________________________________ 'page 2 WIDTH 80, 50 CLS OPEN "score.wou" FOR RANDOM AS #1 LEN = LEN(joueur) i = 1 texte "MEILLEURS SCORES", 1, 25, 2, "non" texte "NOM", 5, 15, 3, "non" texte "ESSAIS", 5, 50, 3, "non" max = LOF(1) / LEN(joueur) IF max > nbenr THEN max = nbenr FOR i = 1 TO max GET #1, i, joueur LOCATE 7 + i, 2 COLOR 1 PRINT i LOCATE 7 + i, 15 PRINT joueur.chnom LOCATE 7 + i, 50 COLOR 5 PRINT joueur.chnbes NEXT CLOSE #1 moinsbon = joueur.chnbes IF moinsbon = 0 OR max < nbenr THEN moinsbon = 9999 LOCATE 50, 35 COLOR 2 PRINT "J"; COLOR 1 PRINT "ouer/"; COLOR 2 PRINT "R"; COLOR 1 PRINT "ègles/"; COLOR 2 PRINT "Q"; COLOR 1 PRINT "uitter"; DO init e$ 'on initialise la liste de nb aleatoires LOOP UNTIL INSTR("jJrRqQ", e$) > 0 AND e$ <> "" SELECT CASE UCASE$(e$) CASE "J" jeu moinsbon CASE "Q" fin$ = "oui" CASE "R" regle END SELECT LOOP UNTIL fin$ = "oui" SUB jeu (moinsbon) DIM joueur AS sov DIM j AS sov CLS WIDTH 80, 50 BEEP FOR no = 1 TO nbnb nbcach = INT(RND * 9 * 10 ^ (nbch - 1)) + 10 ^ (nbch - 1) DO essai = essai + 1 PRINT COLOR 3 PRINT "Encore "; nbnb - no + 1; "nombre"; IF nbnb - no + 1 > 1 THEN PRINT ("s"); PRINT " ...trouver. "; COLOR 3 PRINT " Essai nø "; COLOR 4 PRINT essai; COLOR 3 PRINT " > "; t = 0 FOR y = 1 TO nbch t$ = "" DO t$ = INKEY$ LOOP UNTIL INSTR("0123456789q", t$) > 0 AND t$ <> "" IF t$ = "q" THEN STOP PRINT t$; t = t * 10 + VAL(t$) t$ = "" NEXT y IF t > nbcach THEN PRINT " trop grand " IF t < nbcach THEN PRINT " trop petit " LOOP UNTIL t = nbcach COLOR 4 PRINT " BRAVO !" IF no <nbnb THEN elise ELSE beethov espace (5) NEXT no PRINT " Mission accomplie !" SLEEP 3 ' ici on regarde le score et on le sauve si il est bon IF essai < moinsbon THEN PRINT " Bravo ! Vous entrez dans le top "; nbenr PRINT BEEP INPUT "Entrez votre nom : "; nom$ OPEN "score.new" FOR RANDOM AS #2 LEN = LEN(joueur) OPEN "score.wouf" FOR RANDOM AS #1 LEN = LEN(joueur) ok$ = "non" i2 = 0 max = LOF(1) / LEN(joueur) IF max = 0 THEN ok$ = "oui" j.chnom = nom$ j.chnbes = essai i2 = i2 + 1 PUT #2, i2, j END IF FOR i = 1 TO max GET #1, i, joueur IF (essai < joueur.chnbes OR joueur.chnbes = 0) AND ok$ = "non" THEN ok$ = "oui" j.chnom = nom$ j.chnbes = essai i2 = i2 + 1 PUT #2, i2, j END IF i2 = i2 + 1 PUT #2, i2, joueur NEXT IF ok$ = "non" THEN ok$ = "oui" j.chnom = nom$ j.chnbes = essai i2 = i2 + 1 PUT #2, i2, j END IF CLOSE #2 CLOSE #1 KILL "score.wou" NAME "score.new" AS "score.wou" END IF END SUB SUB regle WIDTH 40, 25 CLS texte "Règles", 5, 10, 5, "non" texte "du jeu", 5, 23, 5, "oui" espace (5) COLOR 4 PRINT "Il s'agit de découvrir "; PRINT nbnb; PRINT " nombres cachés en dépensant" PRINT "le moins d'essais possibles." PRINT PRINT " Les nombres sont des entiers de "; nbch; " chiffres" PRINT PRINT " plus petit, ou plus grand" PRINT "seront mes seules indications" PRINT texte "BONNE CHANCE", 23, 12, 3, "oui" LOCATE 25, 10 COLOR 4 PRINT " presser une touche"; SLEEP END SUB
Et ce fichier externe, comme un "include"...
SUB beethov ECOUTE$ = "T180 o2 P2 P8 L8 GGG L2 E-" SUITE$ = "P24 P8 L8 FFF L2 D" PLAY ECOUTE$ + SUITE$ END SUB SUB elise PLAY ON lise$ = "o3 L8 E D+ E D+ E o2 B o3 D C L2 o2 A" PLAY "MB X" + VARPTR$(lise$) END SUB SUB espace (w) FOR i = 1 TO w PRINT NEXT END SUB SUB init (e$) DO e$ = INKEY$ z = z + 1 LOOP UNTIL e$ <> "" RANDOMIZE (z) END SUB SUB texte (a$, li, co, couleur, t$) LOCATE li, co COLOR couleur FOR i = 1 TO LEN(a$) PRINT (MID$(a$, i, 1)); " "; IF t$ = "oui" THEN SLEEP 1 NEXT END SUB
Quick Basic est téléchargeable: qb45fr.zip
Un autre exemple sur Wikipedia: Exemple de programme sous Qbasic
Lorsqu'il s'agit de représenter des objets en trois dimensions de manière précise, la perspective cavalière est une technique incontournable en géométrie. Inkscape, le logiciel de dessin vectoriel libre et open-source, se révèle être un allié exceptionnel pour créer des illustrations en perspective cavalière de manière simple et efficace.
La perspective cavalière est une technique de représentation graphique qui permet de dessiner des objets tridimensionnels sur une surface bidimensionnelle de manière réaliste. Elle est largement utilisée en ingénierie, en architecture et dans d'autres domaines où une représentation précise des objets en trois dimensions est essentielle.
Dans la perspective cavalière, les objets conservent leurs angles droits et parallèles dans les deux premières dimensions, tandis que la troisième dimension est représentée de manière inclinée. Cette approche donne une impression de profondeur et de réalisme sans sacrifier la simplicité de la représentation.
Inkscape, en tant que logiciel de dessin vectoriel, offre une gamme complète d'outils pour créer des illustrations en perspective cavalière. Voici quelques étapes simples pour commencer :
Ouvrez Inkscape et créez une nouvelle toile pour votre dessin. Allez dans "Fichier" > "Nouveau" et définissez les dimensions de votre toile en fonction de vos besoins.
Inkscape dispose d'un outil de perspective qui facilite la création d'objets en trois dimensions. Sélectionnez l'outil de perspective dans la barre latérale, puis cliquez et faites glisser pour définir la direction de la perspective.
Utilisez les outils de dessin disponibles pour créer vos objets en perspective cavalière. Inkscape permet de dessiner des lignes, des formes, et d'ajouter du texte, ce qui est idéal pour représenter des concepts géométriques complexes.
Inkscape offre également des options de personnalisation avancées. Vous pouvez ajuster les couleurs, ajouter des dégradés, et expérimenter avec les ombres pour donner à votre illustration un aspect professionnel.
Inkscape se révèle être un outil puissant pour représenter des objets en perspective cavalière en géométrie. Son interface conviviale et ses fonctionnalités avancées en font un choix idéal pour les professionnels et les amateurs cherchant à donner vie à leurs concepts géométriques.
Que vous soyez un étudiant en mathématiques cherchant à illustrer des concepts complexes ou un professionnel de l'architecture travaillant sur des plans détaillés, Inkscape peut vous accompagner dans la création d'illustrations en perspective cavalière avec facilité et précision.
N'hésitez pas à explorer les nombreuses fonctionnalités d'Inkscape pour découvrir tout son potentiel dans le domaine de la représentation graphique en géométrie.
lien vers l'article sur wouf blogVous cherchez un logiciel gratuit?
est joignable en cliquant sur "Liens" puis sur "Plus".