Logicielsmoto.com

Nous sommes le 28 Mar 2024, 21:04

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 108 messages ]  Aller à la page Précédente  1 ... 3, 4, 5, 6, 7, 8  Suivante
Auteur Message
MessagePosté: 26 Juin 2022, 16:02 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Bonjour

Je livre ici, en PJ, une version temporaire (avec l'affichage de la même image de fond à chacun des 16 niveaux, le patch de Samuel pour le clavier (touches fléchées et "espace" ou "entrée" sur chaque case) et les bruitages basés sur "play"). Il y a d'autres images (une dizaine en tout) que j'ai Thomsonisé pour le coup pour cette version 2d, il restera à faire un tableau de 16 images de fond, l'ajout et la gestion de la touche P (pause).

A vous de me dire si le temps de chargement de l'image de fond (6" sur disquette) est génant ou pa, je ne pense pas vu qu'une partie dure au bas mot 25" (pour le niveau le plus facile, pour les niveaux les plus durs, c'est plus de 700)

Après il y aura à ajouter le tableau des scores (basé sur les chronos).

Puis il y aura le mode "aventure" qui sera pour une version ultérieure.


Fichiers joints:
MineSweeper_to8_2022-06-26.zip [17.81 Kio]
Téléchargé 165 fois
Haut
 Profil  
Répondre en citant le message  
MessagePosté: 26 Juin 2022, 16:14 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Samuel Devulder a écrit:
Ca pourrait marcher avec des tableaux aussi. Le truc c'est de comprendre que le ",R" fait repartir au début (comme RUN). Donc si au début tu as un GOTO, tu peux sauter la partie qui demande la langue et continuer le traitement à la suite.

C'est une petite gymnastique d'esprit, mais si tu as déjà regardé comment mon pseudo GFA-BASIC pour thomson fonctionne, tu vas voir qu'il fonctionne exactement sur ce même principe pour charger du basic Microsoft généré à partir d'une syntaxe GFA (avec un poke pour savoir si la la partie mergée en 6000+ est présente lors de la 1ère execution, je passe les détails).
Fichier(s) joint(s):
Image1.png


Que fais ce test de l'adresse &h9FFF ? Tu veux dire qu'on peut tester s'il y a eu un merge ?


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 26 Juin 2022, 16:50 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
C'est juste un flag qui résiste au MERGE+RUN (les variables standard sont effacées) qui permet de savoir si on a bien fait un MERGE avant (on le positionne juste avant le MERGE).

Pour le temps de chargement j'ai testé sous TEO qui est a priori le plus fidèle des émulateurs. Ca passe bien. C'est pas trop long.

Par contre l'affichage qui commence par faire apparaitre la forme noir sur fond blanc c'est pas top. Moi j'essayerais plutôt de faire ainsi:
Code:
102 ?"Patience l'image se charge":LOADP"CERF",IMGFND%(10000):COLOR 7,7:CLS:COLOR0:PUT(0,0),IMGFND%(10000)
Ensuite je trouve qu'elle reste trop peu de temps visible dans son entièreté. Il faudrait peut-être ajouter une petite boucle de temporisation (ou un PLAY quelquechose) après le PUT(0,0), histoire de pouvoir la regarder plus longtemps.

Il faudra peut-être aussi choisir des images où le truc important est plutôt sur la droite car c'est la zone la plus libre de l'écran. Du coup faudrait presque décaler le cerf sur la droite ou peut-être simplement retourner l'image car c'est dommage de le voir ainsi tronqué:
Fichier(s) joint(s):
Image1.png
Image1.png [ 64.68 Kio | Vu 5983 fois ]


En plus si on voit sa tête, pourquoi ne pas faire apparaitre le "perdu" sous la forme d'une bulle près de sa bouche, comme s'il commentait le jeu (tu peux prévoir une bulle dans l'image d'origine. Ca améliorera la compression mieux, et tu peux écrire dedans des messages en cours de partie ("attention au temps" ou "on a vu plus rapide" etc), voire même des infos comme "pressez une touche pour jouer"). En tout cas présente le PERDU sous forme humoristique serait un plus.

Enfin je dois avoir un problème je n'arrive pas à faire bouger la souris au clavier, ni même à poser de drapeau.

Je crois qu'il y a aussi un bug dans le niveau F. La grille ne fait pas 30x16 comme annoncé mais plutôt 30x9
Fichier(s) joint(s):
Image5.png
Image5.png [ 75.38 Kio | Vu 5983 fois ]

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 26 Juin 2022, 18:54 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Samuel Devulder a écrit:
Pour le temps de chargement j'ai testé sous TEO qui est a priori le plus fidèle des émulateurs. Ca passe bien. C'est pas trop long.

Par contre l'affichage qui commence par faire apparaitre la forme noir sur fond blanc c'est pas top. Moi j'essayerais plutôt de faire ainsi:
Code:
102 ?"Patience l'image se charge":LOADP"CERF",IMGFND%(10000):COLOR 7,7:CLS:COLOR0:PUT(0,0),IMGFND%(10000)


Ok j'essaierai ça

Samuel Devulder a écrit:
Ensuite je trouve qu'elle reste trop peu de temps visible dans son entièreté. Il faudrait peut-être ajouter une petite boucle de temporisation (ou un PLAY quelquechose) après le PUT(0,0), histoire de pouvoir la regarder plus longtemps.

La touche "P" de Pause réaffichera cette photo de fond complètement, donc no worries about that.

Samuel Devulder a écrit:
Il faudra peut-être aussi choisir des images où le truc important est plutôt sur la droite car c'est la zone la plus libre de l'écran. Du coup faudrait presque décaler le cerf sur la droite ou peut-être simplement retourner l'image car c'est dommage de le voir ainsi tronqué:
Fichier(s) joint(s):
Image1.png


C'est ce que j'ai essayé de faire dans les choix d'image et je crois me rappeler que justement, j'ai fait un miroir sur cette photo de cerf (àà l'origine le cerf était à gauche). Encore une fois, la touche "P" perlettra de voir la photo complètement.

Samuel Devulder a écrit:
En plus si on voit sa tête, pourquoi ne pas faire apparaitre le "perdu" sous la forme d'une bulle près de sa bouche, comme s'il commentait le jeu (tu peux prévoir une bulle dans l'image d'origine. Ca améliorera la compression mieux, et tu peux écrire dedans des messages en cours de partie ("attention au temps" ou "on a vu plus rapide" etc), voire même des infos comme "pressez une touche pour jouer"). En tout cas présente le PERDU sous forme humoristique serait un plus.

Idé sympa mais malheureusement pour les grilles larges (30x20), la place sur la droite devient très minime.. il resterait 9 caractères de large grand max... Tu pense que c'ets faisable ?
Initialement, j'avais pensé à mettre des zones de textes sur la droite mais on se priverait de grosses grilles.

Samuel Devulder a écrit:
Enfin je dois avoir un problème je n'arrive pas à faire bouger la souris au clavier, ni même à poser de drapeau.

Retesté avec DC MOTO et ça fonctionne pourtant bien de mon côté (quand souris présente).
En revanche, ça ne fonctionne pas si je désactive la souris dans DCMOTO
Le code est ici
Code:
600 'TRAITEMENT DE LA SOURIS ou du clavier PENDANT LE JEU
610 CONSOLE,,3
611 INMOUSE XMOUS2,YMOUS2 : XKEY=ASC(INKEY$+CHR$(0))
612 IF XMOUS2>=0 THEN  XMOUS=XMOUS2:YMOUS=YMOUS2 : GOTO 620
613 IF XKEY>7 AND XKEY<12 THEN XMOUS=4+8*(OLDXMOUS@8+(XKEY=8)-(XKEY=9)): YMOUS=4+8*(OLDYMOUS@8-(XKEY=10)+(XKEY=11)) : GOTO 620
614 IF XKEY<>0 THEN gosub 700 else goto 611
620 IF XMOUS<>OLDXMOUS OR YMOUS<>OLDYMOUS THEN SHOW 1 :TURTLE0,XMOUS,YMOUS:OLDXMOUS=XMOUS:OLDYMOUS=YMOUS
621 CLICMOUS=MTRIG(0)+2*MTRIG(1)+(XKEY=13)+2*(XKEY=32) : IF CLICMOUS=0 THEN 699
630 X=(XMOUS-8*XOFFSET)@TAILCASE : Y=(YMOUS-8*YOFFSET)@TAILCASE: IF X>XMAX OR Y>YMAX OR XMOUS@8<XOFFSET OR YMOUS@8<YOFFSET THEN 699
640 I=Y*(XMAX+1)+X
650 IF CLICMOUS=-1 THEN GOSUB 800 ELSE GOSUB 850
699 CONSOLE,,0:RETURN

J'ai changé le code pour l'adapter avec une autre touche du clavier... Mais apparemment, quand la souris est inactive, XMOUS2 doit être supérieur ou = à 0... Je ne sais pas ce qui cloche ici par rapport à ta version Samuel, ... Un coup de pouce...J'aimerais que ce problème soit résolu avant de passer à la suite.

Samuel Devulder a écrit:
Je crois qu'il y a aussi un bug dans le niveau F. La grille ne fait pas 30x16 comme annoncé mais plutôt 30x9
Fichier(s) joint(s):
Image5.png

Ah mince tu es très réactif parce que je m'étais rendu compte de ça même pas 5 mn après avoir téléchargé cette version sur le forum j'avais essayé le niveau F et m'était rendu compte de l'erreur et donc modofié le code en conséquence et retéléchargé (avec le même nom), et j'avais pensé que personne n'aurais téléchargé cette version "bugguée" avant. Du coup je revérifie que cette version est bonne.


Dernière édition par Neotenien le 27 Juin 2022, 22:27, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
MessagePosté: 26 Juin 2022, 19:19 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Je ne sais pas ce que j'ai fait lors du dernier téléchargement, ça n'était pas la version modifiée avec le bug, je crois que cette fois c'est la bonne.

Addentum : il semble que quand il n'y a pas de présence de souris (DCMOTO) XMOUS et YMOUS soient à 0...Un test indiquant qu'une des 2 valeurs est supérieures à 0 est un indicateur de ne pas utiliser le clavier.


Fichiers joints:
MineSweeper_to8_2022-06-26.zip [17.82 Kio]
Téléchargé 168 fois
Haut
 Profil  
Répondre en citant le message  
MessagePosté: 01 Juil 2022, 20:32 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Bonsoir

J'ai intégré 16 images photos d'animaux dans le jeu (niveau 0 à f), ça a l'air de fonctionner pour tous, sauf pour le niveau 9 (un ours brun est sensé s'afficher en fond d'écran) : Ca me met "Device I/O error", et en faisant un "dir", je remarque que tous les fonds d'écran font 16kO sauf celui de l'ours qui en fait 14 (13.9 kO d'après le résultat après passage à GrafX2).

Voir PJ pour cette version non finie du 1/07/2022... Avant que je n'intègre le bouton Pause et que j'en termine donc avec cette version numéro 2D.

D'autre part, le fichier fd fait 640kO ? Apparemment, on peut sans doute utiliser la face A et B...


Fichiers joints:
MineSweeper_to8_2022-07-01.zip [182.18 Kio]
Téléchargé 169 fois
Haut
 Profil  
Répondre en citant le message  
MessagePosté: 02 Juil 2022, 12:33 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Hum c'est étrange. Quand j'ai saisit
Code:
DIM A%(10000):LOADP"OURSBRUN",A%(10000)
hors programme, ca fait apparaitre des trucs bizarres à l'écran avant de se terminer par une "I/O Error" en effet. On dirait que le fichier BIN est corrompu (ou mal compressé). Pourtant mon plugin de visualisation sous windows l'affiche bien comme il faut.

Sa taille exacte est de 14 280 octets soit exactement 56*255 octets. Or cela n'est pas sans me rappeler un bug dans SAPFS (ou un autre, je ne sais plus) par rapport à l'allocation des clusters sur les diskettes virtuelles thomson. En effet, sur thomson les secteurs font certes 256 octets physiques, mais seulement 255 sont utilisés par le DOS. Résultat: un fichier de 14280 octets aura besoin de 56 secteurs de 255 octet et pas de 55 secteurs de 256. Un outil de création de diskettes qui utiliserait un calcul sur 256 octets oublierait un secteur du fichier. D'où corruption.

Je crois qu'il s'agit du même soucis mais dans DCFUtils ce coup ci. La preuve en est que si j'extrait tout et que j'en fait un fichier SAP, il n'y a plus d'erreur!
Code:
$ ls sapdir/
AUTO.BAT      COULEUVR.MAP  HERMINE.MAP  MINES.BIN     SALAMAND.MAP
BLAIREAU.MAP  ECUREUIL.MAP  HUPPE.MAP    OURSBRUN.MAP  TEXT_FR.BAS
CERF.MAP      GRENFROG.MAP  LEROT.MAP    PIVERT.MAP    TORTUE.MAP
CHOUETTE.MAP  GYPAETE.MAP   LEZARD.MAP   RENARD.MAP

$ ../../sapfs/sapfs.exe -c disk.sap; ../../sapfs/sapfs.exe -a disk.sap sapdir/*


Fichiers joints:
Commentaire: Version construite avec SAPFS2
disk.zip [184.24 Kio]
Téléchargé 169 fois

_________________
Good morning, that's a nice Tnetennba
Haut
 Profil  
Répondre en citant le message  
MessagePosté: 02 Juil 2022, 17:45 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Réponse à Samuel pour le dernier message

Ok la nouvelle version marche avec l'ours, alors du coup je me demande pourquoi ça n'a fait ça que pour l'image d'ours et pas pour les autres ? J'ai peut-être fait une erreur de manipulation ?

1/ Si l'erreur est confirmée, faut-il le signaler à Daniel ?
2/ Tu me garantis ne pas avoir modifié mon code dans la disquette ? (parce que je me servirai de celle-ci)

Sinon, ton patch (que j'avais modifié) est présent mais j'ai modifié les conditions et tu dois pouvoir y jouer.

Pour le mode Aventure, comme vous l'avez deviné ça fera intervenir des villes d'Ukraine... Cependant je ne sais pas encore quels niveaux de grille je vais intégrer sachant que pour certaines (genre 10x10 40 mines/exemple), la grille est très difficile à finir sans une part de chance, hors c'est pas le but du jeu. Je pense que je vais utiliser 8 étapes en Ukraine, donc 8 types de grilles différentes (sachant que le nombre de cases ne doit pas dépasser 512), si'l y a des habitués des démineurs j'attend des suggestion de grilles (dont la taille seraient en rapport avec la taille des villes). Il y aura aussi des parties animées, 3 types d'animation en fait:
1/ La description de la mission suivante à bord du Faunix bird, je voudrais créer un truc du même genre quo'n trouve sur Substation Atari/ST, en mode TO7 ?
phpBB [video]

2/ Sur la carte (mode bm4) déplacement en pointillé d'une ville vers une autre)
3/ A la fin de chaque niveau, une animation (en mode bm16)

Sinon, pour,la suite, je pense à adapter CloggedUp (Puzzle Parking pour STE), Puzzle bubble aussi (en mode bm16) c'est moins complexe que Bubble Bobble, et peut-être aussi, Gridrunner, écrit par Jeff Minter pour C64 à l'origine, qui a le même genre de gameplay que Centipede (dont une adaptation a été faite par Titus sous le titre Worm Madness et qui est diablement bien réussi sur les Thomson).
phpBB [video]

phpBB [video]

phpBB [video]


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 02 Juil 2022, 19:27 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Citation:
Ok la nouvelle version marche avec l'ours, alors du coup je me demande pourquoi ça n'a fait ça que pour l'image d'ours et pas pour les autres ?
Le problème de la taille du fichier qui est exactement un multiple de 255 (1 chance sur 255 que ca arrive!) et un bug dans DCFUtil.
Citation:
J'ai peut-être fait une erreur de manipulation ?
Non c'est juste la faute à "pas de chance". Tu touches un pixel, le fichier n'est plus un multiple de 255, et plus de problèmes avec FDUtil. Tu peux faire cela en attendant la correction (J'ai averti Daniel du bug).
Citation:
Tu me garantis ne pas avoir modifié mon code dans la disquette ? (parce que je me servirai de celle-ci)
Non j'ai juste repacké le contenu en diskette SAP via l'outil SAPFS. Normalement aucun fichier n'est modifiée. C'est juste la structure de la diskette qui est correcte quand elle est générée par SAPFS.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 03 Juil 2022, 11:22 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Daniel a publié une nouvelle version (lien) de DCFutil qui corrige le bug observé :)

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 04 Juil 2022, 20:16 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
C'est très réactif! Merci Daniel (et j'ai vu au pasage que la version précédente que j'avais de dcfutils que j'avais précédemment datait de 2011!


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 07 Juil 2022, 21:19 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Je vous délivre la dernière version de la série numéro 2D:
Dans cette version, vous pouvez:
- utiliser le clavier (si le curseur ne se trouve ni en X=0 ni en Y=0, ou si pas de souris)
- appuyer sur "p" ou "P" pendant le jeu (et Samuel tu pourras voir les belles photos") , pour Pause et revenir au jeu en apuyant sur "p" ou "P". Si la pause prend un peu d etemps c'est pour la sauvegarde de l'image courante du jeu.
- appuyer sur "q" ou "Q" pendant le jeu pour "Quitter"

Je l'ajoute également au message initial de ce sujet (afin que les gens n'aie pas à chercher)


Fichiers joints:
MineSweeper_TO8_2022-07-07_v2d.zip [185.23 Kio]
Téléchargé 161 fois
Haut
 Profil  
Répondre en citant le message  
MessagePosté: 09 Oct 2022, 21:45 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Bonjour

J'avance sur la partie "hall of fame" du jeu (mode "challenge"), il y a 16 tableaux. J'ai créé une routine pour initialiser ces 16 fichiers à accès direct (bonne nouvelle, d'après Daniel, c'est aussi possible sur MO6... tant mieux parce qu'il y a des italiens qui attendent ce jeu).

Et je me suis rendu compte que certains niveaux étaient IMPOSSIBLE à trouver sans une grosse part de chance (les niveaux 2, 5, voire 4 aussi), aussi j'ai diminué le nombre de mines à trouver pour les niveau 1, 2, 4 et 5, et cette fois, les niveaux sont jouables

Pour ce qui est des scores initiaux, j'avais essayé de trouver une formule avec des ln, puissances etc... mais rien de satisfaisant. Samuel m'ayant suggéré de partir de mes meilleurs scores, et ajouter 10% pour le meilleur score du Hall of Fame (pour les personnages, ça sera une surprise...).

Correction d'un bug:
- lorsqu'un clic gauche était effectué sur une case avec fanion, le nombre de mines découvertes n'était pas décrémenté. Et pour résoudre ça, j'ai trouvé par hasard une particularité du Basic qui n'existe sur aucun autre langage à ma connaissance : en Basic on peut aller n'importe où dans une ligne de sous routine par un Gosub! Illustration par ce code

Code:
800 'Traitement clic gauche : on sauve les valeurs de couleur, locate et attrb pour Interval
801 IF STATUT=1 THEN NBMARK=NBMARK-1 : GOSUB 890 'astuce perso : on va à un point d'une routine!!
802 if charcase=130 then poke ADRGAMESTATUT, 2
810 show 0: POKE ADRXPOS,X : POKE ADRYPOS,Y : POKE ADRIDTAB, I@256:POKE ADRIDTAB+1, I and 255
820 CONSOLE,,0: ATTRB carsize0,carsize1 :EXEC &H8500
830 GAMESTATUT=PEEK (ADRGAMESTATUT)
831 IF GAMESTATUT<>0 THEN GOTO 849
840 PLAY "O5L12A6DO" : NBRESTANT = PEEK (ADRNBREST)*256+PEEK (ADRNBREST+1)
841 ATTRB 0,0 : color couleurforme,couleurfond : LOCATE 3,0 : ?NBRESTANT
842 b$=inkey$ : if b$="" then 849
843 if chr$(asc(b$) OR 32) = "q" then end
849 RETURN

850 'TRAITEMENT CLIC DROIT
860 IF statut=0 THEN 899
861 show 0:CONSOLE ,,0 :
862 attrb carsize0,carsize1
863 xtmp= X*(1+carsize0)+XOFFSET:ytmp=Y*(1+carsize0)+YOFFSET+carsize0 :LOCATE xtmp,ytmp
870 IF statut=2 THEN COLOR 1,7 : NBMARK=NBMARK+1 : PRINT GR$(1) : poke &h9200+i,1: PLAY "O5L6A0SI" : GOTO 890
880 IF statut=1 THEN COLOR 7,8 : NBMARK=NBMARK-1 : PRINT GR$(0): PLAY "O4L6A0SI" : poke &h9200+i,2
890 attrb 0,0 : color couleurforme,couleurfond : LOCATE 13,0 :?NBMARK
899 attrb carsize0,carsize1:RETURN


800 et 850 sont sensés être des entrées de sous routines basic, mais avec la ligne 801, on peut aller directement (par exemple) en 890 (sous routine) par un GOSUB!! J'ai vraiment fait ça par hasard et je ne crois pas que le C, Java, Pascal, PHP etc soit capable de faire ça (je me trompe peut-être ?) même si le C, Pascal ont des étiquettes, il me semble qu'on ne peut y accéder que par des "goto"... Quelqu'un peut me confirmer ? Par contre, en Assembleur, ceci est tout à fait possible.

Sinon, au niveau améliiorations, j'ai ajouté une fonction assembleur qui affiche toutes les mines restantes quand on s'est planté (l'affichage, même pour les gros niveaux, est quasi instantané), par contre, je me demande si ça ne serait pas intéressant d'ajouter la possibilité de rejouer le niveau perdu (Comme c'est le cas pour Kmines sous Linux) ? C'est pas difficile à ajouter comme fonction vu que les routines assembleur le permettent déjà quasiment : au cours du jeu, les données "cases" ne sot pas modifiés, seuls les statuts des cases -caché, drapeau, découvert- changent.
Il y a aussi la possibilité d'ajouter une (ou plusieurs) aide (une croix sur une case grise non minée)... Mais ça pourrait être un truc du genre comme les cheat codes des tous premiers jeux vidéo... Mais en Basic LOL.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 10 Oct 2022, 09:45 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
En fait le basic n'est pas très structuré. Il n'y a pas, par exemple, de notion formelle de point d'entrée ou de sortie d'une sub-routine.

On peut faire un GOTO ou un GOSUB sur une ligne arbitraire, donc potentiellement au milieu d'une routine, d'une boucle for, etc.

C'est bien entendu une mauvaise pratique (code spaghettis) et la raison pour laquelle les langages de plus haut niveau n'ont plus de sauts non structurés, en particuliers de GOTO(*) (mais on a des break/continue/last/... à la place).
___
(*) Le C l'a conservé, mais c'est terrible (**): on peut sauter au milieu d'un switch/case, et même au milieu d'une autre procédure si le compilateur (très ancien) n'implémente pas les scopes d'étiquettes. Bref c'est une horreur à ne jamais faire.

(**) enfin il y bien pire encore avec les pointeurs sur fonctions... On peut se débrouiller pour entrer dans une routine par son milieu, ou 3 octets après son début. Bref, on peut y faire les mêmes trucs affreux qu'en basic ou ASM, et bien évidemment, ca finit par planter.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 10 Oct 2022, 13:33 
Hors ligne

Inscription: 21 Fév 2020, 11:38
Messages: 366
Tu as tout à fait raison Samuel

Evidemment que ce que j'ai utilisé là n'est pas à reproduire;, mais j'ai trouvé ça amusant sur le coup.

Alors comment faire ? Simplement créer une nouvelle routine rien que pour l'affichage du score (puisque cette partie de code apparait plus d'une fois, on factorise informatiquement)... Après, il faut trouver un équilibre entre la nécessité de réécrire le même code (c'est ce que les fnctions permettent) ou créer une fonction. Vu qui'l y a plusieurs instruction ici, une nouvelle fonction pourrait être possible.

Par contre, je suis surpris que ça soit possible en C avec les pointeurs de fonction (en y réfléchissant, vu qu'un pointeur est une adresse, oui ça serait possible mais il faut connâitre précisément cette adresse dans la fonction... Je ne crois pas que ça soit possible en Pascal en revanche.

J'espère livrer une nouvelle version avec les hall of fame d'ici la fin de semaine voire aussi une version MO6! Mais essayer les différents niveau pour les best score, ça prend du temps, suttout pour les niveaux hardos. J'en ai établi 10/16 pour le moment


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 108 messages ]  Aller à la page Précédente  1 ... 3, 4, 5, 6, 7, 8  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 32 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com