630

D'autant plus que le niveau c'est pas un des plus simples grin

631

est-ce que ça marchera sur TI92+ ?
avatar

632

Ouai je l'ai pris en plus au hazard sur 62 niveaux. grin
Niveau taille du projet sur la calculatrice:
ark_gfx . gfx     9720
ark_lvls . lvl       15822
ark_snd . snd     8

arkanoid . asm   1686
arkdata   . ppg   15045


Les fichiers ark_gfx, ark_lvls et ark_snd peuvent être archivé mais pas compressé à moins que suivant les demandent je recherche si le fichier et compressé ou non. Les fichiers peuvent être placé n'importe où, par défaut ils sont dans le dossier arkanoid mais le jeu les recherches.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

633

J'aime bien quand tout est rangé dans ma calto love

634

est-ce que ça marchera sur TI92+ ?


Pour l'instant ça fonctionne que sur TI92+ et V200 mais je travail aussi sur la version pour les TI89.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

635

J'aime bien quand tout est rangé dans ma calto


De plus la fonction qui recherche les fichbiers est très simple et très rapide et est identique à PolySnd Player. grin
, J'ai hésite entre 2 gestions de la mémoire pour les fichiers de données. ils ce compressent très bien mais les archivers sans compression permet de gagner beaucoups de RAM mais pas d'archives dans le cas contraire où ils sont compressé et archivé, une copie en RAM s'effectue et on perd beaucoups de RAM, qu'elle est le meilleur des cas? Où le mieux c'est que je laisse l'utilisateur choisir indirectement, si le fichier et compressé, le jeu le reconnaît et le décompresse?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

636

8 pour ark_snd ? Que contient ce fichier ?????
sinon bravo ! pour ce que c'est, ça ne prend vraiment pas de place (comparé à bldmark, qui utilise toute la ram et bientôt toute l'archive qd les maps seront finies... fou )...
avatar

637

lol ark_snd ne contient rien pour l'instant. grin
bldmark n'est pas comparable à Arkanoid car tu dois prendre énormément de place pour les maps... smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

638

Je voudrais avoir votre avis sur l'indicateur de position de la raquette.
Pour l'instant l'indicateur est sous forme de flèche et ce trouve 10 pixels suivant y et suit naturellement la raquette suivant x. Or je trouve pas ça suffisant pour indiquer la position de la raquette, vous verrez quoi? Et quel genre d'animation pour vous aider dans le jeu, c'est une étape que je ne dois pas baccler car comme le jeu utilise un Scrolling il faut un maximum de Gameplay et de repères.

avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

639

Ah bien tu utilises le même système que moi apparemment pour les raquettes hors de l'écran. Le seul problème que ça peut causer, c'est qu'on ne sait pas vraiment à quelle distance se trouve justement la raquette. D'ailleurs ça vient de me donner une idée... Je te redis comment.
Sinon on peut le télécharger au stade où il en est?
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

640

Tu verrais quoi pour l'indicateur, des animations tel que quand on ce trouve dans une zone ou la raquette est peu voyante soit quelque pixels l'indicateur s'anime et ce dirigie vers la raquette, dans le cas contraire il ce dirigie vers le haut de l'écran...?

Pour le stade du jeu, tu veux que je prépare un zip?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

641

