π
<-

Jetpack Impossible

C, C++, ASM...

Jetpack Impossible

Unread postby Hayleia » 15 May 2014, 08:47

Non, vous ne rêvez pas. Non, vous ne cauchemardez pas non plus. Bon, bref, oui c'est la vraie vie, oui je programme sur Nspire aussi maintenant.

Voici donc mon premier projet sur Nspire (l'inversion de matrice par le pivot de Gauss ne compte pas comme un projet), Jetpack Impossible, du nom du jeu pour smartdevices.

Votre but est d'aider l'astronaute à collecter un maximum de boules vertes avant de se faire tuer par une météorite (pourquoi faire un scénario quand on peut juste faire un jeu ?). Vous avez pour cela votre Jetpack et ses deux boutons qui vous permettent d'aller vers le haut (l'un pousse plus vers la droite, l'autre plus vers la gauche), et vous comptez sur la gravité pour redescendre (logique la gravité dans l'espace quand il n'y a rien en dessous de vous). Notez que vous êtes invincible avant d'attraper votre première boule verte (qui veut jouer au jeu des 7 incohérences physiques ?) et que vous pouvez passer de la droite vers la gauche, du haut vers le bas et inversement.

Un screenshot vaut mieux qu'un long discours donc en voici un.
Image

À faire:
-sauvegarde du highscore
-affichages propres du score (je parle du truc qui vous affiche quelle médaille vous avez quand vous perdez) ?
-menu (pourquoi faire ?) ?

Je remercie en passant pierrotdu18 pour son jeu Flappy Bird dont le code m'a été très utile pour apprendre à me servir de nSDL, ainsi que pour la police d'écriture qu'il utilise dans son programme que j'ai moi aussi utilisée ici.

Lien de téléchargement: http://ti-pla.net/a59790

PS: n'hésitez pas à regarder le code source et à me dire ce qui est ridicule dedans, si vous me laissez faire n'importe quoi je continuerais à faire n'importe quoi.

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: Jetpack Impossible

Unread postby pierrotdu18 » 15 May 2014, 09:13

Ah ah ça a l'air pas mal! :)
Et de rien pour la police :D Des que j'ai vu le screen je me suis dit "eh mais c'est ma police!" :p Et btw, encore un grand merci à Lepzulnag grâce à qui la création de polices personnalisées est désormais possible et très simplifiée.
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: Jetpack Impossible

Unread postby Hayleia » 15 May 2014, 09:21

pierrotdu18 wrote:Ah ah ça a l'air pas mal! :)
Et de rien pour la police :D Des que j'ai vu le screen je me suis dit "eh mais c'est ma police!" :p Et btw, encore un grand merci à Lepzulnag grâce à qui la création de polices personnalisées est désormais possible et très simplifiée.

Merci à vous deux dans ce cas ^^

Et au fait, je n'ai pas testé sur Nspire monochrome (puisque je n'en ai pas) donc je ne sais pas s'il marche et s'il est jouable avec ces couleurs.

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: Jetpack Impossible

Unread postby pierrotdu18 » 15 May 2014, 09:25

Normalement, oui, car tu as repris la ligne
Code: Select all
screen=SDL_SetVideoMode(320,240,has_colors?16:8,SDL_SWSURFACE);
:)
Sinon, sers toi du petit truc de matref pour essayer en émulation pour la monochrome ;)

Je vais tester sur ma Nspire avec Ndless 3.6, mais il n'y a aucune raison pour que cela ne marche pas... ;)
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: Jetpack Impossible

Unread postby Hayleia » 15 May 2014, 09:31

pierrotdu18 wrote:Normalement, oui, car tu as repris la ligne
Code: Select all
screen=SDL_SetVideoMode(320,240,has_colors?16:8,SDL_SWSURFACE);
:)
Sinon, sers toi du petit truc de matref pour essayer en émulation pour la monochrome ;)
Ah oui, j'avais oublié ça. Je viens de tester donc, et ça a l'air de marcher, avec juste trois problèmes:
-beaucoup plus de lag o.o
-le score s'affiche mais ne n'efface pas (donc le 0 est lisible, le 1 est écrit au dessus du 0 et on commence à ne rien comprendre, etc)
-on ne voit pas trop la différence entre les verts et les orange, mais au pire on sait que les verts sont ceux qui ne bougent pas.

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: Jetpack Impossible

Unread postby pierrotdu18 » 15 May 2014, 09:40

Les lags... Eh bien...
Je sais pas :p

Sinon, pour le score, au lieu de faire SDL_FillRect(screen,NULL,0);, crées une SDL_Surface* background, que tu rempliras de noir au début et que tu n'auras plus qu'à flipper à chaque itération sans la ré-remplir de noir ;) Je pense que ça marchera ensuite.
Sinon, pour que le flip soit plus rapide, fais ce que j'ai fait au début de mon code, des SDL_DisplayFormatAlpha sur chacune de tes surface au début, ça les convertit pour qu'elles soient adaptées au format de ton écran et qu'elles n'aient pas besoin d'être converties à chaque blitt.
Ensuite, pour les couleurs, je te conseille de charger d'autres sprites. Genre, pour le vert, tu fais
Code: Select all
if (has_color) {//charger sprite_cx} else {//charger sprite_monochrome}

Et pour les monochromes, retouches toi des images avec des nuances de gris bien visibles comme ça on verra bien la différence...

Voilà :)
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: Jetpack Impossible

Unread postby Adriweb » 15 May 2014, 09:47

Joli :)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.7%
 
Posts: 14820
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Jetpack Impossible

