Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Insérer une ligne de liste via un programme
Ocisra Hors ligne Membre Points: 4 Défis: 0 Message

Insérer une ligne de liste via un programme

Posté le 30/01/2018 12:03

Bonjour,

Je fais actuellement un Snake (que je partagerai quand j'aurai fini ) et j'aurai besoin d'insérer une ligne 1 à ma liste 1 :
La case 1 passerai donc à 2, la 2 à 3 .... Et je met ma nouvelle valeur dans la case 1. Le problème est que je ne sais pas comment faire.

J'ai déjà essayé de mettre la case 5 à 6, la 4 a 5, la 3 à 4, la 2 à 3, la 1 à 2 et rajouter ma nouvelle valeur en 1. C'est pas long à faire avec un For To Next mais c'est long à exécuter quand on a 30 case dans une liste !

Merci



Lephenixnoir En ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 30/01/2018 13:19 | #


Tu peux écrire ceci :
Augment({1}, List 1) → List 1

Merci à Suruq Game de m'avoir relevé de mon oubli.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Ocisra Hors ligne Membre Points: 4 Défis: 0 Message

Citer : Posté le 30/01/2018 14:21 | #


Ok ça marche mais un nouveau problème est apparu : quand je veux tourner le snake repars de en haut à gauche de l'écran
Sais tu comment corriger ça ?

ÉDIT : j'ai réussi avec Augment () en ajoutant 2 liste tampons
Est ce que je doit ouvrir un autre sujet pour des questions sur le même programme mais sans aucun lien le titre ?

Merci beaucoup
"Avec C il est facile de se tirer dans le pied. En C++, c'est plus difficile, mais lorsque vous le faites, vous pulvérisez votre cuisse entière."
Bjarne Stroustrup. Créateur de C++.
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 30/01/2018 15:18 | #


Le mieux c'est de chercher voir si un topic est à peu près sur le sujet. Souvent y'aura des réponses, si elles ne te conviennent pas tu peux rouvrir les topics. Si tu trouve rien, créé en un nouveau.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 30/01/2018 15:47 | #


En fait, les listes de casio ne sont pas des listes (comme en python) mais des arrays (comme en C).
Du coup on ne peut pas insérer un élément dans la liste sans décaler tous les autres.

Pour ton snake tu peux toujours voir les autres snakes (sur ce site, ou dans d'autres langages, le fonctionnement devrait être le même).

Ce que je pense marcherait est de simplement remplacer la case du snake supprimée par la nouvelle case occupée.
Par exemple : le début du serpent est à la case 1, la fin à la case 20.
Tu décales le début à la case 2, la fin est désormais à la case 1 (modulo 20). Les cases 2 à 20 n'ont pas changé.
Ensuite il te suffit de faire un for sur ta liste, en prenant comme index début+i mod longueur.
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Ocisra Hors ligne Membre Points: 4 Défis: 0 Message

Citer : Posté le 30/01/2018 18:24 | #


J'ai réussi avec ta méthode lephenixnoir : une erreur à la *** de mon côté. Merci beaucoup

Pour le nouveau sujet je voudrais demander un avis et demander comment ce serait possible de le rendre plus rapide. Que dois-je faire ?

Zezombie tu as vu mon niveau : c'est pas encore extra alors je vais pas m'embrouiller pour l'instant
"Avec C il est facile de se tirer dans le pied. En C++, c'est plus difficile, mais lorsque vous le faites, vous pulvérisez votre cuisse entière."
Bjarne Stroustrup. Créateur de C++.
Lephenixnoir En ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 30/01/2018 20:25 | #


Zezombye a écrit :
En fait, les listes de casio ne sont pas des listes (comme en python) mais des arrays (comme en C).

Je te donne 32 secondes pour relire ce que tu viens d'écrire, 32 minutes pour aller apprendre ce qu'est une vraie liste (chaînée).
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 168 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd