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 - Projets de programmation


Index du Forum » Projets de programmation » Faire un système de succès
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

Faire un système de succès

Posté le 14/04/2013 18:02

Salut tout le monde, bon, je suis en vacances, j'ai oublié mon câble pour relier ma calto au PC, mais ça m'empêchera pas de continuer Robscape 2...
Sur la route, j'ai eu une petite idée qui pourrait être sympa : Créer un système de succès en C pour les programmes en Basic.
En fait mon idée est en fait de prendre un interpréteur Basic qui peut interpréter une ligne de code en plus :
'SDS [Numéro du jeu] [Numéro du succès]

Le programme en C pourra non-seulement lire des programmes en Basic, mais aussi montrer tous les succès débloqués des jeux (en montrant aussi le nombre de succès pour ce jeu) et une dernière petite fonctionnalité : gagner des points à dépenser pour par exemple débloquer un truc dans un autre jeu Basic (modification des listes/matrices) ou dans un autre jeu en C (grâce aux fichiers externes).
Enfin, j'espère que quelqu'un qui ne saurai pas quoi faire ou aimerai passer le temps puisse essayer de créer ce programme, si jamais celui-ci est possible bien sur.

De mon côté, j'avais créé il y a un moment ce genre de programme en Basic, compatible avec le premier Robscape, qui si celui-ci détectait la présence du logiciel, donnait des points à dépenser.


Ray Hors ligne Membre Points: 1338 Défis: 18 Message

Citer : Posté le 14/04/2013 21:33 | #


Alors pour détecter les trophées on utilisera une ligne de code mise en commentaire (pour que le programme Basic fonctionne sans le systèle de succès).
=> à savoir que le système contient un interpréteur Basic.
Pour l'actualisation du programme, je dirai simplement que la base de données se trouve dans un fichier externe au programme et que tu actualise le prog tout les 5 programmes compatibles créés (enfin sur ça tu gère quand tu veux quoi)...

Ajouté le 14/04/2013 à 21:34 :
Alors pour détecter les trophées on utilisera une ligne de code mise en commentaire (pour que le programme Basic fonctionne sans le systèle de succès).
=> à savoir que le système contient un interpréteur Basic.
Pour l\'actualisation du programme, je dirai simplement que la base de données se trouve dans un fichier externe au programme et que tu actualise le prog tout les 5 programmes compatibles créés (enfin sur ça tu gère quand tu veux quoi)...
Projets que je soutiens
Masquer
Tenmatx Hors ligne Membre Points: 996 Défis: 2 Message

Citer : Posté le 14/04/2013 21:35 | #


Il faudrait faire un add-in qui détecte les programmes en Basic qui commencent par un commentaire spécial, comme 'PRGM 2. Comme ça tous ceux qui programment des nouveaux jeux en Basic pourront mettre des bonus sans faire une mise à jour à chaque fois.
Mais je sais pas du tout comment tu peut faire, pour le moment j'ai à peine le niveau en C pour faire un Plus ou Moins.

Ajouté le 14/04/2013 à 21:37 :
Décidément j\'arrive à faire du cerveau lent même quand il n\'y a pas de vent.
Mes programmes de maths
Mes programmes de maths

Toutes les formules de Première S.
Toutes les formules de Terminale S.
Un programme de calculs.
Mes meilleurs jeux
Mes meilleurs jeux

Jeu gagnant des 48h CPC n°12

Mon site de discussion pour ados : http://entre-ados.net/ (a brûlé dans l'incendie d'OVH)
Mon éditeur de cours en ligne et plateforme de partage : http://wordline.xyz (a succombé à la concurrence de Google Drive...)
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 14/04/2013 22:00 | #


Non le plus simple c'est de mettre dans ce commentaire en debut de programme les succès.
L'add-in a juste à lire ces commentaires pour en déduire les succès à gérer.
Genre :
'SDS(2,13)
Signifie que la sauvegarde est la List 13 du File 2
Puis toutes les lignes qui suivent
'SDS(1,4,vous avez trouvé un champignon en fer)
Informe que le succès 1 est débloqué si la valeur de la List 13[4] != 0 avec le commentaire.
Ca règle tous les problèmes de mis à jour, et en plus ca permet au programmeur Basic de choisir ses succes sans venir faire chier Dark Storm toutes les 2 minutes
En plus l'add peut se souvenir de tous les jeux auquel on a joué.
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 14/04/2013 22:11 | #


Pas le temps de rédiger une méga réponse, mais je le prendrais demain. J'ai plein d'autres questions et d'idées pour le système
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

Citer : Posté le 14/04/2013 22:11 | #


Ton idée paraît très bien, il faudra aussi peut-être ajouter un paramètre pour savoir combien de points on gagne avec le succès...
Projets que je soutiens
Masquer
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 14/04/2013 22:12 | #


Oui après on peut rajouter tout un tas d'arguments, l'idée est à développer
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 15/04/2013 17:53 | #


Dans le cas de Ninestar, les trophées sont enregistrés dans une liste, donc je vois mal l'utilité de l'add-in...

Ce que je propose, c'est de faire un add-in qui lit des fichier (.ach par exemple) dans lesquels se trouvent les infos concernant les trophées, et les champs à modifier dans le cas où l'un serai accompli.

Le tout, c'est de réfléchir sur une standardisation de ces fichiers, de manière à ce que lorsque le jeu est installé sur la calto (avec le fichier .ach initial) l'add-in sache automatiquement ce qu'il a à faire

Je pourrais le coder un peu sous la forme du "Game Center" d'Apple: dans votre prog Basic, vous appelez des fonctions comme dans PGRM2, qui détectent si l'add-in (faut lui trouver un nom classe) est présent et si le jeu tourne dedans, et ensuite appeler une fonction qui se gère d'afficher les trophées, ou de les modifier, etc. Dans ce cas, je n'aurai aucun contrôle à faire sur vos fichiers, tant qu'ils sont conformes aux normes que l'on aura posées auparavant.

De plus, je peux, toujours dans l'add-in, faire un menu comme dans le GC avec le nombre de points total, le nombre de jeux, etc.

Alors, vos remarques ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

Citer : Posté le 15/04/2013 18:02 | #


Ou alors on peux mettre une ligne de code dans le programme Basic contenant les infos nécessaires :
'SDS(nom du jeu, nom du succès, texte complémentaire, nombre de points gagnés)

Puis à la première ligne de code on écrit par exemple
'SDS(nom du jeu, nombre de succès dans le jeu)

Puis l'add in enregistre le nom du jeu dans un fichier (prenons l'exemple du .ach) si celui-ci n'existe pas, puis il met juste en dessous le nom des succès avec leur texte complémentaire si le joueur veut voir ses succès obtenus.
Puis aussi au moment où un succès est gagné, une petite fenêtre se montre quelques secondes avec le nom du succès et le texte complémentaire (le nom sera plus grand que le texte).
Projets que je soutiens
Masquer
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 15/04/2013 18:07 | #


Pour les commentaires c'est bien.
Mais comment le programme sait qu'on a gagné tel ou tel succès ?
Parce qu'il faut aussi que le programme en basic le sache, c'est pour ça que je parle des List.
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

Citer : Posté le 15/04/2013 18:14 | #


Bah en fait on exécuterai les programmes Basic à partir de l'add in, car c'est l'add in qui gère ça, les programmes Basic s'en fichent un peu, add in ou pas, ils tourneront toujours avec que sans.
Après, l'add in doit posséder une boutique pour dépenser les points, et ça, c'est ce qui risque de poser le plus de problèmes...
Projets que je soutiens
Masquer
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 15/04/2013 18:31 | #


Donc l'add in peut détécter à n'importe quel moment tel ou tel commande basic ?
dans ce cas on peut faire un
'SDS(numero de succès, etat)
quand on gagne un succès
avec etat = 0 ou 1
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

Citer : Posté le 15/04/2013 18:40 | #


