π
<-
Chat plein-écran
[^]

1000 Bornes SE, plus rapide avec la bibliothèque Sprites !

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

1000 Bornes SE, plus rapide avec la bibliothèque Sprites !

Message non lude critor » 11 Nov 2016, 12:17

Dans un article précédent nous te sortions le jeu 1000 Bornes pour ta TI-83 Premium CE.
Ce jeu programmé en langage Basic pur souffrait d'un défaut, l'affichage de chaque sprite (image) de carte pouvant prendre point par point plusieurs secondes, malgré plusieurs astuces spécifiques ayant permis d'optimiser la chose.

7497Aujourd'hui nous te sortons 1000 Bornes SE.
De son nom complet 1000 Bornes Sprites Edition, cette version corrige ce problème en utilisant la bibliothèque graphique Sprites de Grosged. :bj:



La bibliothèque graphique Sprites de Grosged fournit plusieurs outils permettant d'afficher rapidement des sprites entre autres. :bj:
Elle passe l'écran de la calculatrice du mode 16-bits au mode 8-bits, qui permet de libérer la 2ème moitié alors invisible du buffer écran et d'y disposer donc de 75Kio (320x240=76800 octets). :)
Et l'astuce est justement d'utiliser cette zone libérée pour la définition et le stockage des sprites qui pourront par la suite être affichés aux endroits choisis dans la 1ère moitié du buffer écran. ;)

Outre la désormais grande rapidité, la bibliothèque Sprites apporte nombre d'avantages :
  • l'avantage de pouvoir afficher en plein écran 320x240 pixels, au lieu d'être limité à la zone graphique 265x165 pixels ! :bj:
  • Outre les sprites, elle permet également de tracer des rectangles de couleur là où aucune instruction équivalente n'existe en TI-Basic, ce qui nécessitait donc une boucle d'instructions Ligne(.
  • Une autre possibilité remarquable, est celle d'afficher du texte. Et contrairement au langage TI-Basic on contrôle ici indépendemment les zooms horizontaux et verticaux, ainsi que les couleurs de police et de fond avec 256 possibilités différentes à chaque fois ! :bj:

Programmer avec la bibliothèque graphique Sprites n'a toutefois pas que des avantages, et nombre d'habitudes devront changer :
  • Le mode 8-bits limite le nombre de couleurs affichables à 28=256 au lieu de 216=65536.
    Un détail bien souvent négligeable... sauf si tu avais dans l'idée de faire des dégradés de couleur.
  • Les instructions d'affichage du TI-Basic ne gèrent pas du tout le mode 8-bits, et ne peuvent donc plus être utilisées à compter de l'activation de la bibliothèque dans un programme : absolument tous les affichages devront donc être réalisés avec la bibliothèque, jusqu'à sa désactivation.
  • En cas d'erreur dans un programme, ce dernier redonne la main à l'OS dont l'affichage sera alors illisible, jusqu'à extinction+rallumage de la calculatrice, faisant perdre les informations sur la localisation de l'erreur. :mj:
  • L'émulateur TI-SmartView CE ne gère pas du tout le mode 8-bits, et ne permettra pas de tester les programmes en question. :mj:
  • TI-Connect CE ne fait pas mieux, et les captures d'écran sont donc à oublier. :mj:
Toutefois, notons que l'émulateur communautaire CEmu gère lui correctement le mode 8-bits et permet de pallier à ces 3 derniers inconvénients. :bj:



Les sprites sont définies dans nos programmes TI-Basic pixel par pixel, à l'aide de simples chaînes de caractères.
Leur nombre n'est pas limité autrement que par la mémoire, mais elles ne peuvent dépasser les 35x35 pixels, ce qui nous a amenés à utiliser divers astuces ici, les cartes du jeu étant plus grandes.

Signalons l'utilitaire TI-83 Plus Sprites Ripper de Ricsan pour Windows qui t'automatisera grandement cette phase à partir du découpage d'une image tilemap (grille de sprites) ! :bj:
Mais il a également le défaut de ne traiter qu'au plus 16 sprites à la fois, nombre légèrement dépassé ici.
Il en existe également une nouvelle version disponible ci-dessous, mais que personnellement je trouve beaucoup moins intuitive à utiliser.



Téléchargements :
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41468
Images: 14480
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: 1000 Bornes SE, plus rapide avec la bibliothèque Sprites

Message non lude grosged » 11 Nov 2016, 17:06

Beau travail, Critor ! Merci d'avoir porté cet intérêt à la bibliothèque Sprites ;)
Je suis ravi d'avoir -indirectement- participé à ce chouette projet :D
Avatar de l’utilisateur
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 30.2%
 
Messages: 770
Images: 75
Inscription: 14 Sep 2011, 12:29
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

En ligne

Re: 1000 Bornes SE, plus rapide avec la bibliothèque Sprites

Message non lude DoOmnimaga » 12 Nov 2016, 00:18

Je suis content de voir de nouveaux programmes utilisant la librairie Sprites :), surtout depuis la sortie de Sprite Ripper :)
Dream of Omnimaga
ImageImageImageImage
Avatar de l’utilisateur
DoOmnimagaPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 7.3%
 
Messages: 681
Images: 25
Inscription: 21 Fév 2012, 12:04
Localisation: Quebec, Canada
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 11eme annee scolaire termine
YouTube: DJOmnimaga
Twitter/X: DJOmnimaga
Facebook: djomnimaga

Re: 1000 Bornes SE, plus rapide avec la bibliothèque Sprites

Message non lude Ti64CLi++ » 15 Nov 2016, 13:28

Vivement de bon jeu comme mario bros grâce à le librairie Sprites ;)
En tout cas, bon travail critor :bj:
Image
Avatar de l’utilisateur
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 32.3%
 
Messages: 3441
Images: 75
Inscription: 04 Juil 2014, 14:40
Localisation: Clermont-Ferrand 63
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: ENS Rennes
GitHub: Ti64CLi


Retourner vers News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 65 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1009 utilisateurs:
>982 invités
>22 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)