Unread postby Lepzulnag » 15 May 2014, 09:59

Super ;)

Le code est bon, rien ne m'a choqué. Mini-détail d'écriture, je ne sais pas si tu le fais exprès pour que ça soit plus lisible pour toi, mais tu peux remplacer :
Code: Select all
while (K_7||K_9) {}

par :
Code: Select all
while (K_7||K_9);

Et de même tu peux tout simplement enlever les accolades dans les lignes de ce type :
Code: Select all
if (K_ENTER) {score++;}

Si tu ne mets pas d'accolades après un if, while, do, etc... seule la commande suivante sera affectée.

Ensuite je n'ai pas tout à fait compris ton histoire "d'ombres". Je ne vois pas d'ombres quand je lance le jeu.

Et enfin (et cela s'adresse aussi à Pierrotdu18 pour son Flappy Bird :D) cela me faisait trop mal aux yeux de voir chargée une énorme police, alors que tu n'utilises que les dix caractères numériques, alors j'ai créé une fonction nSDL_LoadNumericFont (du même genre que nSDL_LoadCustomFont), mais qui ne prend en argument qu'un tableau contenant les dix caractères-chiffres. Dans ton fonts.h tu pourras ainsi supprimer toutes tes lignes de 0, et gagner beaucoup de kilo-octets de mémoire (27 ko si tu n'utilises que la mini-font) !!

Voici la nouvelle archive contenant la fonction nSDL_LoadNumericFont :
http://tiplanet.org/forum/archives_voir.php?id=46058
Last edited by Lepzulnag on 15 May 2014, 10:33, edited 1 time in total.
User avatar
Lepzulnag
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 78.5%
 
Posts: 151
Joined: 02 Aug 2012, 21:15
Location: Bretagne
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: M2 Maths

Re: Jetpack Impossible

Unread postby Hayleia » 15 May 2014, 10:31

pierrotdu18 wrote:Les lags... Eh bien...
Je sais pas :p

Sinon, pour le score, au lieu de faire SDL_FillRect(screen,NULL,0);, crées une SDL_Surface* background, que tu rempliras de noir au début et que tu n'auras plus qu'à flipper à chaque itération sans la ré-remplir de noir ;) Je pense que ça marchera ensuite.

Ça ne règlera pas du tout le problème du score puisque je ne fais jamais DSL_FillRect(screen,NULL,0) dans la boucle principale.

pierrotdu18 wrote:Sinon, pour que le flip soit plus rapide, fais ce que j'ai fait au début de mon code, des SDL_DisplayFormatAlpha sur chacune de tes surface au début, ça les convertit pour qu'elles soient adaptées au format de ton écran et qu'elles n'aient pas besoin d'être converties à chaque blitt.
Ensuite, pour les couleurs, je te conseille de charger d'autres sprites. Genre, pour le vert, tu fais
if (has_color) {//charger sprite_cx} else {//charger sprite_monochrome}
Et pour les monochromes, retouches toi des images avec des nuances de gris bien visibles comme ça on verra bien la différence...

Ok, je vais voir pour ces deux là, merci :)

Lepzulnag wrote:Le code est bon, rien ne m'a choqué. Mini-détail d'écriture, je ne sais pas si tu le fais exprès pour que ça soit plus lisible pour toi, mais tu peux remplacer :
...
Si tu ne mets pas d'accolades après un if, while, do, etc... seule la commande suivante sera affectée.
Pour le if, c'est fait exprès, je trouve ça plus lisible. Par contre pour le while, ça rend quand même beaucoup mieux comme tu le dis, merci pour le conseil :)

Lepzulnag wrote:Ensuite je n'ai pas tout à fait compris ton histoire "d'ombres". Je ne vois pas d'ombres quand je lance le jeu
Non mais j'ai appelé ça "shadow" parce que je ne savais pas comment l'appeler :P
En fait c'est la sprite "blabla_shadow" est la même que la sprite "blabla" mais en tout noir. Je m'en sers pour effacer la sprite (vu que le fond est noir aussi), mais ce n'est effectivement pas vraiment une ombre.

Lepzulnag wrote:Et enfin (et cela s'adresse aussi à Pierrotdu18 pour son Flappy Bird :D) cela me faisait trop mal aux yeux de voir chargée une énorme police, alors que tu n'utilises que les dix caractères numériques, alors j'ai créé une fonction nSDL_LoadNumericFont (du même genre que nSDL_LoadCustomFont), mais qui ne prend en argument qu'un tableau contenant les dix caractères-chiffres. Dans ton fonts.h tu pourras ainsi supprimer toutes tes lignes de 0, et gagner beaucoup de kilo-octets de mémoire (27 ko si tu n'utilises que la mini-font) !!
Super, je verrais ça après avoir réglé les autres problèmes (l'autre méthode gâche de la place mais fonctionne donc ce n'est pas prioritaire de la changer ;)).

Lepzulnag wrote:Super ;)
Adriweb wrote:Joli :)

Merci ^^

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
User avatar
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 43.8%
 
Posts: 2509
Images: 2
Joined: 30 Aug 2011, 08:22
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Templar

Re: Jetpack Impossible

Unread postby pierrotdu18 » 15 May 2014, 11:08

Moi comme j'ai une image de fond, je ne peux pas faire de "shadow" comme toi mais si tu tiens à faire comme ça, peut être que tu devrais créer une shadow pour le texte, de 60*30 par exemple que tu pourrais blitter à chaque itération de la boucle principale pour effacer le texte....
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Next

Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: ClaudeBot [spider] and 11 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.
1564 utilisateurs:
>1540 invités
>17 membres
>7 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)