Ca m'intéresserait de l'essayer. Maintenant je ne voudrais pas que tu croies que je te pique tes idées wink
Pour l'histoire de la raquette: lorsque elle se trouve par exemple plus bas que l'écran, une flèche apparaît sur le bas, indiquant sa position. La flèche est pleine (noire) pour indiquer que la raquette est tout près du fond de l'écran, et elle se vide progressivement pour indiquer une distance plus importante. Voilà smile
Maintenant pour les niveaux utilisant un défilement, je ne mets généralement pas plus d'une raquette (en bas, comme d'hab) parce que sinon ça devient trop difficile...
Sinon j'ai lu que ton jeu allait à 75 FPS? eek. Le mien fait du 20 FPS. Mais en poussant le timer je peux aller jusqu'à 500 FPS! tongue (toutes les interruptions logicielles sont activées, j'utilise kbhit, ngetchx, idle (important) et cie)
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

642

OK pour l'indicateur je vais réflechir.
Le jeu tourne bien à 75 fps et de plus avec PolySnd en tâche de fond...

Le jeu risque d'être un peu lent sur TI à cause des timings d'interruption qui ne sont pas identique sur Virtual TI et sur Real TI.

Voici le jeu:
http://perso.wanadoo.fr/tisofts/arkanoid/arkanoid5.zip

Et les sources du jeu:
http://perso.wanadoo.fr/tisofts/arkanoid/arkanoid281203.zip


Quelque Bonus sont implanté:
-Vaisseau de tir parfaitement terminé.
-Agrandissement de la raquette.
-Rétrécissement de la raquette.
-Ajout de vie.
-Bonus de colle mais partiellement implanté si vous voyez la Bille s'arrête c'est que vous avez pris le Bonus de colle.

Il n'est pas encore possible de passer au niveau... mais en modifiant les sources vous pouvez les explorer.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

643

Avec les sources? Je n'en demandais pas tant! wink
Le jeu risque d'être un peu lent sur TI à cause des timings d'interruption qui ne sont pas identique sur Virtual TI et sur Real TI.
ncore plus rapide que sur VTI non? Il suffit de faire:pokeIO(0x600017,0xE0);Au contraire il sera epour modifier la vitesse du timer...
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

644

OK ça je sais mais bon faut déjà que je régle correctement lees vitesses d'animations... smile

[EDIT] Pour les sources c'est normal mon jeu est Open Source malgré que j'aurais dû mettre la licence mais bon comme il est pas terminé.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

645

Oh non! Il n'est pas compatible avec les TI-89?
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

646

Pour l'instant non désolé, la taille de l'écran est un gros problème mais je vais y réflechir. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

647

Sasume
: memmove est à bannir si tu veux un jeu rapide.

N'importe quoi. memmove est ce qu'il y a de mieux. Les listes chaînées sont totalement inadaptées à la plateforme, donc nécessité d'utiliser des tableaux, donc aussi d'utiliser memmove.

Quant à l'idée du flag "effacé", elle:
* gaspille de la mémoire pour le flag,
* gaspille de la mémoire pour les objets effacés (par rapport à memmove+HeapRealloc),
* ralentit le jeu au fur et à mesure que de plus en plus d'objets sont "effacés".
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

648

Kevin Kofler
:
Sasume
: memmove est à bannir si tu veux un jeu rapide.

N'importe quoi. memmove est ce qu'il y a de mieux. Les listes chaînées sont totalement inadaptées à la plateforme, donc nécessité d'utiliser des tableaux, donc aussi d'utiliser memmove.
Je n'ai pas parlé d'utiliser des listes chainées.
[code]memmove[/code] est lent il me semble, donc il ne vaut mieux pas l'utiliser.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

649

Utiliser quoi à la place ? Parceque memmove je l'utilise (très) souvent, et j'ai pas eu l'impression que ça ralentissait tant que ça...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

650

Mince je me sens seul tout à coup.
Je pensais à utiliser une pile qui te donne toutes les cases disponibles.
À chaque fois que tu en libères une, tu empiles son indice, et quand tu as besoin d'une case, tu dépiles.
Ça évite le memmove, et si le nombre max d'éléments n'es pas trop grand, tu peux allouer d'un coup l'espace maximal dont tu auras besoin, ça t'évitera d'avoir à faire des realloc.
Non ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

651

Oui c'est pas bête, ça ressemble un peu à ce que j'utilise pour les bots dans gbs, mais la plupart du temps je trouve ce systeme un peu "lourd" pour être utilisé, surtout pour des petits tableaux.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

652

Perso j'utilise memcpy pour effacer un item dans mes listes et ça fonctionne à merveille. wink
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

653

Mais il faut faire attention, memcpy n'est pas prévu pour gérer les cas où la source et la destination se chevauchent, ça peut te créer des problèmes.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

654

Erf ué autant memmove est adapté, autant memcpy... neutral
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

655

Mais il faut faire attention, memcpy n'est pas prévu pour gérer les cas où la source et la destination se chevauchent, ça peut te créer des problèmes.


Je fais gaffe. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

656

Nan mais là ça va à coup sûr boguer. Sauf que ce sera bien entendu au moment où tu t'y attendras le moins, et tu ne comprendras pas pourquoi. neutral
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

657

Voici l'endroit où j'utilise cette méthode et ce avec des Listes de 15 items maximum.

//Efface un bonus
void DeleteBonus (unsigned char item)
{	
	//Interruption
	INT_START_BONUS=FALSE;
	
	//Coordonnées
	memcpy ((void *)(BONUS_xpos+item),(void *)(BONUS_xpos+item+1),(nbrBonus-item-1)<<1);
	memcpy ((void *)(BONUS_ypos+item),(void *)(BONUS_ypos+item+1),(nbrBonus-item-1)<<1);
	
	//Compteur animation
	memcpy ((void *)(BONUS_SHOWANIM+item),(void *)(BONUS_SHOWANIM+item+1),nbrBonus-item-1);
	
	//Sprites
	memcpy ((void *)(BONUS_TYPE+item),(void *)(BONUS_TYPE+item+1),nbrBonus-item-1);
	memcpy ((void *)(BONUS_SPRITE_ANIM+item),(void *)(BONUS_SPRITE_ANIM+item+1),nbrBonus-item-1);
	
	nbrBonus--;
	
	INT_START_BONUS=TRUE;
}

Nan mais là ça va à coup sûr boguer. Sauf que ce sera bien entendu au moment où tu t'y attendras le moins, et tu ne comprendras pas pourquoi.


Que fais la fonction memcpy au juste, est-il possible de voir la source de cette fonction???
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

658

le il pourrait être implémenté comme suit:void memcpy(void *src, void *dest, size_t taille) { size_t i; for (i=0; i<taille; src++,dest++) *dest=*src; }Tu ne pourras certainement pas avoir la source de memcpy étant donné que c'est un ROM_CALL. Mais d'une manière très généraD'où un conflit forcé si chevauchement...
t--; (char*)src++,(char*)dest++) *(char*)dest=*(char*)src; }
Personnellement, j'aurais implémenté le ROM_CALL (optimisé) ainsi:void memcpy(void *src, void *dest, size_t taille)
{
  size_t t;
  t=taille/4;
  for (; t--; (long*)src++,(long*)dest++)
    *(long*)dest=*(long*)src;
  t=taille%4;
  for (; 
(la division et le modulo restent optimisables avec des décalages)
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

659

Brunni> L'implémentation de TI est encore plus rapide que la tienne !
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

660

geogeo :
Voici l'endroit où j'utilise cette méthode et ce avec des Listes de 15 items maximum.

//Efface un bonus
void DeleteBonus (unsigned char item)
{	
	//Interruption
	INT_START_BONUS=FALSE;
	
	//Coordonnées
	memcpy ((void *)(BONUS_xpos+item),(void *)(BONUS_xpos+item+1),(nbrBonus-item-1)<<1);
	memcpy ((void *)(BONUS_ypos+item),(void *)(BONUS_ypos+item+1),(nbrBonus-item-1)<<1);
	
	//Compteur animation
	memcpy ((void *)(BONUS_SHOWANIM+item),(void *)(BONUS_SHOWANIM+item+1),nbrBonus-item-1);
	
	//Sprites
	memcpy ((void *)(BONUS_TYPE+item),(void *)(BONUS_TYPE+item+1),nbrBonus-item-1);
	memcpy ((void *)(BONUS_SPRITE_ANIM+item),(void *)(BONUS_SPRITE_ANIM+item+1),nbrBonus-item-1);
	
	nbrBonus--;
	
	INT_START_BONUS=TRUE;
}

Et c'est faux! Remplace memcpy par memmove!
Nan mais là ça va à coup sûr boguer. Sauf que ce sera bien entendu au moment où tu t'y attendras le moins, et tu ne comprendras pas pourquoi.

Que fais la fonction memcpy au juste, est-il possible de voir la source de cette fonction???

Elle copie en général toujours dans le même sens, donc elle a une chance sur 2 d'écraser avant d'avoir fini de copier (et encore, la chance sur 2 n'est pas garantie, elle peut aussi toujours écraser les données si source et destination se chevauchent). Donc bogue garanti. memmove fait attention de ne pas écraser avant d'avoir copié (en général en choisissant le bon sens pour copier).

Et attention, strcpy se comporte comme memcpy! J'ai vu beaucoup trop de sources boguées qui utilisent strcpy sur des sources et destinations qui se chevauchent. sad Par exemple cette perle d'un certain Romain Liévin:
/*
  Remove beginning & ending '"' from files.
  The string is modified in place !
*/
char* tail_long_filename(char *file)
{
    char *p = file;

    if( (file[0] != '\"') && (file[strlen(file)] != '\"') )
	return file;
    
    strcpy(file, ++p);     /* remove first quote */
    p[strlen(p)-1] = '\0'; /* remove last quote */

    return file;
}

Il y avait cette horreur dans le tprbuilder de TIGCC jusqu'à la version 1.0.7. La version 1.0.8 livrée avec toutes les versions actuelles de TIGCC contient ma correction:
/*
  Remove beginning & ending '"' from files.
  The string is modified in place !
*/
char* tail_long_filename(char *file)
{
    char *p = file;

    if( (file[0] != '\"') && (file[strlen(file)] != '\"') )
        return file;
    
    p++;
    memmove(file, p, strlen(p)+1); /* remove first quote */
    p[strlen(p)-1] = '\0';         /* remove last quote */

    return file;
}
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité