Affichage de texte
Posté le 05/12/2014 10:57
Hey, salut la communauté, je suis de retour o/
Alors voilà, je me suis remis a programmer un petit peu ces temps-ci et je commence a m'attaquer aux choses que je ne toucher pas encore avant, donc la je m'amuse avec les STR pour un de mes prochains jeux ( Que je dévoilerais plus tard
)
Et donc voici mon problème :
- Je m'inspire d'une fonction programmé par NeoTux : Arkenstone
Et donc, j'essaye de reprendre le principe de son affichage de texte, mais en le modifiant, en effet, lui affiche un texte de gauche à droite, quand moi, j'essaye de faire apparaitre le texte par la gauche ET la droite en même temps, sauf que je n'arrive pas encore a positionner correctement la partie de droite et je plante la dessus :c
Pourriez vous m'aider ?
Si vous avez besoin de code ou si vous voulais voir ce que j'ai commencer a faire, je le posterais plus tard, j'ai juste rédiger vite fait ce post en cours pour qu'il soit au moins fait et aussi pour demander déjà un bout d'aide
En ce qui concerne Neo', je l'ai déjà mp pour lui demander les droits d'auteur, mais j'ai un ancien mp de lui qui me disait que j'avais le droit de reprendre ses sources donc ce n'est pas vraiment un problème
Citer : Posté le 05/12/2014 13:19 | #
Avec StrRight, t'as essayé ? Cf la liste des fonctions Basic Casio
Citer : Posté le 05/12/2014 13:38 | #
Oui oui j'ai essayé mais le problème c'est que j'arrive pas a positionné correctement le texte
Citer : Posté le 05/12/2014 13:52 | #
Je vais essayer de t'expliquer comment je conçois le problème :
Un Str 1 contenant ton texte
Un Str 2 de la même taille contenant des espaces
Tu fais une boucle (For, while, Do...) Et a chaque itération tu prends :
la partie droite du STR 2 jusqu'a l'itération en cours + le cararactère du Str 1 à l'index de l'itération + le reste du STR 2 -1 -> STR 2
La partie gauche du STR 2 jusqu'a STRLEN - l'itération en cours + le cararactère du Str 1 à l'index de l'itération + le reste du STR 2 -1 -> STR 2
Et tu affiches le STR 2 à chaque itération.
Après il y a surement moyen d'optimiser mais l'idée est la.
Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games
Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Citer : Posté le 05/12/2014 13:55 | #
Je vais déjà essayer d'appliquer ça
Ajouté le 05/12/2014 à 14:20 :
Bon alors, j'ai beau essayé, j'arrive pas a concevoir ça en code, pour le moment, je fait sans la boucle, pour voir, mais ça donne pas l'effet escompter
Citer : Posté le 05/12/2014 17:58 | #
Mets-nous ton code
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 05/12/2014 18:02 | #
Totoyo, je te met ça ce soir ou demain quand j'aurais le temps, la je passe en trombe vite fait
Ajouté le 07/12/2014 à 13:16 :
Et voici le code promis, alors pour faire court, j'ai repris une partie de celui d'arkenstone ( La partie qui calcule la position X,Y du texte ) et j'ai ajouté la mienne, tout est détaillé dans le code ( Mais j'ai encore un bug, si la taille du STR est impair, ça bug :c )
[brown]Cls[/brown]
[gray]"Ceci est un Str pair+/"[/gray]→Str [maroon]1[/maroon]
[green]'Les espaces sont aussi compter, + permet de dire que c'est la fin d'une "partie" et / permet de définir la fin du texte[/green]
0→I~Z
1→X
0→Y
[green]'Calcul de la coordonnée J[/green]
[b][blue]Do[/blue][/b]
StrSrc(Str [maroon]1[/maroon],[gray]"+"[/gray])
Ans⇒StrRotate(Str [maroon]1[/maroon],Ans)→Str [maroon]1[/maroon]
Ans⇒J+1→J
[b][blue]LpWhile[/blue][/b] StrSrc(Str [maroon]1[/maroon],[gray]"/"[/gray])≠1
StrRotate(Str [maroon]1[/maroon],[maroon]1[/maroon])→Str [maroon]1[/maroon]
12+Int (.5(42-7J→J
[b][blue]Do[/blue][/b]
StrSrc(Str [maroon]1[/maroon],[gray]"+"[/gray])→I
StrLeft(Str [maroon]1[/maroon],I-1)→Str [maroon]2[/maroon]
[green]'Calcul de la coordonnée L en Fonction de I[/green]
Int (0.5(124-3.75I→L
[green]'Ma partie :[/green]
[green]'On prend les X lettres de la gauche[/green]
StrLeft(Str [maroon]2[/maroon],X)→Str [maroon]3[/maroon]
[green]'On ajoute les espaces[/green]
[b][blue]For[/blue][/b] [maroon]1[/maroon]→M [b][blue]To[/blue][/b] StrLen(Str [maroon]2[/maroon])-2X
Str [maroon]3[/maroon]+[gray]" "[/gray]→Str [maroon]3[/maroon]
[b][blue]Next[/blue][/b]
[green]'On y ajoute ensuite les X lettres de la droites[/green]
Str [maroon]3[/maroon]+StrRight(Str [maroon]2[/maroon],X)→Str [maroon]3[/maroon]
[b][brown]Text[/brown][/b] J,L,Str [maroon]3[/maroon]
Y+1→Y
X+1→X
[b][blue]LpWhile[/blue][/b] Y≠Int (StrLen(Str [maroon]2[/maroon])/2)