Oui, mais dans ce cas non seulement je ne vois pas pourquoi changer l'état d'un succès (un succès gagné n'est pas censé se gagner plusieurs fois) mais aussi il faut que l'add in ait une base de donnée contenant les succès, Or, en mettant le nom du succès ect, l'add in est compatible directement avec n'importe quel programme Basic, sans que l'auteur ait besoin de le mettre à jour toutes les semaines.
Projets que je soutiens
Masquer
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 15/04/2013 18:45 | #


Etat c'est juste pour le valider ou non.
Il faut bien une commande pour le dire à l'Add-in, il est pas devin :P
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

Citer : Posté le 15/04/2013 18:51 | #


Bah si l'add in lis ce code, il va surement se dire "si je l'ai lu c'est qu'il faut le valider"
Projets que je soutiens
Masquer
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 15/04/2013 18:54 | #


Oulà, j'en suis pas à dépenser des points ou quoi que ce soit.

Ce que je tient à mettre au clair, c'est que je ne peux pas détecter et lire une ligne de code comme 'SDS(nom du jeu, nombre de succès dans le jeu) en plein milieu d'un jeu (ou alors ce n'est plus de mon niveau pour que ça reste jouable…) Je peux juste regarder la valeur de variables et modifier en conséquence les trophées et cette variable… Faut que je vois aussi pour modifier des strings. Si je peux ça vous faciliterai la tache.

Du coup, on peux faire comme pour PRGM2: au début du code principal, vous mettez un ligne du genre
'SDS (nom du jeu, + infos ?)

Ensuite, si le fichier existe, on passe à la suite, sinon on le crée.

Vous implémentez alors un code du genre.
1->F
For 1->I To 1000
[green]// A vous de changer le design[/green]
locate 1,1,"Chargement en cours..."
Next
If F=0
Then "Calc Center est fonctionnel"
Else "Il ne l'est pas"
IfEnd


Ensuite, c'est avec des instructions comme pour PRGM2 que vous accédez aux fichiers des trophées:

2->F [green]// pour dire au programme de regarder la valeur de la Str 1[/green]
"WRITE: (Amateur du combo), 1"->Str 1
Do
LpWhile F [green]// stoppe l'execution du prof tant que l'add-in n'a pas fait ce qu'il avait à faire.[/green]


Et le trophée "Amateur du combo" sera actualisé comme réussi

Attention: si vous voulez que votre jeu soit compatible avec toutes les caltos (même si elles n'ont pas l'add-in), il faudra empêcher que les boucles comme ci-dessus soient actives (sinon elles sont infinies). Vous pouvez enregistrer dans une variable si la calto est compatible et gérer vos cas en fonction
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 15/04/2013 19:04 | #


Ca c'est top !
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 15/04/2013 19:11 | #


Par contre, là le fichier est mis directement sur la calto, pour donner toutes les infos concernant les trophées, il faudrait une fonction du genre:
2->F
"ADD: (Amateur du combo) (type)
Do
LpWhile F


Avec "type":
-> Score
-> Trophée simple
-> Trophée avec nombre
-> Etc.

D'ailleurs, avec ça il faut mettre le type avant chaque fonction
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

Citer : Posté le 15/04/2013 19:14 | #


Au lieu d'utiliser le F, il faudrait trouver un moyen de faire détecter le succès sans toucher aux variables normales, car si je veux par exemple utiliser ce système pour mes programmes (notamment Robscape 2, que je programme actuellement), je vais devoir les modifier...
Projets que je soutiens
Masquer
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 15/04/2013 19:24 | #


Ou une variable inutile genre r ou théta
Tsuneo Hors ligne Membre Points: 973 Défis: 51 Message

Citer : Posté le 15/04/2013 19:26 | #


C'est des super idées tut ça ! Je n'ai pas d'aide à proposer, mais je suis ça de près !

Calculatrices : Graph 35+ USB tweakée et Classpad 330
Suivez moi et mon humour dévastateur ici focliquéla
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 15/04/2013 19:26 | #


et pourquoi pas a0 ou anstart, ca c'est vraiment inutile !
parceque moi j'utilise r ou theta autant que les autres variables
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !

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 59 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