π
<-

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 !

Unread postby 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41993
Images: 15900
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby 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
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 30.2%
 
Posts: 770
Images: 75
Joined: 14 Sep 2011, 12:29
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby 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 :)
ImageImageImageImage
User avatar
DoOmnimagaPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 21.7%
 
Posts: 696
Images: 51
Joined: 21 Feb 2012, 12:04
Location: Quebec, Canada
Gender: Male
Calculator(s):
MyCalcs profile
Class: 11eme annee scolaire termine
YouTube: DJOmnimaga
Facebook: dreamofomnimaga.page

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

Unread postby 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
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi


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

Who is online

Users browsing this forum: No registered users and 10 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1072 utilisateurs:
>998 invités
>64 membres
>10 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)