π
<-

TI-z80 Geometry Dash : God Eater, adaptation du niveau démoniaque !

New postby critor » 06 Feb 2019, 16:15

Ta TI-83 Premium CE bénéficie d'une superbe adaptation de Geometry Dash par Epharius aidé d'Anonyme0. :bj:

D'origine, le jeu inclut des adaptations de trois des 21 niveaux accompagnant la version complète du jeu mobile :
  • Stereo Madness (niveau 1 - easy)
  • Polargeist (niveau 3 - normal)
  • Dry Out (niveau 4 - normal)

Mais il est de plus possible de créer et charger tes propres niveaux. :bj:
La conception se passe sur ordinateur avec le logiciel Tiled où il suffira d'utiliser le tileset de Geometry Dash, puis d'en exporter une version .csv avant de la convertir en ligne.

10245Après avoir adapté le niveau 7 (Jumper), PocketArt est de retour pour s'attaquer encore à un niveau difficile mais cette fois-ci non officiel et pas des moindres, le légendaire God Eater.

Considéré comme étant parmi les niveaux les plus difficiles existant pour Geometry Dash, l'adaptation de la première partie de God Eater devrait bien pouvoir t'occuper jusqu'aux vacances... et peut-être même au-delà ! :bat:
Pour le rajouter il n'y a rien de plus facile, il te suffira simplement d'envoyer le fichier du niveau sur ta calculatrice et il deviendra automatiquement sélectionnable à l'écran d'accueil de Geometry Dash.


Téléchargements :

Liens :

Source : viewtopic.php?f=12&t=19211&start=160#p238699

NumWorks Firmware NumWorks 10.0.0 bêta; module turtle Python !

New postby Admin » 03 Feb 2019, 15:02

NumWorks travaille actuellement sur la prochaine mise à jour 10.0.0 de sa calculatrice. Celle-ci est déjà disponible en version bêta, à condition de la compiler à partir du code source officiel.

Mais cette fois-ci, une version compilée de la 10.0.0 bêta vient d'être diffusée par jean-baptiste boric dans le contexte de son Python amélioré pour les jeux. Profitons-en donc pour découvrir les nouveautés à venir. ;)

10238D'une part, nous notons des améliorations apportées au moteur de calcul.

Il est désormais capable de renvoyer des résultats exacts lorsque l'on passe un argument complexe aux fonctions de module et d'argument ! :bj:

D'autre part, pour la rentrée 2019, selon le nouveau programme de Physique-Chimie de la Seconde Générale et Technologique, il faudra programmer des tracés en langage Python :
  • mouvement plan d'un objet ponctuel
  • nuage de points
  • vecteurs vitesse et variations

La NumWorks est certes le seul modèle à ce jour à disposer d'une implémentation Python constructeur (et donc disponible en mode examen) permettant de dessiner sur l'écran, à l'aide du module kandinsky.

Mais le dernier point évoqué, à savoir représenter des vecteurs, c'est-à-dire une direction, un sens et peut-être même la flèche qu'il y a au bout, n'en reste pas moins un problème trigonométrique bien conséquent, qui ne nous semble pas évident à faire résoudre à un niveau Seconde.
A moins bien sûr de distribuer des fonctions Python précodées par l'enseignant, ce qui n'aura alors pas grand intérêt...

10224Une fois de plus, le constructeur NumWorks nous prouve sa grande réactivité en n'attendant pas le dernier moment pour apporter une solution, l'inclusion dans son application Python du module turtle développé par jean-baptiste boric en novembre 2018.

Tracer maintenant un vecteur en coordonnées relatives et non absolues, même avec la flèche au bout, n'a plus du tout la même complexité ! :bj:
C'est doublement une excellente solution à notre problème, puisque c'est également l'occasion de réinvestir les acquis de collège avec le codage de tracés en langage Scratch, mais dans le cadre maintenant d'un langage textuel conformément aux programmes du lycée. :bj:

Y sont disponibles des équivalents pour l'ensemble des fonctions Scratch du collège :
10237102361023510234
10233102321023110230


10229De quoi tracer facilement des vecteurs ou même encore plus complexe comme des fleurs ! ;)
Code: Select all
from turtle import *
import kandinsky

def forbackward(d):
  forward(d)
  backward(d)
 
def pf(d=1,gd=-1,nervure=False):
  n=9
  pos=position()
  for j in range(2):
    for k in range(n):
      forward(d)
      right(gd*90/n)
    right(gd*90)
  if nervure:
    right(gd*40)
    forbackward(5*d)
    right(-gd*40)

