π
<-
Chat plein-écran
[^]

NuuM 2D : retour labyrinthes Halloween en 2D sur ta NumWorks

En ligne

NuuM 2D : retour labyrinthes Halloween en 2D sur ta NumWorks

Message non lude critor » 22 Fév 2021, 15:08

A l'occasion d'
Halloween 2020
NumWorks
te sortait
NuuM
, un jeu
Python
en
3D
utilisant la technique du
raycasting
(lancé de rayons)
.

Bien que la typographie du titre empruntait à la licence
DOOM
lancée en 1993, en réalité rien à voir. Ici pas de plateformes ni d'étages, le monde simulé est intégralement plat. Il s'agit en fait d'un labyrinthe 2D affiché en relief, on devrait plutôt parler de 2.5D ou de pseudo-3D.

Pour donner une référence vidéoludique en restant chez l'éditeur
id Software
, le jeu est ici plutôt comparable au titre précédent,
Wolfenstein 3D
de 1992.


Le script n'en reste pas moins très ambitieux avec plus de 10 Ko de code, aux limites actuelles de la calculatrice, ne compte pas pouvoir y faire des ajouts. ;)

13192

NumWorks
te met donc au défi de traverser 4 labyrinthes successifs de 17×17 cases chacun. Tu dois à chaque fois trouver la clé afin de pouvoir accéder au labyrinthe suivant. 5 citrouilles purement décoratives seront également disposées dans chaque labyrinthe, cette fois-ci de façon aléatoire.

Alors, as-tu réussi à gagner depuis maintenant près de 4 mois ?

C'est vrai qu'être dans un labyrinthe, ce n'est pas pareil qu'en être au-dessus. ;)

Si ce n'est toujours pas le cas, on te propose aujourd'hui de
hacker
le jeu. :bat:

On trouve rapidement dans le code la définition des 4 labyrinthes :
Code: Tout sélectionner
MAZE_SIZE = 17
MAZES = [
    994639892451692017993627844655427188346119489096700102527510313302320457573868616417279,
    994639136329297165277925056994599494901591635504316814914476715640179960969549973159935,
    994638899191857351225063837897269868434453723710226411561032419934171038551468501237759,
    994638903127657620198142832056217335350998827328484167051085993695318850524015157706751,
        ]


Le codage utilisé n'est certes pas précisé.

Mais aucun problème, car
NumWorks
a déjà codé une fonction wall(mapId, x, y) nous permettant de tester la case de coordonnées
(x, y)
du labyrinthe numéro
mapId
.
Elle peut retourner différentes constantes définies dans le script :
  • WALL_EMPTY
    (si c'est une case libre par laquelle on peut donc passer)
  • WALL_FANCY
  • WALL_SPECIAL_A
  • WALL_SPECIAL_B
  • WALL_SPECIAL_C
4 types de murs sont donc prévus, mais en pratique seule la couleur change comme tu as déjà pu voir plus haut. Le couleur d'affichage de chacun de ces murs est obtenue grâce à la fonction color(wallId).

13606Et bien voilà donc suffisamment d'informations pour
hacker
le script de
NumWorks
. Remplaçons simplement le code de la fonction
drawSurfacesAndSprites()
par une simple double boucle d'affichage de grille 2D :
Code: Tout sélectionner
def drawSurfacesAndSprites(xp, yp, mapId):
  fill_rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, color(CEILING))
  for y in range(MAZE_SIZE):
    for x in range(MAZE_SIZE):
      w = wall(mapId, x, y)
      if w != WALL_EMPTY:
        fill_rect(T_SIZE*x, T_SIZE*y, T_SIZE,T_SIZE,color(w))
  fill_rect(int(xp) * T_SIZE, int(yp) * T_SIZE, T_SIZE, T_SIZE, color(WALL_EMPTY))
  for sprite in SPRITES:
    sprite[1][0](int(sprite[0][0])*T_SIZE,int(sprite[0][1])*T_SIZE)


Rajoutons également de quoi afficher les
sprites
ainsi que la position du joueur, et voilà, la carte secrète intégrale du 1er labyrinthe de
NumWorks
se révèle enfin à nous ! :D

Tu peux donc dès maintenant t'y référer pour ne plus te perdre dans le labyrinthe 3D. ;)

