Vous n'êtes pas identifié.
MDR G JAMAIS VU çA!!!!
UNE BOUCLE WHILE POUR TESTER 100 OBJETS!!!!!!!!!!!!!
:ptdr: :ptdr:
sérieux x-th, le C, y'a des jolies boucles et un code qui fait stylé, mais vu ce ke tu veux faire, il faut un for!!!
j'ai fait un test sur une routine pr effacer l'écran, et avec un for c t presk invisible, alors qu'un while c t moche de chez moche!!!!!!
Alors vire moi vite fait ce while et tu verras, surtout que le gain est visible plus tu augmentes le nombre de boucles!!!
en plus pr inistialiser ben tu mets tout dans une seule ligne!
Hors ligne
mdrrrr !
en effet quand je regarde mes routines pour recharcher par exemple un joueur libre ou un créateur bin j' utilise des for !
dans ma vague d' optimisation g carrément oublier de faire cette fonction lol
Hors ligne
Remarquez quand meme que BiTwhise a l'air de dire que les instructions while et do donnent un code plus rapide lors de la conversion en asm par le compilo...
Hors ligne
ah bon?
Ben il doit se tromper, ou alors le compilo est réglé pour une optimisation en vitesse (or moi g coché la case optimisation speed)
mais je vx pas la décocher, car le prog prend 5ko de plus!
Hors ligne
ah oui g calculé le nombre d'objets maxi à gérer dans une explosion ( avec utilisation duy multibombes ):
9 bombes
9 cases
9 foyers
4 directions
a fait:
4*9*9+9=333 objets!
mais ça c le mxi théorique, en général y'a 72 voire 80 objets à gérer, mais je n'ai compté que les bombes. ( d'ailleurs fo ke j'optimiz le multibombes... mais moi o moins, y'a pas de boucles while! a c bon pour les menus! )
voila!
Hors ligne
4*9*9+9=333 objets!
non ca fait 333 case, dsl casiomax
en plus si tu faisait ca case par case ce qui m' étonerait car je sens que tu bluffe ca monterai pas aussi haut les fps !!!
a vi, g fini mon moteur graphique, ca fait bien, une version 0.1 va bientot sortir pour montrer tout ceci ms pour le moment comme g un pb de réaparition de vaisseau fo que je refasse certaines routines !
Hors ligne
Voila !
version 0.2 de démo !
Duel avec 3 autres vaisseaux qui sont allié contre vous !!
il peut y avoir des bug, dans ce cas signalez les moi (et je sais qu' il y' en a !) !
voila la carte en binaire :
le HUD en deathmatch :
Quelque textures (pas encore mise dans la carte !):
Enfin le jeu :
Space 0.2 !!
Voila, c pas tres rapide ms c suffisant pour voir comment est le jeu !
au fait : on ne voit que le tir standart pour le moment !!
Bonne chance, vous en aurez certainement besoin !
Controle :
shift tirer
alpha changer d' arme ( ms comme on n' a que le tir standart ... Bonbon !
)
droite ba tourner a droite et gauche c pareil sauf que ca tourne a gauche !!
haut avancer
bas reculer !
esc quitter
au menu principale F6 pour quitter plus vite car esc ne marche pas pr des raisons de maniabilité ( car sinon on quitte STOUR sans le vouloir lol)
Hors ligne
bon je résout quelque bug puis je m' attaque au systeme de path qui permetra a l' IA de se balader dans la map sans se cogner et d' attaquer si un enemie est trop proche !
Hors ligne
excellent ormis ca:
Voila, c pas tres rapide
Hors ligne
vi, il me reste a finaliser le moteur en asm, ms je verrai ca ( a propos le moteur seul atteint 22-23 fps! c pas mal ms c pas suffisant ! donc fo que je le finalise ! ms ces données sont en ultra fluides, cad aucune frames de sautés, fodrai que je vois si c rapide si je saute 1 frame a chaque fois !)
Hors ligne
Je trouve qu'on se déplace trop lentement dans ton jeu en fait !
Y a un autre truc qui gache toute ta demo: le vaisseau n'a plus tout seul !
Le vaisseau est tres difficile à diriger !
Sinon les carte sont très belle ! meme un peu trop car ca doit faire ralentir ton moteur .
Hors ligne
Je trouve qu'on se déplace trop lentement dans ton jeu en fait !
bin vi, ms fo que j' optimise tout ca !
ou bien alors j ' enleve une frame ms tu va pas aimer !
Y a un autre truc qui gache toute ta demo: le vaisseau n'a plus tout seul !
reformule ta requete, je capte rien la !
Le vaisseau est tres difficile à diriger !
Vi, en fait c a cause du pad, je crois que je vais faire un truc genre déplacement latérale etc ac d' autres touches !
Sinon les carte sont très belle ! meme un peu trop car ca doit faire ralentir ton moteur .
Bin a vrai dire a ce que g prévu comme textures ca c de la m*rd* !
et ralentir mon moteur c le fait qu' il faut que je le fasse entièrement en asm !
ms celui ci tout seul ateint 20 fps, un peu plus du but visé, donc ya de l' éspoir !
Hors ligne
Je voulais dire que le vaisseau avance trop lentement !
Moi j'aime bien avancé tuer tout le monde en 30s et pas en 3/4 d'heure !
Hors ligne
t' inkiete, quand j' aurais réussi a mettre diverses routines en asm, ca ira beaucoup mieux
il fo que j' optimise aussi la gestion des joueurs !
en fait le pb vient des déplacements a ce que g vu ! mes routines de collisions sont un peu lent, ca doit etre ca !
Au fait, le simple fait de mettre le taux de FPS doit ralentir le jeu donc on pourra le désactiver dans la version finales !
autres chose :
le moteur ac uniquement la gestion des joueurs (cad pas de tirs) : 13-16 fps soit un peu moins du but visé qui est de 20 fps donc va faloir que je revois tout ceci, ms sinon pas d' inquiétude g prévu des choses pour embelir les cartes notemment des effets de fumée de brouillard des traces de tirs et d' explosion ms tout ceci pourra etre désactivés pour avoir un haut taux en frams par secondes enfin un convenables lol
Hors ligne
bon, maintenant pour les news, fodra aller voir sur mon forum situé sur http://thunderboom.free.fr/forum !
Inscrivez vous si vous le souhaitez , ca ne prend que quelque minutes, d' ailleurs ce forum est similaire a celui ci, ms il n' est la que pour mes projets persos, et comme l' a bien spécifié dada66 dans une conversation, il y aura aussi une FAQ !
Hors ligne
ARG !!!
Mon anti-virus veux pô de ton EXE !!!
Arg mon PC tout planté...
Mais non je rigole (pô pour l'antivirus par contre)
Bon je vais tester ca tout a l'heure
Hors ligne
Je préférerais que tu réponde sur mon forum pour stour, inscrit toi, c rapide, ca coute rien et ca serta a ca !
Tu dis que l' exe a un virus ? c bizzare ! ms de toute maniere je vois pas comment il en aurai un car sinon l marcherai pas sur G100 !! a moins que g généré un code que les AV n' aime pas lol
Hors ligne
je bluffe???
regarde moi ça si je bluffe:
NbF=1; Rebranche: if(SetDirZ(NbF)==END) asm jmp endbomb; for(cfire=1;cfire<=nbcase;cfire++) { location=maps[0][y2[curbomb]+(DirY*cfire)][x2[curbomb]+(DirX*cfire)]; if(location==EMPTY) { maps[0][y2[curbomb]+(DirY*cfire)][x2[curbomb]+(DirX*cfire)]=flamme; asm jmp nxtd } else if(location!=EMPTY) { returned=testbomb(location); if(returned==1) asm jmp endb else { if(flamme==12||flamme==13) { maps[0][y2[curbomb]+(DirY*cfire)][x2[curbomb]+(DirX*cfire)]=EXPLANIM; asm jmp endb } else if(flamme!=12||flamme!=13) { maps[0][y2[curbomb]+(DirY*cfire)][x2[curbomb]+(DirX*cfire)]=put_power(random(MAXPOWER),flamme); asm jmp endb } } } nxtd: } endb: NbF++; asm jmp Rebranche
dsl pr ce ptit bout de flood, mais comme tu le vois, y'a 4 directions, 9 cases!
et pr le multibombes, y'a ça:
for(curbomb=1;curbomb<=nbombs;curbomb++) {....}
voila ça c une boucle qui est placée en plein dans la fonction principale et qui peut tourner jusqu'à 9 fois sur elle même.
Donc maximum théorique:
9 cases * 4 directions * 9 bombes + 9 foyers = 81 * 4 + 9 = 333 cases!
Hors ligne
Euh je voudrais pas critiquer mais Casiomax tu utilises les if-else d'une bien drole de maniere...
NbF=1; Rebranche: if(SetDirZ(NbF)==END) asm jmp endbomb; for(cfire=1;cfire<=nbcase;cfire++) { location=maps[0][y2[curbomb]+(DirY*cfire)][x2[curbomb]+(DirX*cfire)]; if(location==EMPTY) { maps[0][y2[curbomb]+(DirY*cfire)][x2[curbomb]+(DirX*cfire)]=flamme; // asm jmp nxtd pas nécessaire! } else // if(location!=EMPTY) pas nécessaire! { returned=testbomb(location); if(returned==1) asm jmp endb else { if(flamme==12||flamme==13) { maps[0][y2[curbomb]+(DirY*cfire)][x2[curbomb]+(DirX*cfire)]=EXPLANIM; asm jmp endb } else // if(flamme!=12||flamme!=13) condition toujours vraie... { maps[0][y2[curbomb]+(DirY*cfire)][x2[curbomb]+(DirX*cfire)]=put_power(random(MAXPOWER),flamme); asm jmp endb; } } } nxtd: } endb: NbF++; asm jmp Rebranche
Il me semble que ceci conviendrait bien mieux:
for(NbF=1;SetDirZ(NbF)!=END,NbF++) { for(cfire=1;cfire<=nbcase;cfire++) { location=maps[0][y2[curbomb]+(DirY*cfire)][x2[curbomb]+(DirX*cfire)]; if(location==EMPTY) location=flamme; else { cfire=nbcase+1; if(testbomb(location)!=1) { if(flamme==12||flamme==13) location=EXPLANIM; else location=put_power(random(MAXPOWER),flamme); } } maps[0][y2[curbomb]+(DirY*cfire)][x2[curbomb]+(DirX*cfire)]=location; } } asm jmp endbomb;
Hors ligne
comme quoi, on n'est jamais mieux optimisé que par................. les autres! Si je n'avais pas mis en ligne cette routine, ben je ne l'aurais pas touchée, considérant ke c t déjà ok!
Sinon je me suis étonné en voyant les redondances dans les if-else!!
faut dire que ça fait bien longtemps que je n'ai plus touché aux bombes!
Hors ligne
Quelque chose qui m'effraie, c'est les jmp partout...
honnetement j'espere pour toi que tout le prog est pas comme ca :?
Hors ligne
Comme quoi les goto c'est vraiment une horreur.
Meme chez ceux qui font des² excellents progs ca pose toujours le meme probleme: quand les goto sont utilisables, on les emploie n'importe comment et en dépit de tout bon sens, on en vient a écrire des atrocités parce qu'on prend meme plus la peine de réfléchir a la structure des algos, alors qu'il y a toujours ( je dis bien toujours ) moyen d'écrire un prog bien plus clair, plus simple et plus efficace sans jamais les utiliser...
J'ai remarqué ce probleme dans tous les langages: en basic, en C, et meme ailleurs!
N'utilisez pas ces goto, il ne font que demolir la structure de vos progs et vous empechent de raisonner correctement!
Hors ligne
D'ailleur en PHP les goto[s] n'existent pas !!!
Hors ligne