def fleur(npetales=8,nfeuilles=2,ltige=160,kfeuille=1,c=kandinsky.color(255,255,0)):
  d=ltige/(nfeuilles+1)
  color(0,191,0)
  for j in range(nfeuilles):
    forward(d)
    pf(kfeuille,2*(j%2)-1,True)
  forward(d)
  color((c>>11)<<3,((c>>5)%64)<<2,(c%32)<<3)
  for j in range(npetales):
    pf(kfeuille,-1)
    left(360/npetales)

#example
from math import *

def hsv2color(h,s=1,v=1):
  c=v*s
  x=c*(1-abs((h%120)/60-1))
  m=v-c
  k=int(h/60)
  r=255*(m+x*(k==1 or k==4)+c*(k==5 or k==0))
  g=255*(m+c*(k==1 or k==2)+x*(k==3 or k==0))
  b=255*(m+x*(k==2 or k==5)+c*(k==3 or k==4))
  return kandinsky.color(round(r),round(g),round(b))

def horiz(y,col):
  for x in range(320):
    kandinsky.set_pixel(x,y,col)

for j in range(112):
  horiz(111-j,hsv2color(210,0+1*j/111,1))
  horiz(111+j,hsv2color(30,.1+.9*j/111,.7))

sw=320
sh=222
ymax=sh/2
ymin=ymax-sh+1
xmin=-sw/2
xmax=xmin+sw-1
penup()
goto(0,ymin)
setheading(90)
pendown()
fleur(12,9,ymax-ymin+1-26,3,kandinsky.color(255,255,0))

Creusons un petit peu la chose, et explorons ce que renferme ce module à l'aide du script suivant :
Code: Select all
#platforms:
#0: MicroPython / TI-Nspire
#1: MicroPython / NumWorks
#2: MicroPython / G90+E
#3: MicroPython / G35+E/USB / G75/85/95
#4: CircuitPython / TI-Python / 83PCE
#5: Xcas / HP Prime
#6: KhiCAS / Graph 90+E
def getplatform():
  id=-1
  try:
    import sys
    try:
      if sys.platform=='nspire':id=0
      if sys.platform=='TI-Python Adapter':id=4
    except:id=3
  except:
    try:
      import kandinsky
      id=1
    except:
      try:
        if chr(256)==chr(0):id=5+(not ("HP" in version()))
      except:
        id=2
  return id
 
platform=getplatform()
#lines shown on screen
plines=[29,12,  7, 9,11,0,0]
#max chars per line
#(error or new line if exceeded)
pcols =[53,99,509,32,32,0,0]

nlines=plines[platform]
ncols=pcols[platform]
curline=0

def mprint(*ls):
  global curline
  st=""
  for s in ls:
    if not(isinstance(s,str)):
      s=str(s)
    st=st+s
  stlines=1+int(len(st)/ncols)
  if curline+stlines>=nlines:
    input("Input to continue:")
    curline=0
  print(st)
  curline+=stlines

def sstr(obj):
  try:
    s=obj.__name__
  except:
    s=str(obj)
    a=s.find("'")
    b=s.rfind("'")
    if a>=0 and b!=a:
      s=s[a+1:b]
  return s

def isExplorable(obj):
  s=str(obj)
  return s.startswith("<module '") or s.startswith("<class '")

def explmod(pitm,pitmsl=[],reset=True):
  global curline
  if(reset):
    curline=0
    pitmsl=[sstr(pitm)]
  hd="."*(len(pitmsl)-1)
  spath=".".join(pitmsl)
  c=0
  for itms in sorted(dir(pitm)):
    c=c+1
    try:
      itm=eval(spath+"."+itms)
      mprint(hd+itms+"="+str(itm))
      if isExplorable(itm):
        pitmsl2=pitmsl.copy()
        pitmsl2.append(itms)
        c=c+explmod(itm,pitmsl2,False)
    except:
      mprint(hd+itms)
  if c>0:
    mprint(hd+"Total: "+str(c)+" item(s)")
  return c

10225102261022710228

38 éléments donc, soit de quoi chambouler notre classement de la richesse des implémentations de pythonnettes dès la sortie de cette mise à jour ! :bj:
NumWorks
Casio
Graph 90+E
module externe
TI-Python pour
TI-83 Premium CE
builtins218188175204190
array444
collections2
cmath121212
gc777
math4141254128
random8888
sys151215
time34
turtle38
spécifique10
(nsp)
5
(kandinsky)
4
(handshake)
Modules77379
Éléments307295208288262


