deeph Le 26/10/2006 à 20:05 Bon, j'ai regler le problème du "Divide error" en mettant la sprite en héxa au lieu de l'écrire en Binaire. Par contre, je sais toujours pas comment ralentir tout ça....
joe14 Le 27/10/2006 à 07:56 Pour ralentir le jeu, tu peux peut-être utiliser la commande HALT qui passe le processeur en mode d'économie d'énergie jusqu'à la prochaine interruption. Si tu règles les interruptions sur une vietesse lente et que tu fais une petite boucle contenant les halt, y'a peut-être moyen. Mais il y a à coup sûr plein d'autres possibilités.
deeph Le 27/10/2006 à 10:46 Heu... Comment j'utilise cette commande ?
pacHa Le 28/10/2006 à 11:19 j'ai aps le temps de lire la source, mais est-ce que tu fais bien ces choses dasn l'ordre :
affichage sprite
attente (et ptet détection de tir pendant ce temps)
effaçage sprite
?
deeph Le 28/10/2006 à 13:32 Là je fait dans l'ordre :
-Affichage de la main avec le flingue;
-Choisit un nombre entre 1 et 3;
-Grace à ce nombre il determine la position de la sprite monstre;
-Affichage du monstre (sans pour autant l'éffacer);
-Détection très courte de la touche (parce que je ne sais pas comment proceder pour attendre et en même temps vérifier l'appui d'une touche);
-On recommence tout.
Voilà, c'est un petit résumé de ce que j'ai essayer de faire...
pacHa Le 29/10/2006 à 10:12 huh tout d'abord, tu devrais faire un 'push af' avant le 'call Affichage_Monstre', puis un 'pop af', sans quoi ton cp n'a aucun sens, étant donné que a sera très vraisemblablement détruit dans tout ce que fait 'Affichage_Monstre'
sinon, pour attendre tout en détectant les touches, je pense (c'et loin tout ça dans ma tête) que tu peux simplement te permettre de faire la boucle de ralentissement, puis de lire le clavier _après_
à essayer...
deeph Le 29/10/2006 à 11:36 Oui mais avec quel fonction je ralentit ma boucle ? Pour ce qui est du "push af" et du "pop af", je testerai plus tard, mais je suis pas sur que ça vienne de ça...
joe14 Le 29/10/2006 à 18:31 Tu peux très bien insérer un getcsc dans la boucle de ralentissement...
deeph Le 29/10/2006 à 19:58 bah il va surement en falloir des tonnes pour ralentir la boucle...
joe14 Le 30/10/2006 à 10:31 des tonnes de quoi ? Pas de getcsc j'espère... Tu n'as qu'à mettre cinq "halt" à la suite dans la boucle de Pacha, tu verras bien ce que ça fait...
deeph Le 30/10/2006 à 18:34 Oui mais ça me permetera pas de tester les touches du clavier en même temps... C'est ça que je voudrai éviter, mais ça à l'aire difficile à faire...
joe14 Le 31/10/2006 à 20:20 ah, oui, je vois...
Cela dit, une boucle avec un halt et un getcsc, ça marche trés bien, car la vitesse standard des interruptions est de une tous les 200 ième de secondes... C'est ce que j'utilise dans penalty...
deeph Le 31/10/2006 à 22:25 Finalement je vais faire quelques tests et je verrai ce que ça donne parce que là j'vais plus avoir internet avant 3-4 jours donc j'aurai surement le temps de trouver la solution...
Ca marche pas parce que tu ne fait que ralentir le jeu avec les boucles halt, il faut ralentir seulement les monstres: pour cela tu peux mettre un compteur au début de ta routine Afficher_monstre: à chaque fois que tu arrive dans la boucle Jeu, tu augmente ce compteur de 1, quand le compteur arrive à 5000 (environ), tu apelle la routine Afficher monstre.
comme ça du détecte les touches normalement, mais tes monstres sont ralentis. Ca donne ceci:
Jeu:
call Affichage_I1
ld a,$FD
out (1),a
in a,(1)
cp kEnter
jp z,Affichage_I2
ld hl,(compteur)
inc hl
ld (compteur),hl
ld de,5000
call CP_HL_DE
call z,Affichage_Monstre
cp kClear
jp z,End
jp nz,Jeu
; ...
Affichage_Monstre:
ld hl,0
ld (compteur),hl
;...
deeph Le 20/12/2006 à 18:31 Ok, je pense que j'essairai cette solution un peu plus tard (en ce moment je travail mon jeu pour le concours 2007).
ça commenece a prendre de l'ampleur...
bravo!
continue!
deeph Le 22/12/2006 à 19:17 Nan je débute juste en ASM, il me reste beaucoup de trucs à apprendre...
oui mais par rapport a moi...
enfin revenons au sujet, jvoudrais pas me faire kicker...