En France, nous disposons de montagnes colorées d'un beau rouge, couleur due aux gisement de bauxite qu'elles renferment. Elles sont particulièrement accessibles dans l'Hérault. Des éléments sont en effet bien visibles directement en bordure de l'autoroute A75 entre Lodève et le lac du Salagou, et deviennent très rapidement impressionnants dès que tu t'y enfonces.
Mais en Chine la nature ne s'est pas contentée d'une coloration unie, réalisant de véritables hachures bariolées sur les montagnes de Danxia. Un ensemble résultat de l'alternance des dépôts au cours des millénaires.
Pas possible de voyager actuellement ?...
Mais ne t'inquiète pas car ta
NumWorks
est là pour ça, voici les montagnes de Danxia dessinées directement dans l'application
Fonctions
de ta
NumWorks
!
Cette superbe création traçant sur des intervalles les graphes de pas moins de 35 fonctions différentes, est l'oeuvre d'une élève de Seconde disciple de
t'avait même sorti en même temps une version de son solitaire pour
TI-83 Premium CE Edition Python
.
Ici les touches à utiliser sont :
entrer
à la fois pour choisir le pion à déplacer puis sa destination
suppr
pour annuler un choix de pion
annul
pour quitter
Toutefois cette version avait des graphismes fortement dégradés par rapport à la
NumWorks
. En effet comme
Schraf
le dit lui-même,
"l'affichage est très lent"
, et il avait souhaité ainsi limiter le problème.
Mais malgré ce bridage nuisant hélas à l'attractivité du jeu, la différence de vitesse par rapport à la
NumWorks
restait aisément remarquable. Un laps de temps était nécessaire après chaque action, le temps de rafraîchir les 2 ou 3 cases concernés.
En effet le facteur limitant sur
TI-83 Premium CE Edition Python
ce n'est pas la complexité des graphismes, mais le nombre d'appels aux primitives de la bibliothèque
ti_graphics
que l'on fait transiter entre le processeur 8 bits historique
eZ80
et le coprocesseur 32 bits
ARM
dédié au
Python
.
Bref, ce n'est pas la simple suppression du fond d'écran et d'au pire 3 appels isolés à
ti_graphics.fillRect()
par action qui devrait avoir un effet très significatif.
Par contre, si on fait tourner la version avec les graphismes
NumWorks
sur
TI-83 Premium CE Edition Python
, selon les actions on remarque des clignotements peu agréables de certaines cases lors de la plupart des actions, ce qui semble indiquer que le code rafraîchit plusieurs fois les 2 à 3 cases concernées par chaque action... On note également de coûteux rafraîchissements de la ligne de score à chaque pression de touche, et ce même si le score n'a pas changé.
Dans le respect de l'œuvre d'origine, nous te sortons aujourd'hui pour ta
TI-83 Premium CE Edition Python
une version embellie avec :
les graphismes complets tels que présents dans la version
NumWorks
et pour ne pas ralentir davantage la chose mais bien au contraire ici l'accélérer, des optimisations tenant compte des événements et de l'état courant afin d'éviter les affichages inutiles
Accessoirement, correction d'un tout petit
bug
qui générait une erreur si l'on tentait d'annuler alors qu'aucune sélection n'était en cours.
Envie toi aussi d'apprendre à créer des jeux de ce style pour ta
NumWorks
ou
TI-83 Premium CE Edition Python
?
Alors la vidéo qui suit est là pour ça, t'expliquant pas à pas la conception du solitaire :
, te proposant pas moins de 15 niveaux différents. Dans chacun d'entre eux il te faudra enchaîner les sauts tout en faisant avec la riche collection de bonus et malus venant épicer ton parcours :
pics aux pointes acérées
lacs ou murs de lave en fusion
champs d'inversion de la gravité
tampolines
Tiny Jumper
se permettra même une touche d'humour noir dans les divers messages de
game over
accompagnant la série des tes funestes échecs, une vraie pépite !
Le jeu est réactif, très fluide, et tu peux même contrôler librement ta direction pendant les sauts ; heureusement d'ailleurs que le jeu prend cette liberté par rapport aux lois de la Physique, parce que sans ça je ne te dis pas...
Chaque niveau t'offre la possibilité d'obtenir une médaille d'or si tu bats le record de temps qui t'est indiqué. Rassembler plusieurs médailles te permettra de changer la couleur de ton avantar, et rafler les 15 médailles te réservera une surprise.
Un jeu très riche, addictif et donc réussi, bravo !
Attention,
Tiny Jumper
rentre dans la catégorie des programmes en langage machine dits
ASM
.
Or, suite à un acte irresponsable d'un enseignant de Mathématiques français avec ses gesticulations aveugles dans le contexte de la réforme du lycée,
Texas Instruments
a réagi en supprimant la gestion de tels programmes depuis la mise à jour
5.5.1
.
Si tu es sur une des versions ainsi bridées, tu peux quand même jouer sans trop d'efforts. Il te faut :
from random import * from ce_chart import * n = 5 cx = [randint(0, n ** 2) for i in range(n + 1)] connex = [("Me", cx[1] / n), ("Li", cx[2] / n), ("Si", cx[3] / n, ("Ja", cx[4] / n), ("Ck", cx[5] / n)] cht = chart() cht.data(connex) cht.title("Lorem ipsum") cht.frequencies(2) cht.show()
Mais ce n'est pas tout,
Texas Instruments
a également eu la bonne idée d'exposer la fonction interne de tracé de rectangle servant pour les barres d'histogramme dans un 2nd onglet de menu. Contrairement à la fonction
def calc_area(n, min, max, fx): sum = 0 dx = (max - min) / n for i in range(0, n) a_rectangle = rectangle(min, 0, dx, fx(min + dx/2), 'b') sum += a_ractangle.area a_rectangle.draw() min += dx return sum
trace la courbe correspondante en qualité maximale.
Or le menu te proposait la forme suivante : draw_fx(x_min, x_max, couleur, f1)
Ce qui était complètement faux. Si tu respectais la forme du menu, te te retrouvais donc à mettre la couleur à la place de la fonction, et la fonction à la place du nombre de points, et donc avec une erreur.
Et tu étais bien invité·e à respecter cette mauvaise forme, la forme saisie à compléter étant draw_fx(,,,"",f1). Ton script ne pouvait donc fonctionner en l'état.
Plus de problème avec la nouvelle version, la forme
draw_fx()
affichée au menu ainsi que celle à compléter saisie ont toutes deux été corrigées conformément à la spécification !
lta = ('thin', 'medium', 'thick') lty = ('solid', 'dot', 'dash') lmo = ('default', 'arrow') nta, nty = len(lta), len(lty) lx = [plt.xmin + k*(plt.xmax-plt.xmin)/(2*nta+1) for k in range(1, 2*nta+1)] ly = [plt.ymin + k*(plt.ymax-plt.ymin)/(2*nty+1) for k in range(1, 2*nty+1)] l = (plt.xmax-plt.xmin) / (2*nta+1)
plt.cls() disp_at(1, ' '*4 + (' '*4).join(lta), 'left') for i in range(len(lty)): disp_at(10 - 4*i, lty[i], 'left') for j in range(len(lta)): plt.pen(lta[j], lty[i]) for k in range(len(lmo)): plt.line(lx[j*2], ly[i*2 + k], lx[j*2 + 1], ly[i*2 + k], lmo[k]) plt.show_plot()
Cela peut notamment servir à tracer des champs de vecteurs en
Physique-Chimie
.
Mais dans un contexte scolaire, line(x1,x2,y1,y2,"arrow") n'est pas quelque chose de pratique. On ne dispose usuellement pas de ces données, mais des coordonnées du point d'origine et des coordonnées du vecteur.
Si il n'est certes pas bien difficile de les calculer, ce serait quand même lourd d'avoir à le faire systématiquement à chaque fois.
#spécification connue : quiver(x,y,dx,dy,échelle,"color") #forme saisie via menu ancienne version : quiver(,,,,,) #forme saisie via menu nouvelle version : quiver(,,,,"blk","vector")
Nous notons que la forme à compléter est mieux remplie avec la nouvelle version, le paramètre de couleur étant prérempli avec
"blk"
pour du noir.
On note effectivement un 7ème paramètre supplémentaire prérempli avec
"vector"
. Il s'agit selon nos tests d'un paramètre optionnel, mais nous n'en avons pas compris le fonctionnement. En changer la valeur ou même le supprimer semble être sans effet.
Par contre il y a un problème avec cette nouvelle version, que tu viens peut-être de remarquer.
Malgré la présence du nouveau paramètre, la forme saisie via le menu ne compte que 6 paramètres, et est donc en décalage par rapport à la spécification :