D'où le classement suivant :
  1. TI-Nspire avec 7 modules et 307 entrées
  2. NumWorks avec 7 modules et 295 entrées
  3. Casio Graph 35+E/75+E avec 7 modules et 288 entrées
  4. module externe TI-Python pour TI-83 Premium CE avec 9 modules et 262 entrées
  5. Casio Graph 90+E avec 3 modules et 208 entrées

Attention le firmware 10.0.0 téléchargeable ci-dessous est donc en version bêta non finale. Des problèmes peuvent apparaître même en dehors des points évoqués; il t'est déconseillé de l'installer si tu as de prochains rendez-vous importants (DS, examens, concours...). :#non#:

Téléchargement : firmware 10.0.0 bêta (installable facilement via webdfu_numworks )

TI-z80 Tuto saisie minuscules facile et universel, même 82 Advanced

New postby critor » 03 Feb 2019, 12:29

Par défaut, ta TI-82/83/84 ne te permet de saisir du texte qu'en majuscules.

Il existe toutefois des programmes assembleur ou applications permettant d'activer la saisie en lettres minuscules en tapant
alpha
alpha
.

On peut citer entre autres :
  • le programme assembleur MinuMAJU pour TI-83 Premium CE / TI-84 Plus CE
  • l'application OmniCalc pour TI-82+/83+/84+

Sauf que, initialement, les TI-82 Advanced et TI-84 Plus T interdisaient d'exécuter des programmes assembleur ou de rajouter des applications.

Toutefois grâce au formidable travail de parrotgeek1 nous t'annoncions enfin dans un article précédent la possibilité d'installer les applications TI-82+/83+/84+ de ton choix sur ta TI-82 Advanced, et donc par extension d'exécuter des programmes assembleur grâce aux applications de shell.

Mais voilà, à ce jour la TI-84 Plus T reste fermée à ces possibilités.

Et peut-être trouves-tu aussi que la manipulation pour installer l'application OmniCalc sur ta TI-82 Advanced est trop compliquée...

10223Mais heureusement, il existe une autre possibilité pour saisir du texte en minuscules sur ta calculatrice, possibilité qui est valable pour toutes les TI-82+/83+/84+, y compris les dernières TI-82 Advanced ou TI-84 Plus T.

Il te suffit simplement de faire appel en cours de saisie au catalogue avec
2nde
0
, puis de valider l'entrée Caractères que tu trouveras vers le début.
Attention, cette entrée n'est disponible que si ta calculatrice est réglée dans une autre langue que l'Anglais. :#non#:


A l'écran auquel tu accèdes alors, la combinaison
alpha
alpha
activera bien la saisie des minuscules ! :bj:

Cette méthode universelle vient justement de faire l'objet d'un tutoriel par Programmator88. :)


Liens :

Téléchargements :
  • MinuMAJU (pour TI-83 Premium CE et TI-84 Plus CE)
  • OmniCalc (pour TI-82 Plus, TI-83 Plus, TI-84 Pocket.fr et TI-84 Plus monochromes sauf TI-84 Plus T)
  • OmniCalc (pour TI-82 Advanced)

TI-z80 Oiram CE : relève le défi du Big Bang !

New postby critor » 02 Feb 2019, 22:13

7698Ce week-end Programmator88 te lance un défi avec Big Bang, son monde perso pour pour Oiram CE, le moteur de jeu Mario-like pour ta TI-83 Premium CE. :)

Seulement 4 niveaux, mais c'est du concentré si tu regardes bien ! :bat:


Seras-tu le ou la première à les terminer ? ;)

Pour fonctionner correctement, Oiram CE a besoin des bibliothèques C téléchargeables ci-dessous. Mais rien de bien compliqué, il suffit juste de les transférer.


Téléchargements :
Link to topic: Oiram CE : relève le défi du Big Bang ! (Comments: 14)

NumWorks Firmware 10.0.0 tiers orienté jeux Python (get_keys)

New postby Admin » 02 Feb 2019, 21:31

jean-baptiste boric avait déjà travaillé à une modification du firmware NumWorks afin d'étendre les possibilités graphiques du module Python kandinsky, lui rajoutant les fonctions :
  • draw_line(x1,y1,x2,y2,color) pour le tracer de lignes
  • fill_rect(x,y,w,h,color) pour le tracer de rectangles pleins
Dans les deux cas ces fonctions n'étaient pas connectées à la fonction Python setpixel(x,y,color) mais à du code C permettant donc des tracés optimaux, notamment pour le rafraichissement de sprites dans des jeux.

Aujourd'hui jean-baptiste boric poursuit son chemin dans le but de nous permettre enfin de coder en Python des jeux graphiques jouables, en nous diffusant une nouvelle version de son firmware amélioré.