13607Et tant que nous y sommes remplaçons également la fonction
handleKeys()
, comme ça si tu préfères tu pourras également jouer en 2D et découvrir encore plus rapidement les labyrinthes suivants ! ;)

Code source + installation
:
(pour
NumWorks
)


Téléchargement
:

Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 12.4%
 
Messages: 36894
Images: 10231
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor

Re: NuuM 2D : retour labyrinthes Halloween en 2D sur ta NumW

Message non lude cent20 » 22 Fév 2021, 17:02

C'est génial.


Le jeu est une belle démonstration des capacités de la calculatrice et cet article qui révèle une partie des secrets de la programmation de ce jeu encore plus intéressant. Comme tout n'est pas codé dans des listes ou pire des listes de listes, on peut arriver à faire tourner un script de 10 ko.

Bravo au développeur de ce jeu et à Critor d'avoir attendu 4 mois avant de hacker le jeu...
Image
Enseignant de mathématiques et de spécialité NSI ( projets, tutos ...)
:favorite: NumWork, Python : démineur, snake, tétris
Avatar de l’utilisateur
cent20VIP++
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 72.7%
 
Messages: 592
Images: 43
Inscription: 17 Mai 2012, 09:49
Localisation: Avignon
Genre: Homme
Calculatrice(s):
Twitter: nsi_xyz

En ligne

Re: NuuM 2D : retour labyrinthes Halloween en 2D sur ta NumW

Message non lude critor » 22 Fév 2021, 17:14

Merci pour ton retour. :)

cent20 a écrit:Bravo au développeur de ce jeu et à Critor d'avoir attendu 4 mois avant de hacker le jeu...

Il fallait bien que je te laisse un temps raisonnable pour chercher, avant de publier la solution. :P
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 12.4%
 
Messages: 36894
Images: 10231
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor

Re: NuuM 2D : retour labyrinthes Halloween en 2D sur ta NumW

Message non lude cirekraft » 22 Fév 2021, 17:22

Merci bien pour cette analyse, je regrette juste que Numworks n'ait pas eu la place de mettre ça... :~o

Image
Avatar de l’utilisateur
cirekraft
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 40%
 
Messages: 8
Inscription: 19 Nov 2018, 17:53
Genre: Homme
Calculatrice(s):
YouTube: Schraf

En ligne

Re: NuuM 2D : retour labyrinthes Halloween en 2D sur ta NumW

Message non lude critor » 22 Fév 2021, 21:35

Surprise, ça marche aussi sur TI-Nspire CX II ! :D
Image
archives_voir.php?id=2703200
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 12.4%
 
Messages: 36894
Images: 10231
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor

Re: NuuM 2D : retour labyrinthes Halloween en 2D sur ta NumW

Message non lude DJ Omnimaga » 22 Fév 2021, 21:51

Koman on alum une TI


Je voulais dire Sympa comme jeu. Par contre, je me demande ce que font les petit monstres ou trucs avec une bouche, parce que quand je passe dessus, rien de spécial ne se produit. :quest:
Avatar de l’utilisateur
DJ OmnimagaPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 16.5%
 
Messages: 433
Images: 5
Inscription: 21 Fév 2012, 12:04
Localisation: Quebec, Canada
Genre: Homme
Calculatrice(s):
Classe: Diplômé Secondaire (11ème année scolaire terminé)
YouTube: DJOmnimaga
Twitter: DJOmnimaga
Facebook: djomnimaga.music

En ligne

Re: NuuM 2D : retour labyrinthes Halloween en 2D sur ta NumW

Message non lude critor » 22 Fév 2021, 21:53

Oui, ce sont des citrouilles d'Halloween.

Elles sont purement décoratives, en effet.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 12.4%
 
Messages: 36894
Images: 10231
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor


Retourner vers News NumWorks

Qui est en ligne

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

-
Rechercher
-
Social
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Découvre les nouvelles fonctionnalités en Python de l'OS 5.2 pour les Nspire CX II
Découvre les nouvelles fonctionnalités en Python de l'OS 5.5 pour la 83PCE/84+C-T Python Edition
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
1234
-
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.
415 utilisateurs:
>403 invités
>6 membres
>6 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)