30

Brunni :
Il faut la mettre à 1 si on tombe, ou alors carrément gérer autrement la collision avec les ennemis (genre direction de laquelle on vient).
Non, mais le problème n'est pas là! C'est que je VEUX garder ce "bug" qui n'en n'est pas un. Si on regarde le code d'un ennemi on voit bien:
[...]
if (!enboule || y_absolue>enny-4) {
[...] Je l'ai mis le !enboule en gras. Si j'enlève ça, ça fonctionnera à tous les coups.

Bah, vire-le alors! Ou mets-le en commentaire, en attendant que tu fasses un Sonic.
1. Ça n'a rien à faire dans un Mario! Mario ne s'enroule pas!
2. Il n'y a aucun feedback graphique pour montrer si on est "en boule" ou pas.
3. Dans tous les jeux Mario que je connais, si on tombe sur l'ennemi, on tue l'ennemi. Le comportement de ton jeu est extrèmement illogique et frustrant pour quelqu'un habitué au vrai jeu.
Mais je n'en ai malheureusement pas envie. Il est logique que si l'on se laisse tomber de la plate-forme on n'aura pas la même force pour écraser un ennemi que si on faisait un immense saut!

N'importe quoi.
Si tu te laisses tomber d'une plateforme qui se trouve à une hauteur de 2 mètres ou si tu sautes à une hauteur de 2 mètres en partant du sol, puis te laisses tomber, la force que tu effectueras sur l'ennemi sur lequel tu tombes est exactement la même. L'énergie potentielle de gravitation ne dépend pas du tout de la manière de laquelle tu es monté à un certain niveau.
Je sens que tu es nul en physique, ce qui explique aussi le problème de la parabole.
Désolé, je ne veux pas avoir l'air d'ignorer tes remarques mais le fait est que ce "bug" est volontaire alors... Bon je pourrais me dire:
if ((!enboule || GRAVITE>GRAVITE_DEPART+3) || y_absolue>enny-4) eventuellement. Dans le cas où la gravité est élevée cela signifie que le saut est suffisamment "puissant" pour écraser ce pauvre Goomba..

Non, tu vires le "enboule" tout simplement, parce que:
1. il n'a rien à faire dans un Mario et
2. la manière de laquelle on est arrivé à une hauteur n'a strictement aucune influence sur l'énergie potentielle de cette hauteur et donc sur l'énergie cinétique présente au contact avec l'ennemi.
Pas étonnant que ce n'est pas réaliste. Tu mets v (ta variable z) proportionnel à h. Or v est censé être proportionnel à t et h à t². D'où problème. Il faut mettre v proportionnel à h^(1/2).
Donc tu me conseillerais quoi sachant que:
#define MAX_SAUT (40+SAUT_OBLIGATOIRE)
(où SAUT_OBLIGATOIRE est la hauteur supplémentaire de saut que peut infliger un ennemi ou un bumper)
et saut est la valeur courante du saut (si >MAX_SAUT, le saut est terminé) z=sqrt(MAX_SAUT-saut); (t'en penses quoi?)

Non, ça ne va pas.
Bon, on fait le calcul:
a=-g
v0=4
v=a*t+v0=4-g*t
h0=0
h=1/2*a*t²+v0*t+h0=4*t-1/2*g*t²
-1/2*g*t²+4*t-h=0
t=(-4±(16-2*g*h)^(1/2))/(-1)=4±(16-2*g*h)^(1/2)
v=4-g*t=4-g*(4±(16-2*g*h)^(1/2))

v correspond à ton z, h correspond à ton saut. Dans le ±, un des signes correspond à la montée et un à la descente. Reste à trouver g. C'est la valeur pour laquelle le saut s'arrête à MAX_SAUT. On veut donc g tel que 4*t-1/2*g*t² ait son maximum en MAX_SAUT. Cette fonction a un maximum en 4/g qui vaut 8/g. Donc:
8/g=MAX_SAUT
g=8/MAX_SAUT

Voilà, j'espère que je n'ai pas fait d'erreurs de calcul. En tout cas, c'est le calcul à faire.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

31

Bon, je récapitule:
Si on se laisse tomber sur un ennemi par le haut, ça devrait être l'ennemi qui meurt (comme si on lui saute dessus). Là, c'est Mario qui meurt.
[sondage=13702]
Je précise qu'aucun Mario à ma connaissance ne se comporte comme celui de Brunni.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

32

Je crois même que dans Mario, même si tu es immobile sur une plate-forme et qu'un ennemi saute dans tes pieds par en bas, c'est lui qui meurt.
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

33

Exact.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

34

>Je sens que tu es nul en physique, ce qui explique aussi le problème de la parabole.
Hum... Je n'ai jamais fait de phisique. C'est normal.
Non, tu vires le "enboule" tout simplement, parce que:
1. il n'a rien à faire dans un Mario et 2. la manière de laquelle on est arrivé à une hauteur n'a strictement aucune influence sur l'énergie potentielle de cette hauteur et donc sur l'énergie cinétique présente au contact avec l'ennemi.
Oah! Faut pas s'énerver hein. #define enboule (saut). maintenant reste à savoir si on peut tuer un ennemi durant notre saut. Genre:
probmario.png
Si on saute maintenant et qu'on tue l'ennemi pendant son saut... Est-ce qu'on le tuera ou bien on SE fera tuer? Logiquement, pour tuer un ennemi faut peut-être qu'on soit dans la phase DESCENDANTE de notre saut mais je ne peux le vérifier...
Pour Sonic je sais que ça marche (et ça marche justement avec le mario en ce moment):
sonic4.png
Dans ce screenshot que j'ai déjà utilisé (je sais pas si vous voyez les png?) on remarque le singe dans l'arbre. On peut le battre en sautant dessous l'arbre... Mais Mario peut-il le faire?
1. il n'a rien à faire dans un Mario et
Si tu continues je change le nom wink
Sinon j'y pige ABSOLUMENT rien à tes calculs.. Mais ça pourrait marcher si je les fous tels quels dans le code? (je fais une fonction calcule_saut). Et pourquoi 8/g?
Enfin, merci.
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

35

Brunni :
>Je sens que tu es nul en physique, ce qui explique aussi le problème de la parabole. Hum... Je n'ai jamais fait de phisique. C'est normal.
Ah ? Tu es en quelle classe ?
Logiquement, pour tuer un ennemi faut peut-être qu'on soit dans la phase DESCENDANTE de notre saut mais je ne peux le vérifier...
Bah je ne sais pas comment tu te débrouilles, mais ça ne me paraît vraiment pas compliqué...

36

Normalement, en gros, dans Sonic on tue un ennemi si et seulement si on entre en collision avec lui alors qu'on est en boule (ce qui est le cas du décollage à l'atterrissage du saut ainsi que quand on roule).

Dans Mario, on le tue si et seulement si on est au-dessus de lui lors de la collision (mais vraiment au-dessus, c'est à dire les pieds au-dessus de sa tête), indépendamment du fait qu'on saute ou pas. Donc pour répondre à ta question, non, Mario ne pourrait pas tuer le singe par en-dessous...
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

37

Merci.
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

38

Sally Brown :
Normalement, en gros, dans Sonic on tue un ennemi si et seulement si on entre en collision avec lui alors qu'on est en boule (ce qui est le cas du décollage à l'atterrissage du saut ainsi que quand on roule).

Dans Mario, on le tue si et seulement si on est au-dessus de lui lors de la collision (mais vraiment au-dessus, c'est à dire les pieds au-dessus de sa tête), indépendamment du fait qu'on saute ou pas. Donc pour répondre à ta question, non, Mario ne pourrait pas tuer le singe par en-dessous...

à moins de faire la roue smile
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

39

Si ça c'est pas du flood de topic sérieux roll
avatar
I'm on a boat motherfucker, don't you ever forget

40

Le saut parobique est tres simple a faire si on travaille avec des fixed.

VitesseY += Pesanteur
Y += VitesseY.

Yint = Y>>16.

Si vous voyez ce que je veux dire.

41

C'est quoi Yint? Et je ne comprends pas trop...
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

42

Y est un reel 2.15236, et YInt est 2. Y'a rien de plus.

43

PpHd> tout à fait d'accord, c'est pas ça qui est embêtant, ce sont les différents contacts qui vont avecs wink
mais c'est clair que pouvoir travailler frame par frame et donc faire le déplacment en instantanné évite quelques calculs wink
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

44

Brunni
: Si on saute maintenant et qu'on tue l'ennemi pendant son saut... Est-ce qu'on le tuera ou bien on SE fera tuer? Logiquement, pour tuer un ennemi faut peut-être qu'on soit dans la phase DESCENDANTE de notre saut mais je ne peux le vérifier...

Il faut être dans la phase descendante. On peut même tuer l'ennemi en plein air à condition d'être dans la phase descendante.
Et si, dans ton code de saut, tu mets enboule = descend? Je pense que ça devrait marcher, ça.
Dans ce screenshot que j'ai déjà utilisé (je sais pas si vous voyez les png?) on remarque le singe dans l'arbre. On peut le battre en sautant dessous l'arbre... Mais Mario peut-il le faire?

Il peut le faire, mais il doit prendre le singe par le haut, pas par le bas.
Sinon j'y pige ABSOLUMENT rien à tes calculs.. Mais ça pourrait marcher si je les fous tels quels dans le code? (je fais une fonction calcule_saut).

Pas tous. Juste ça:
g=8/MAX_SAUT
z=4-g*(4±(16-2*g*saut)^(1/2))

Mais il faudra passer par les float pour que cette formule fonctionne. sad
Et il faut aussi savoir dans quelle phase du saut (montée ou descente) tu te trouves pour savoir si c'est + ou - ici.
Et pourquoi 8/g?

Calcul du maximum d'une fonction. Rentre fMax(...,t) dans ta TI-89 et tu auras t=4/g. Maintenant, tu rentres ...|t=4/g et tu auras 8/g. Pour calculer ça à la main, il faut trouver l'endroit où la dérivée s'annule.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

45

Kevin: pas besoin d'être dans la phase descendante, si un ennemi se jette sous tes pieds, il meurt aussi !
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

46

PpHd :
Le saut parobique est tres simple a faire si on travaille avec des fixed.

VitesseY += Pesanteur
Y += VitesseY.

Yint = Y>>16.
Si vous voyez ce que je veux dire.


oui pour un sfcave que j'avais fait j'utilisait cette methode, mais en meme temps fat trouver la bonne parabolle, parce que moi j'ai pas trouvé la para parfaite sad

47

Ximoon
: Kevin: pas besoin d'être dans la phase descendante, si un ennemi se jette sous tes pieds, il meurt aussi !

En effet, en voyant son image de l'ennemi qui tombe, je n'avais pas pensé au cas où l'ennemi monte. embarrassed Donc en fait, il suffit de comparer les positions verticales de Mario et de l'ennemi pour savoir comment réagir. smile
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

48

Facile. Mettons que 16 pixels = 1m et tu tournes a 15 fps.
Ca fait pesanteur = 16*65536/(15^2)
C'est la methode pour faire des paraboles (Oublie le truc de Kevin).

49

k

50

Hé, le moment est venue de [braïce]caSSéééééééé[/braïce] tous vos raisonnements sut la mort d'un ennemi lors d'un saut, réjoutant une difficulté supplémentaire: Je ne me souviens plus si c'est le cas dans un mario sur NES, mais dans Super Mario World, cerains ennemis ont une pointe orientée vers le haut! Si on veut que le jeu TI supporte ce type d'ennemis (à supposer qu'il y en aït dans les Mario correspondants) il faudra tester si l'ennemi est écrasable ou non!

Et s'il est écrasable, bien on le tue dès qu'il se présente sous les piéds de Mario (j'ai voté "l'ennemi doit mourir")
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

51

dans Mario 1 les spinis ont des pointes sur le dos effectivement, mais ça relève du cas particulier. Dans Mario 2, on ne risque pas de tuer les ennemis en leur sautant dessus mais en fait ça n'a rien à voir là grin
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

52

Brunni> Tu as quel âge et tu es en quelle classe au juste, pour ne pas connaître du tout la physique ?

53

Si on veut que le jeu TI supporte ce type d'ennemis (à supposer qu'il y en aït dans les Mario correspondants) il faudra tester si l'ennemi est écrasable ou non!
De toutes façons le seul ennemi écrasable est ce pauvre goomba... King kong c'est pas la peine (il vous repousse), le poisson-hérissé non-plus (il vous tue), ah oui il y a les vautours! Mais bon. De toutes façons je ne pense pas qu'il y ait de quoi en faire un débat.
Brunni> Tu as quel âge et tu es en quelle classe au juste, pour ne pas connaître du tout la physique ?
Bah seize ans... Et la physique viendra l'année prochaine (celle que je vais commencer en août) dans la matu. Mais à en entendre les commentaires des deuxième, je ne suis pas pressé wink
Je précise qu'aucun Mario à ma connaissance ne se comporte comme celui de Brunni.
Ben faut une première fois à tout. Ah là là! Tu veux vraiment que je change de nom pour la version 1.1 hein? happy
Link>< Ma chaine EXEC est trop longue... > Pourtant il était joli ce petit Link... Dommage!
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

54

Link :
Hé, le moment est venue de [braïce]caSSéééééééé[/braïce] tous vos raisonnements sut la mort d'un ennemi lors d'un saut, réjoutant une difficulté supplémentaire: Je ne me souviens plus si c'est le cas dans un mario sur NES, mais dans Super Mario World, cerains ennemis ont une pointe orientée vers le haut! Si on veut que le jeu TI supporte ce type d'ennemis (à supposer qu'il y en aït dans les Mario correspondants) il faudra tester si l'ennemi est écrasable ou non!

Évidemment...
Là, on est sous l'hypothèse que l'ennemi est écrasable, sinon pas la peine d'essayer de l'écraser, quelle que soit la méthode utilisée. roll
Et s'il est écrasable, bien on le tue dès qu'il se présente sous les piéds de Mario (j'ai voté "l'ennemi doit mourir")

Exact.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

55

Tu as déjà fait un Mario (ou un jeu de plate-formes en 2D) Kevin Kofler?
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

56

J'ai fait un Mario en BASIC avec tous les niveaux codés en dur il y a quelques années, mais il est injouable (trop lent), inextensible (niveaux codés en dur, un seul nouvel écran = une centaine de lignes de code) et il n'y a aucune animation de saut (par exemple si on saute en dessous d'une pièce, la pièce disparaît "magiquement"), donc franchement je le retiens bon pour la poubelle. sad Je ne l'ai jamais publié d'ailleurs.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

57

[Off-topic]
Brunni
: Link>< Ma chaine EXEC est trop longue... > Pourtant il était joli ce petit Link... Dommage!

je sais, mais depuis que j'ai rajouté des liens devant, la taille totale de la signature (totale=sans déduire les URLs) devenait trop longue, et la chaine exec était tronquée... Je ne pouvais pas laisser la chaine exec ainsi incomplète, alors je l'ai retirée, je la remettrai quant je retirerai les urls...
[/off-topic]
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

58

< Ma chaine EXEC est trop longue... >

ERROR: ASAP or Exec string too long grin
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

59

Kevin Kofler
:
< Ma chaine EXEC est trop longue... >

ERROR: ASAP or Exec string too long grin

Non! Ca ne faisait pas ça. Ca dessinait un ch'tit Link en haut de l'écran. C'était sympa. Notez que j'ai quand-même mis un moment à la taper cette chaine sur la VTI! (non je voulais pas essayer sur la VraieTI!) Et encore un miracle que je n'aie pas fait d'erreur smile
J'ai fait un Mario en BASIC avec tous les niveaux codés en dur il y a quelques années, mais il est injouable (trop lent), inextensible (niveaux codés en dur, un seul nouvel écran = une centaine de lignes de code) et il n'y a aucune animation de saut (par exemple si on saute en dessous d'une pièce, la pièce disparaît "magiquement"), donc franchement je le retiens bon pour la poubelle. Je ne l'ai jamais publié d'ailleurs.
Ca me fait penser que mon Mario au départ était en BASIC. Ca tournait, mais fallait juste avoir du temps pour jouer smile. Il ne faisait pas grand chose (pas de pf inclinée, pas d'ennemi, c'était juste un essai pendant le cours de dessin technique et matériaux pour savoir si j'allais avoir assez de courage pour m'y mettre wink ) Mais j'en ai gardé un sous sa forme la plus primitive (il est distribué avec les clex (exemples de clib, dans son zip donc, sur mon site) sous le nom de demo_2d). Bon je ne parle pas de demo_3d... roll
Mais bon grâce à ma lib, clib, ces jeux s'en sortaient immensément bien (on voit tout de suite la puissance de cette lib en essayant les clex, y'a vraiment de tout et ça tourne rapidement en plus). Et aussi Gen X (bonne application pour ma lib) qui tourne bien sachant qu'il y a même encore une grosse attente en mode dur. Bon tout ça c'est aussi off-topic alors je le laisse de côté.
Sinon en parlant des jeux les plus "irréalistes", j'ai un bon exemple:
jamespond.png
Devinez comment je suis arrivé là-haut?
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

60

Brunni :
Bon je ne parle pas de demo_3d... roll
Bah tu viens de le faire roll
N'en reparle surtout pas.
Mais bon grâce à ma lib, clib, ces jeux s'en sortaient immensément bien (on voit tout de suite la puissance de cette lib en essayant les clex, y'a vraiment de tout et ça tourne rapidement en plus). Bon tout ça c'est aussi off-topic alors je le laisse de côté.
Bah n'en parle pas non plus alors !