Voyons donc ensemble les dernières nouveautés


9895A première vue, bizarrement,pas de nouveauté kandinsky.

L'on note toujours comme seuls et uniques ajouts :
  • draw_line(x1,y1,x2,y2,color)
  • fill_rect(x,y,w,h,color)

Mais histoire d'être sûr, explorons le module kandinsky à l'aide du script suivant :
Code: Select all
#platforms:
#0: MicroPython / TI-Nspire
#1: MicroPython / NumWorks
#2: MicroPython / G90+E
#3: MicroPython / G35+E/USB / G75/85/95
#4: CircuitPython / TI-Python / 83PCE
#5: Xcas / HP Prime
#6: KhiCAS / Graph 90+E
def getplatform():
  id=-1
  try:
    import sys
    try:
      if sys.platform=='nspire':id=0
      if sys.platform=='TI-Python Adapter':id=4
    except:id=3
  except:
    try:
      import kandinsky
      id=1
    except:
      try:
        if chr(256)==chr(0):id=5+(not ("HP" in version()))
      except:
        id=2
  return id
 
platform=getplatform()
#lines shown on screen
plines=[29,12,  7, 9,11,0,0]
#max chars per line
#(error or new line if exceeded)
pcols =[53,99,509,32,32,0,0]

nlines=plines[platform]
ncols=pcols[platform]
curline=0

def mprint(*ls):
  global curline
  st=""
  for s in ls:
    if not(isinstance(s,str)):
      s=str(s)
    st=st+s
  stlines=1+int(len(st)/ncols)
  if curline+stlines>=nlines:
    input("Input to continue:")
    curline=0
  print(st)
  curline+=stlines

def sstr(obj):
  try:
    s=obj.__name__
  except:
    s=str(obj)
    a=s.find("'")
    b=s.rfind("'")
    if a>=0 and b!=a:
      s=s[a+1:b]
  return s

def isExplorable(obj):
  s=str(obj)
  return s.startswith("<module '") or s.startswith("<class '")

def explmod(pitm,pitmsl=[],reset=True):
  global curline
  if(reset):
    curline=0
    pitmsl=[sstr(pitm)]
  hd="."*(len(pitmsl)-1)
  spath=".".join(pitmsl)
  c=0
  for itms in sorted(dir(pitm)):
    c=c+1
    try:
      itm=eval(spath+"."+itms)
      mprint(hd+itms+"="+str(itm))
      if isExplorable(itm):
        pitmsl2=pitmsl.copy()
        pitmsl2.append(itms)
        c=c+explmod(itm,pitmsl2,False)
    except:
      mprint(hd+itms)
  if c>0:
    mprint(hd+"Total: "+str(c)+" item(s)")
  return c

Et bingo, oh que oui il y a des choses, simplement elles ne sont pas listées dans la boîte à outils.

10220Déjà après les sorties graphiques, Jean-Baptise s'attaque maintenant aux entrées clavier en définissant des codes pour l'ensemble des touches du clavier et rajoutant la fonction get_keys() pour connaître la ou les touches pressées ! :bj:
10216102171021810219


10221Mais ce n'est pas tout, nous avons également de nouvelles fonctions de sorties graphiques :
  • get_pixels(x,y,width,data)
  • set_pixels(x,y,width,data)
  • wait_vblank()

10222Alors, mission remplie ou pas avec tout ça ? Peut-on enfin coder un Mario pour la calculatrice NumWorks ?

Nous te proposons d'aller juger par toi-même en testant la fluidité du jeu PONG codé par Jean-Baptiste en exploitant ces nouvelles fonctionnalités, premier jeu Python contrôlable au clavier ! :bj:

Attention au fait que le firmware diffusé par Jean-Baptiste dans ce contexte est basé sur l'état actuel du code source public de la calculatrice NumWorks, et que celui-ci est actuellement en phase bêta de la future version 10.0.0. Des problèmes peuvent donc apparaître même en dehors des points évoqués; il t'est déconseillé de l'installer si tu as de prochains rendez-vous importants (DS, examens, concours...). :#non#:


Téléchargement : firmware 1.10.0 bêta précompilé avec ces améliorations (installable facilement via webdfu_numworks )
Code : https://github.com/numworks/epsilon/pull/746
Source : viewtopic.php?t=22284&p=239388#p239388

-
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.
2781 utilisateurs:
>2766 invités
>9 membres
>6 robots
Record simultané (sur 6 mois):
29271 utilisateurs (le 11/07/2025)
-
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)