Forum tama's team
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum tama's team

cp: ne peut évaluer `brain': Aucun fichier ou dossier de ce type
 
AccueilPortailGalerieRechercherDernières imagesS'enregistrerConnexion
Connexion
Nom d'utilisateur:
Mot de passe:
Connexion automatique: 
:: Récupérer mon mot de passe
Derniers sujets
» Numbers
Comment faire ? Icon_minitimepar Ver2guerre Dim 02 Avr 2023, 00:47

» Mort ?
Comment faire ? Icon_minitimepar godbod Dim 22 Aoû 2021, 12:23

» Network, essai 1
Comment faire ? Icon_minitimepar godbod Dim 09 Juil 2017, 02:18

» GODBOD
Comment faire ? Icon_minitimepar godbod Sam 08 Juil 2017, 14:05

» mon humeur
Comment faire ? Icon_minitimepar Ver2guerre Sam 30 Juil 2016, 19:44

» [A voir] Programme de traduction original : WikiTranslate
Comment faire ? Icon_minitimepar AdRiWeB Lun 01 Fév 2016, 04:50

» Reprise ?
Comment faire ? Icon_minitimepar Emyl Jeu 14 Juin 2012, 21:17

» Euh, ah ?
Comment faire ? Icon_minitimepar Ver2guerre Dim 27 Mai 2012, 12:11

» Problème TI 89 Titanium non visible après mise à jour
Comment faire ? Icon_minitimepar abdoukid Mer 23 Mai 2012, 13:37

» Y'a quelqu'un ?
Comment faire ? Icon_minitimepar Ver2guerre Sam 21 Avr 2012, 23:10

Quick message
Qui est en ligne ?
Il y a en tout 16 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 16 Invités

Aucun

Le record du nombre d'utilisateurs en ligne est de 367 le Dim 18 Oct 2009, 00:16

Partagez | 
 

 Comment faire ?

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Ver2guerre
chasseur en chef
chasseur en chef
Ver2guerre

Nombre de messages : 3145
Age : 113
Localisation : Partout en même temps (V2g quantique)
Loisirs : #pkill boulet
Humeur : Happy :)
items : Comment faire ? V2gqe7
Personalized field : 12 jetons
Réputation : 8
Points : 7523
Date d'inscription : 15/09/2007

Profil
TI: (TI-89Tita)^2+TI83Plus
TO: 50 [2380 - 2%] {54}
Spécialité: Autres

Comment faire ? Vide
MessageSujet: Comment faire ?   Comment faire ? Icon_minitimeDim 04 Mai 2008, 21:03

J'ai un petit souci, à propos de la boss key. Je voudrais permettre à l'utilisateur d'utiliser toutes les fonctionnalités de la calculatrice (à savoir, l'écran Home, IO, graph, toutes les APPS...), mais qu'il puisse reprendre le jeu n'importe quand en appuyant sur une touche. Il ne s'agit pas d'arrêter le jeu, et de relancer le programme plus tard, car lors de l'arrêt du jeu, beaucoup de variables sont effacées. Or, lors de la reprise du jeu après l'utilisation de la boss key, je veux que le joueur reprenne à l'étape exacte à laquelle il était (en combat, en chargement de carte...).

J'ai comme l'impression que mon explication n'est pas claire. Si tel est le cas, demandez-moi des explications que je vous fournirai volontiers.
Revenir en haut Aller en bas
tama
Admin
Admin
tama

Nombre de messages : 12376
Age : 32
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 9434
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

Comment faire ? Vide
MessageSujet: Re: Comment faire ?   Comment faire ? Icon_minitimeDim 04 Mai 2008, 21:14

ouch, le mieux reste quand même d'arrêter tout simplement le jeu et de sauvegarder tes variables quelque part avant de les effacer, puis de relancer le jeu et de les recharger...
Revenir en haut Aller en bas
Ver2guerre
chasseur en chef
chasseur en chef
Ver2guerre

Nombre de messages : 3145
Age : 113
Localisation : Partout en même temps (V2g quantique)
Loisirs : #pkill boulet
Humeur : Happy :)
items : Comment faire ? V2gqe7
Personalized field : 12 jetons
Réputation : 8
Points : 7523
Date d'inscription : 15/09/2007

Profil
TI: (TI-89Tita)^2+TI83Plus
TO: 50 [2380 - 2%] {54}
Spécialité: Autres

Comment faire ? Vide
MessageSujet: Re: Comment faire ?   Comment faire ? Icon_minitimeDim 04 Mai 2008, 22:09

D'accord, pourquoi pas... Et bien, parce-que si je sauvegarde toutes les données, le passage du mode "jeu" au mode "calculatrice" sera bien trop long (j'ai essayé, il faut compter 3 à 4 secondes, ce qui est bien trop long pour une opération d'urgence, d'autant plus que le jeu est encore loin d'être fini, et que de nombreuses variables vont être ajoutées...)
Revenir en haut Aller en bas
tama
Admin
Admin
tama

Nombre de messages : 12376
Age : 32
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 9434
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

Comment faire ? Vide
MessageSujet: Re: Comment faire ?   Comment faire ? Icon_minitimeDim 04 Mai 2008, 22:53

dans ce cas, reste plus que la possibilité de l'faire en C...mais même ça j'sais pas trop comment faire
Revenir en haut Aller en bas
Ver2guerre
chasseur en chef
chasseur en chef
Ver2guerre

Nombre de messages : 3145
Age : 113
Localisation : Partout en même temps (V2g quantique)
Loisirs : #pkill boulet
Humeur : Happy :)
items : Comment faire ? V2gqe7
Personalized field : 12 jetons
Réputation : 8
Points : 7523
Date d'inscription : 15/09/2007

Profil
TI: (TI-89Tita)^2+TI83Plus
TO: 50 [2380 - 2%] {54}
Spécialité: Autres

Comment faire ? Vide
MessageSujet: Re: Comment faire ?   Comment faire ? Icon_minitimeLun 05 Mai 2008, 19:51

Ma foi, si tu y arrives, pourquoi pas...
Revenir en haut Aller en bas
tama
Admin
Admin
tama

Nombre de messages : 12376
Age : 32
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 9434
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

Comment faire ? Vide
MessageSujet: Re: Comment faire ?   Comment faire ? Icon_minitimeLun 05 Mai 2008, 20:32

en attendant, peut-être que quelqu'un a une idée ?
Revenir en haut Aller en bas
geogeo
nouveau
nouveau


Nombre de messages : 9
Age : 37
items : o
Personalized field :
Réputation : 0
Points : 5977
Date d'inscription : 24/03/2008

Comment faire ? Vide
MessageSujet: Re: Comment faire ?   Comment faire ? Icon_minitimeMar 06 Mai 2008, 12:13

Le plus simple étant dé déclarer tes variables en globales (statique à l'extérieur de tes fonctions) et de forcer TIGCC à ne pas initialiser la section BSS.
--omit-bss-init de mémoire ? C'est un paramètre à passer au compilateur TIGCC. -mno-bss semble mieux adapté et plus sûr.

Exemple de code pratique:

Code:

static struct MyGameConfig {
  int bGamePreviewState;
  int nPlayerPosX, nPlayerPosY;
  char sPlayerName[9];
    ...
};

int _main() {
  // Programme lancé pour la première fois ou sans état précédent
  if (bGamePreviewState==0) {
    ...
  // Initialiser les variables
      ...
  }
  // Sinon on reprend le jeu à l'état précédent
  else {
          ...
  }
 
  // Le joueur à quitter le jeu
  bGamePreviewState = -1; // Indique que l'état précédent à été stocké

  // bGamePreview = 0; // Le joueur à réinitialiser le jeu
  return 0;
}

Attention toute fois, tout ce qui sera déclaré en globale ou statique ne sera jamais initialisé.

Ainsi :
Code:

int foo() {
  static int r = 0;
  return ++r;
}

foo retournera combien de fois elle a été exécutée depuis le tout premier lancement du programme.

A noter que cette méthode ne marche pas si le programme a été exécuté à partir d'une version en archive.

La solution que je préfères est tout simplement de créer un fichier de sauvegarde !

Et enfin la vraie solution à ton problème c'est une gestion multitâche de l'OS. Chose que bien sûr ne sait pas gérer AMS. Une solution mais assez difficile à mettre en oeuvre (et en ASM) serait la suivant.
Dans le jeu le gars appuie sur la fameuse Boss key. Les registres du processeur sont sauvés dans le programme. Un TSR est installé sur une interruption (disons la 1) et enfin, on restaure les registres pour AMS et on met le pointeur de pile à l'adresse avant exécution de ton programme.
Le gars se balade dans IO, screen, fait de jolies graphs...
L'appui sur Boss key déclenche le TSR, qui récupères les registres sauvés pour ton programme, sauvegardes les registres AMS et change seulement l'adresse du pointeur de pile, à l'adresse où a été interrompu le programme.
Revenir en haut Aller en bas
Ver2guerre
chasseur en chef
chasseur en chef
Ver2guerre

Nombre de messages : 3145
Age : 113
Localisation : Partout en même temps (V2g quantique)
Loisirs : #pkill boulet
Humeur : Happy :)
items : Comment faire ? V2gqe7
Personalized field : 12 jetons
Réputation : 8
Points : 7523
Date d'inscription : 15/09/2007

Profil
TI: (TI-89Tita)^2+TI83Plus
TO: 50 [2380 - 2%] {54}
Spécialité: Autres

Comment faire ? Vide
MessageSujet: Re: Comment faire ?   Comment faire ? Icon_minitimeMar 06 Mai 2008, 19:32

Oulà... J'ai un peu du mal à comprendre vu que je ne programme qu'en TI-Basic, et que je commence depuis très peu de temps le C. Je vais prendre le temps demain après-midi de décortiquer tout ça.

En tout cas, merci pour le truc Wink
Revenir en haut Aller en bas
tama
Admin
Admin
tama

Nombre de messages : 12376
Age : 32
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 9434
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

Comment faire ? Vide
MessageSujet: Re: Comment faire ?   Comment faire ? Icon_minitimeMer 07 Mai 2008, 20:14

hmm c'est quoi ces options de compilation ?
et sinon, pourquoi foo ? enfin, pourquoi on utilise ce nom de fonction ? ^^
Revenir en haut Aller en bas
geogeo
nouveau
nouveau


Nombre de messages : 9
Age : 37
items : o
Personalized field :
Réputation : 0
Points : 5977
Date d'inscription : 24/03/2008

Comment faire ? Vide
MessageSujet: Re: Comment faire ?   Comment faire ? Icon_minitimeJeu 08 Mai 2008, 00:36

foo : http://en.wikipedia.org/wiki/Foo Ahlala ces jeunes !!! ^^
L'option de compilation permet de ne pas initialiser les variables globales à l'exécution du programme. Ainsi, elles conservent leurs valeurs à l'exécution suivante.
Revenir en haut Aller en bas
tama
Admin
Admin
tama

Nombre de messages : 12376
Age : 32
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 9434
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

Comment faire ? Vide
MessageSujet: Re: Comment faire ?   Comment faire ? Icon_minitimeJeu 08 Mai 2008, 12:07

:)
Revenir en haut Aller en bas
Contenu sponsorisé




Comment faire ? Vide
MessageSujet: Re: Comment faire ?   Comment faire ? Icon_minitime

Revenir en haut Aller en bas
 

Comment faire ?

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum tama's team :: TI :: TI 68k :: WIP (Work in progress) :: Projet 14 : WoW [en cours]-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit