Page 3 sur 4

Publié : ven. 27/juin/2008 3:00
par chikun
:lol: mais si!!! enleve le "input()" que g glissé en trop apres la boucle , il fo juste que je me penche sur l'effacement du "o" ,qui a mon avis ne dois pas etre bien compliqué.

parcontre effectivement ça change tout si ta boucle devait faire deplacer toutes les autres lettres. merci de m'avoir expliqué que je pouvais programmer en assembleur et comme à tes habitudes d'avoir été clair...g egalement parcouru tes tutos plutot culturels... tu ne veux decidement pas que je prenne du repos! :lol:

je dois aller bosser..... a+ tard

Publié : ven. 27/juin/2008 8:33
par Backup
chikun a écrit :g egalement parcouru tes tutos
Pour info :

les Tuto sont le Fruit de la collaboration de beaucoup d'anciens membre
il ne sont pas tous de moi , loin de la :D

chikun a écrit : il fo juste que je me penche sur l'effacement du "o" ,qui a mon avis ne dois pas etre bien compliqué.
bien sur il suffit de faire une petite memoire sur le dernier caractere (ou vide) que le "O" a ecrasé n pour le remettre une fois le O parti :)


mais la tu va te rendre compte que la Console, n'est quand meme pas le lieu ideal pour fabriquer un jeu, parce que ce genre de chose, n'est pas effectué automatiquement , contrairement au "Double Buffering" du mode Ecran !!

il te faudrai passer au mode Ecran et au Sprites !!
je t'assure, que c'est vraiment Facile !! :)

Bien plus facile qu'en GFA !!
Le pureBasic est plus Proche du STOS pour ce qui concerne le travail avec les Sprites que du GFA !! , les Bank Memoires en moins...Mais en Pure, on en a pas besoin :)

Publié : ven. 27/juin/2008 9:39
par Backup
....

Publié : ven. 27/juin/2008 13:17
par chikun
8O :idea: :lol: :lol: :lol:

GOOOOODD!!!!!!!!!!!!!!!!!!

ok je vais spriter, je pense pas etre trop perdu car ça existait sur mon atari 520 ste...

par contre, week end a l'eau car je veux lettre apres lettre comprendre ton programme qui va dans le sens de mon idée...(t'eloigne pas de trop :lol: )

merci monsieur

Publié : ven. 27/juin/2008 13:22
par chikun
ben tu vois , d'un coup je repense a ton casse brique et je me dis que si la balle rencontre tel ou tel "entité" que celle ci tomberai , qu'il faudrait la ratraper le plus tard possible pour avoir un max de point (coordonnée y) ...(enfin on est plus trop limité dans les idées) ...

Publié : ven. 27/juin/2008 14:11
par chikun
mince , je ne sais plus ou trouver ça dans la doc:
quand tu codes

Code : Tout sélectionner

Structure balle 
    x.w
    y.w 
    identite.s 
    sensx.l 
    sensy.l 
EndStructure 
le "w", "s","l" c koi...me semble ke c la taille que prendront les variables
non !!?

je vais chercher mais ou :?

Publié : ven. 27/juin/2008 14:17
par Ouaf-Ouaf
yep.

"Variables, types et operateurs" dans "thèmes generaux" à gauche :p

Publié : ven. 27/juin/2008 14:21
par chikun
:lol: c partie....!! merci

Publié : ven. 27/juin/2008 14:38
par Backup
chikun a écrit :
le "w", "s","l" c koi...me semble ke c la taille que prendront les variables
non !!?

je vais chercher mais ou :?
a ce propos pour coller avec les Anciens Basic, qui considerai un Octet allant de 0 a 255 alors que le purebasic considere qu'un octet va de -127 a 127

une petite astuce permet de se retrouver avec les "anciens" octet (0-255) des basics d'antant ..

c'est de faire
ae.l=a.b&255

exemple

Code : Tout sélectionner

a.b=129
Debug a.b ; la ça depasse la capacité de la variable
ae.l=a.b&255
Debug ae.l ; voila c'est retabli mais c'est plus un Byte c'est un long

