PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
21 août 2005 à 22:51
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010
-
23 août 2005 à 20:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 23 août 2005 à 20:57
lol
Vous avez tout à fait raison ; cela dit, ce qui me serait venu le premier à l'esprit serait d'utiliser des boucles, pas redim, parce que ce n'est pas son objectif principal de vider des tableaux......
Galain, si tu pouvais ajouter aussi le changement de vitesse en début de partie... là on doit appuyer sur F3 à chaque début de partie, un peu répétitif
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 23 août 2005 à 20:41
tout le monde s'en fout, mais je rejoins Liquide. il n'est pas "naturel" de donner des efforts inutiles à faire, juste sous prétexte que le processeur en est capable. (sans méchanceté...)
celà dit, je n'ai pas regardé le code^^
PCPT
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 23 août 2005 à 20:24
Saros , c'est vrai que j'y suis allé un peu fort, mais ce n'est pas du détail, une boucle est faite a 30*50 et une a 1500 fois casi instantanément l'une apres l'autre, vb n'est deja pas un gage de rapidité, autant le faire dès le départ.
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 23 août 2005 à 14:33
Liquide > tu avais écrit "deux boucles l'une à la suite de l'autre", et j'avais pas regardé le code pour vérifier ^^ et c'est pas une histoire d'exposant, ça fait en tout 30*80=2400 boucles, qui est encore une fois relativement peu par rapport aux fréquences des processeurs actuels, surtout si c'est exécuté qu'une seule fois en début de partie
Mais bon c'est du détail.....
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 23 août 2005 à 14:17
Salut à tous !
Je viens de mettre à jour The Snake, alors allez y jetter un coup d'oeil !
La mise à jour comprend : amélioration graphique (on peut choisir les couleurs du snake, de sa tête, de la piste et du morceau de snake).
Il y a une aide plus détaillée, un high score, les variables sont renommées et déclarées, on peut enlever le son, la sélection de la vitesse est améliorée (avec une progressbar pour être plus ésthétique).
Et pour finir, les couleurs, la (dés)activation du son et le high score sont sauvegardés sur le PC !
Dîtes moi ce que vous en pensez !
J'ai aussi corrigé le bug mis en avant par Galain, que je remercie, et j'ai tenu compte de vos remarques sur les tableaux dynamiques !
@+
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 22 août 2005 à 22:26
Saros, les boucles imbriqué c'est plus 80 fois que ca gere mais c'est une question d'exposant apres
salut à tous
Mea culpa : je me suis trompé : le redim fonctionne très bien mais il ne faut pas déclarer le tableau par un dim matrice%(0 to 50,0 to 0) mais par private matrice%() sans le dimensionner
Même après plus de 25 ans de Basic on fait des bétises
Pour Saros je vais regarder pour le bug concernant l'appui des touches
Merci et a+
Galain
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 22 août 2005 à 22:23
Sur les processeurs actuels 80 boucles c'est relativement peu de choses....
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 22 août 2005 à 22:21
2 boucles l'une a la suite de l'autre (50 et 30, faire le calcul de nombre a initialiser)!!!! je doute qu'il n'y pas un gain
Concernant le redim, 1 seuls fois suffit, il suffit juste de ne pas lui avoir attribué une valeur a la déclaration de la varaible mais lui affecté par justement un redim, par la suite.
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 22 août 2005 à 22:18
Fais pas des boucles If indépendantes pour le traitement de KEY, utilise ElseIf
Mieux, passe par un tableau indiquant l'état des touches, et traite le une fois par tour
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 22 août 2005 à 22:16
Il y a un bug, on peut repartir directement dans la direction inverse du serpent en appuyant très vite sur bas-gauche ou haut-gauche (si on va vers la droite)
Tu devrais t'arranger pour n'autoriser qu'un seul appui sur une touche à la fois
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 22 août 2005 à 22:14
On peut faire :
Redim matrice%(0 to 0)
matrice%(0) = 0
Redim matrice%(0 to 40)
Toutes les valeurs sont à 0 ;)
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 22 août 2005 à 22:12
Si c'est pour une initialisation vaut mieux utiliser une boucle for. La valeur qui est stockée dans les tableaux avec le Redim est 0 car c'est la valeur par défaut d'un Integer, mais c'est forcément la valeur que l'on veut au départ.... Et puis on y gagne peu de chose
Salut à tous
Pour revenir au Redim dans la version Snake2 le gain de temps est plus que minime car ce tableau n'est vidé qu'une sele fois en début de partiece qui n'est pas le cas dans le snake de Violent_Ken
Galain
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 22 août 2005 à 22:04
parce que faire 1500 bouclage est plus rapide que faire un redim 2 fois par exemple ?
pour le preserve, on avait compris, je ne sais pas si tu avais remarqué !!!!!
Salut à tous
Redim ne fonctionne pas dans notre cas car le tableau matrice(x,y) est déjà dimensionné par un Dim
Le Redim ne fonctionne que si l'on change une ou plusieurs dimensions d'un tableau déjà dimensionné.
Preserve permet de garder les valeurs du tableau pendant un redimensionnement
exemple :
dim matrice%(0 to 30)
for x% =0 to 30
matrice%(x%)= x%
next x%
redim preserve matrice(0 to 40) --> les valeurs des indices 0 à 30 sont conservées et les valeurs d'indice 31 à 40 sont mises à 0
galain
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 22 août 2005 à 21:51
oui t'a raison c'est moi qui avait mal lu désolé.
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 22 août 2005 à 21:48
Redim Preserve pour garder la mémoire
Redim tout court pour la vider
C'est bien ce que j'ai écrit avant
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 22 août 2005 à 21:46
Ah !!!! alors il doit y avoir un probleme, le preserve est sensé garder les valeurs en mémoire et non la vider !!!, juste le redim, vide toute la mémoire attribué, avec une reaffectation de la taille bien sûr. Ou alors je n'ai pas saisis le principe du redim, ce qui est possible.
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 22 août 2005 à 21:43
Redim à la base c'est pour les redimensionner, mais on peut l'utiliser sans le mot clé Preserve pour vider la mémoire. On doit y gagner côté vitesse...
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 22 août 2005 à 21:40
Pour les screens il exite ScreenRip gratuit et "nickel".
J'en reviens au 1er snake, il y a quand meme mieux pour vider des tableaux plutot que d'utiliser des boucle "for next", je crois que le "redim" doit etre plus approprié, me trompe je ?
Salut
Merci à tous pour les infos pour les captures d'écran
A+ les gars
Galain
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 22 août 2005 à 19:48
clair. j'en ai même déjà vu un qui laissait sa pub sur le screen.
version démo ou période trial sans doute...
(de pire en pire!!)
pas contre Galain, il doit y en avoir des gratuits ici (et en open bien sûr)
de mémoire, ScSami en a fait un, en OCX qui est nikel, mais je ne sais plus si bmp ou jpg....
PCPT
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 22 août 2005 à 17:52
Utilitaire payant pour faires des screens.... arnaque powaa..
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 21 août 2005 à 23:32
il y a plein d'utilitaires gratuits ou payants, mais perso, j'en suis encore au bon vieux MSPaint.
ta fenêtre en premier plan, tu appuies sur la touche [Impr écran Syst] (au dessus des flèches directionnelles), puis tu ouvres Paint, édition/coller. et si tu as XP, tu peux l'enregistrer au format .jpg, elle sera conpressée.
sinon, .bmp puis compressée avec ACDSEE ou n'importe quelle appli de ce genre.
Salut PCPT
Merci de ta traduction .
Le mot "embellir" est peut-être un peu fort vu ce que j'ai fait
La pomme est rouge au lieu d'être de la même couleur que le serpent( vert) et j'ai rajouté la visualisation du score .
Le gros travail a été de comprendre l'algorithme du jeu pour trouver le bug dont parlait Violent_Ken que je tiens à remercier encore une fois .
Avec quoi fait-on une capture d'écran sur un jeu qui tourne ? Si tu peux me répondre cela m'intéresse
Galain
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 21 août 2005 à 23:20
pardon.
une capture d'écran s'il te plaît. si tu as "embelli" un jeu existant, çà pourrait être pratique...
PCPT
23 août 2005 à 20:57
Vous avez tout à fait raison ; cela dit, ce qui me serait venu le premier à l'esprit serait d'utiliser des boucles, pas redim, parce que ce n'est pas son objectif principal de vider des tableaux......
Galain, si tu pouvais ajouter aussi le changement de vitesse en début de partie... là on doit appuyer sur F3 à chaque début de partie, un peu répétitif
23 août 2005 à 20:41
celà dit, je n'ai pas regardé le code^^
PCPT
23 août 2005 à 20:24
23 août 2005 à 14:33
Mais bon c'est du détail.....
23 août 2005 à 14:17
Je viens de mettre à jour The Snake, alors allez y jetter un coup d'oeil !
La mise à jour comprend : amélioration graphique (on peut choisir les couleurs du snake, de sa tête, de la piste et du morceau de snake).
Il y a une aide plus détaillée, un high score, les variables sont renommées et déclarées, on peut enlever le son, la sélection de la vitesse est améliorée (avec une progressbar pour être plus ésthétique).
Et pour finir, les couleurs, la (dés)activation du son et le high score sont sauvegardés sur le PC !
Dîtes moi ce que vous en pensez !
J'ai aussi corrigé le bug mis en avant par Galain, que je remercie, et j'ai tenu compte de vos remarques sur les tableaux dynamiques !
@+
22 août 2005 à 22:26
22 août 2005 à 22:24
Mea culpa : je me suis trompé : le redim fonctionne très bien mais il ne faut pas déclarer le tableau par un dim matrice%(0 to 50,0 to 0) mais par private matrice%() sans le dimensionner
Même après plus de 25 ans de Basic on fait des bétises
Pour Saros je vais regarder pour le bug concernant l'appui des touches
Merci et a+
Galain
22 août 2005 à 22:23
22 août 2005 à 22:21
Concernant le redim, 1 seuls fois suffit, il suffit juste de ne pas lui avoir attribué une valeur a la déclaration de la varaible mais lui affecté par justement un redim, par la suite.
22 août 2005 à 22:18
Mieux, passe par un tableau indiquant l'état des touches, et traite le une fois par tour
22 août 2005 à 22:16
Tu devrais t'arranger pour n'autoriser qu'un seul appui sur une touche à la fois
22 août 2005 à 22:14
Redim matrice%(0 to 0)
matrice%(0) = 0
Redim matrice%(0 to 40)
Toutes les valeurs sont à 0 ;)
22 août 2005 à 22:12
22 août 2005 à 22:09
tu ne peux faire un redim 2 fois de suite pour le même tableau avec les mêmes dimensions ou alors je me trompe
Galain
22 août 2005 à 22:06
Pour revenir au Redim dans la version Snake2 le gain de temps est plus que minime car ce tableau n'est vidé qu'une sele fois en début de partiece qui n'est pas le cas dans le snake de Violent_Ken
Galain
22 août 2005 à 22:04
pour le preserve, on avait compris, je ne sais pas si tu avais remarqué !!!!!
22 août 2005 à 22:01
Redim ne fonctionne pas dans notre cas car le tableau matrice(x,y) est déjà dimensionné par un Dim
Le Redim ne fonctionne que si l'on change une ou plusieurs dimensions d'un tableau déjà dimensionné.
Preserve permet de garder les valeurs du tableau pendant un redimensionnement
exemple :
dim matrice%(0 to 30)
for x% =0 to 30
matrice%(x%)= x%
next x%
redim preserve matrice(0 to 40) --> les valeurs des indices 0 à 30 sont conservées et les valeurs d'indice 31 à 40 sont mises à 0
galain
22 août 2005 à 21:51
22 août 2005 à 21:48
Redim tout court pour la vider
C'est bien ce que j'ai écrit avant
22 août 2005 à 21:46
22 août 2005 à 21:43
22 août 2005 à 21:40
J'en reviens au 1er snake, il y a quand meme mieux pour vider des tableaux plutot que d'utiliser des boucle "for next", je crois que le "redim" doit etre plus approprié, me trompe je ?
22 août 2005 à 21:20
Merci à tous pour les infos pour les captures d'écran
A+ les gars
Galain
22 août 2005 à 19:48
version démo ou période trial sans doute...
(de pire en pire!!)
pas contre Galain, il doit y en avoir des gratuits ici (et en open bien sûr)
de mémoire, ScSami en a fait un, en OCX qui est nikel, mais je ne sais plus si bmp ou jpg....
PCPT
22 août 2005 à 17:52
21 août 2005 à 23:39
Merci pour l'info
Galain
21 août 2005 à 23:32
ta fenêtre en premier plan, tu appuies sur la touche [Impr écran Syst] (au dessus des flèches directionnelles), puis tu ouvres Paint, édition/coller. et si tu as XP, tu peux l'enregistrer au format .jpg, elle sera conpressée.
sinon, .bmp puis compressée avec ACDSEE ou n'importe quelle appli de ce genre.
PCPT
21 août 2005 à 23:28
Merci de ta traduction .
Le mot "embellir" est peut-être un peu fort vu ce que j'ai fait
La pomme est rouge au lieu d'être de la même couleur que le serpent( vert) et j'ai rajouté la visualisation du score .
Le gros travail a été de comprendre l'algorithme du jeu pour trouver le bug dont parlait Violent_Ken que je tiens à remercier encore une fois .
Avec quoi fait-on une capture d'écran sur un jeu qui tourne ? Si tu peux me répondre cela m'intéresse
Galain
21 août 2005 à 23:20
une capture d'écran s'il te plaît. si tu as "embelli" un jeu existant, çà pourrait être pratique...
PCPT
21 août 2005 à 23:11
tu peux traduire ton Screen svp...
Galain
21 août 2005 à 22:51
PCPT