Publié : ven. 27/juin/2008 14:43
par chikun
ok

tient au fait , vu qu'il n'y a pas de sortie d'ecran et que les sprites sont relativement gros , j'y ai mi le turbo comme ça

Code : Tout sélectionner

   ;-les deplacements 
     ; Au clavier 
     
     If KeyboardPushed ( #PB_Key_Up ) ; fleche haut 
        balle( #nous )\y =balle( #nous )\y-8
     EndIf 
     If KeyboardPushed ( #PB_Key_Down ) ; fleche bas 
        balle( #nous )\y =balle( #nous )\y+8 
     EndIf 
     If KeyboardPushed ( #PB_Key_Left ) ; fleche gauche 
        balle( #nous )\x =balle( #nous )\x-8
     EndIf 
     If KeyboardPushed ( #PB_Key_Right ) ; fleche droite 
        balle( #nous )\x =balle( #nous )\x+8 
     EndIf 
     ; au Joystick 
     If JoystickAxisX ()<0 
        balle( #nous )\x =balle( #nous )\x-8
     EndIf 
     If JoystickAxisX ()>0 
        balle( #nous )\x =balle( #nous )\x+8 
     EndIf 
     If JoystickAxisY () <0 
        balle( #nous )\y =balle( #nous )\y-8
     EndIf 
     If JoystickAxisY () >0 
        balle( #nous )\y =balle( #nous )\y+8 
     EndIf 

Publié : ven. 27/juin/2008 14:44
par Ouaf-Ouaf
Par exemple heumm.. Dans une condition ça reviendrait à

If ( a.b &255 ) = 215 :?:

Moi j'ai laissé l'encodage ascii et j'utilise les .c :p


Chikun le code que tu montres m'a l'air de bien se preter à l'utilisation d'un "Select". Je sais pas si c'est plus rapide mais question syntaxe ça rends mieux :lol: et c'est pas negligeable quand on est pas super au clair avec un programme.

D'ailleur je me demandais ..
Select permet d'opérer des choix rapides. Le programme exécute <expression1> et retient la valeur en mémoire. Cette valeur est ensuite comparée à chacune des valeurs "Case <expression>" et s'il y a égalité, le code du bloc Case est exécuté pour quitter ensuite la structure Select. Case supporte les valeurs multiples ainsi que les intervalles à l'aide du mot-clef To. Si aucune des valeurs Case n'est vraie, alors le code du bloc Default, (s'il est spécifié) est exécuté.
Cette façon de proceder est elle vraaaaiment plus rapide ? Ca doit pas se jouer sur grand chose.. Heuuu.. J'vais tester :)

Publié : ven. 27/juin/2008 14:47
par Backup
Ouaf-Ouaf a écrit :Par exemple heumm.. Dans une condition ça reviendrait à

If ( a.b &255 ) = 215 :?:
@Ouaf-Ouaf : oui ! :)




@Chikun, normal tu augmente le Pas de deplacement :)

si tu met 32<-- la taille des Sprites, ça va carrément etre Speed !! :)

en général, on évite de dépasser la taille d'un Sprite, parce qu'après, il y a risque que le déplacement perde en fluidité a cause du "Saut" effectué sur l'écran , L'oeil va commencer a voir que le Sprite se déplace par Bonds !! :D

Publié : ven. 27/juin/2008 14:51
par chikun
dobro, je sais , j'augmente le pas mais juste de maniere à ne pas rater les sprites

Publié : ven. 27/juin/2008 14:53
par Backup
chikun a écrit :dobro, je sais , j'augmente le pas mais juste de maniere à ne pas rater les sprites
la commande de collision réagi si 2 sprites se touchent :)

mais tu as raison, en général on peut déplacer jusqu'à la moitié de la taille d'un Sprite sans risquer de passer par dessus !! ici 16 ! :)

Publié : ven. 27/juin/2008 14:56
par chikun
ok , je regarde comment tu tests la collision...

....et c mortel de simplicité...