π
<-

Le bug frappe encore!

Pour TI-Nspire OS 3.0 ou ultérieur.

Re: Le bug frappe encore!

Unread postby technolapin » 13 May 2013, 17:31

Ca doit donner un truc dans ce genre:
Code: Select all
biomx = 1
biomy = 1
chunk = {}

create = function ()
chunk [biomx] = {}
chunk [biomx][biomy] = true
end


function on.paint (gc)
for biomx = 0, 6 do
  for biomy = 0, 5 do
   if chunk [biomx][biomy] == nil then
    create ()
    on.paint_ ()          // un on.paint doit s'exécuter dans la même boucle
   end
  end
end
end


Voilà en gros à quoi cela ressemble pour l'instant (et ça marche pas :p ).
Votez Kasane Teto 2017
User avatar
technolapin
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 97.8%
 
Posts: 514
Images: 25
Joined: 31 Dec 2012, 10:48
Location: Chez moi
Gender: Male
Calculator(s):
MyCalcs profile
Class: Chui en vacance ducon

Re: Le bug frappe encore!

Unread postby technolapin » 24 May 2013, 15:17

Aidez-moi Je me sent seul, bouhouhouhou!!
Votez Kasane Teto 2017
User avatar
technolapin
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 97.8%
 
Posts: 514
Images: 25
Joined: 31 Dec 2012, 10:48
Location: Chez moi
Gender: Male
Calculator(s):
MyCalcs profile
Class: Chui en vacance ducon

Re: Le bug frappe encore!

Unread postby Levak » 24 May 2013, 19:58

Je ne sais pas quoi dire ... Même en essayant de lire ton code en me disant "il sait ce qu'il fait, mais ne connait pas très bien le Lua" je ne vois pas de sens à ce que tu as écrit.

La seule chose que je peux te dire :
  • Tu utilises deux variables globales biomx et biomy. Il te suffit de les passer en paramètre à ta fonction create()
  • Les tableaux commencent à 1, pas à 0 (l'erreur : for biomx = 0)
  • Ton tableau n'est pas initialisé pour toutes les valeurs que tu parcoures (x:0->6, y:0, 5), chunk est vide en rentrant dans on.paint()
  • Tu fais du travail calculatoire/d'initialisation (create()) dans le on.paint, c'est très très très très mauvais signe, cela est signe que tu n'as pas compris que on.paint() est exécuté à chaque frame
  • on.paint_ () n'est pas déclaré, si tu as simplement copié/collé le code que je t'ai donné plus haut sans comprendre dis-le, car c'est ce que j'en déduis....

Bref, je n'ai ni l'impression que tu sais ce que tu fais ni l'impression que tu sais ce que tu veux ...
D'après ton code, tout est flou dans ta tête, tu vois peut être le résultat, mais pas les blocs qui le composent.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: Le bug frappe encore!

Unread postby technolapin » 27 May 2013, 17:19

Bon, pour commencer: oui, tout à fait, je suis complètement brouillon! :D

Deuxièmement : oui, je sait que ce qui est dans le on.paint s’exécute à chaque rafraîchissement de l’écran, et c'est la meilleure place que j'ai trouvé pour ce code (y'a sans doute mieux, mais bon, j'ai justement besoin qu'il s’exécute à chaque rafraîchissement de l'écran.)

Troisièmement : étant novice en LUA, je n'ai jamais réussit à mettre des variables en paramètre, et je ne sait pas ce que ça fait :? .

Quatrièmement : Heu... c'est quoi déclarer une fonction :troll: ?

Dernièrement : je croyait que le LUA était assez souple avec les tableaux et que 0 marchait, et surtout, ça marche! :p
Code: Select all
mat = {}

for a = 0, 10 do
mat[a] = "lol"..a
end

function on.paint (gc)
for a = 0, 10 do
  gc: drawString (mat [a], 50, 20+15*a)
end
end

Votez Kasane Teto 2017
User avatar
technolapin
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 97.8%
 
Posts: 514
Images: 25
Joined: 31 Dec 2012, 10:48
Location: Chez moi
Gender: Male
Calculator(s):
MyCalcs profile
Class: Chui en vacance ducon

Re: Le bug frappe encore!

Unread postby technolapin » 27 May 2013, 17:21

Oulà, c'est bizarre, des espaces ont disparut dans mon code!
Votez Kasane Teto 2017
User avatar
technolapin
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 97.8%
 
Posts: 514
Images: 25
Joined: 31 Dec 2012, 10:48
Location: Chez moi
Gender: Male
Calculator(s):
MyCalcs profile
Class: Chui en vacance ducon

Re: Le bug frappe encore!

Unread postby Levak » 27 May 2013, 21:11

technolapin wrote:Bon, pour commencer: oui, tout à fait, je suis complètement brouillon! :D
Deuxièmement : oui, je sait que ce qui est dans le on.paint s’exécute à chaque rafraîchissement de l’écran, et c'est la meilleure place que j'ai trouvé pour ce code (y'a sans doute mieux, mais bon, j'ai justement besoin qu'il s’exécute à chaque rafraîchissement de l'écran.)

Tu as le hack qu'on t'a fourni quelques posts au dessus pour simuler on.create() qui a disparu depuis la 3.2..
Sinon tu peux utiliser les timer pour rafraîchir non pas à chaque rafraîchissement mais à intervalle régulier .
Troisièmement : étant novice en LUA, je n'ai jamais réussit à mettre des variables en paramètre, et je ne sait pas ce que ça fait :? .
Quatrièmement : Heu... c'est quoi déclarer une fonction :troll: ?

Code: Select all
function ma_fonction(arg1, arg2)
  return arg1 + arg2, arg1 * arg2
end

print(ma_fonction(4, 2))


Dernièrement : je croyait que le LUA était assez souple avec les tableaux et que 0 marchait, et surtout, ça marche! :p

Ça c'est parce que ton "0" n'est plus un index mais un hash. Tu peux utiliser n'importe quoi (même des fonctions ou des tables) en tant que hash en Lua. Par contre, le tableau commence à 1 si tu fais quelque chose comme : tbl = {1, 2, 3, 4}
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: Le bug frappe encore!

Unread postby technolapin » 01 Jun 2013, 19:00

Bon, en fait, j'ai besoin que les tables puissent aller d'une valeur négative à une valeur positive, en passant par 0.
En fait, il s'agit d'un jeu que j'essaye de coder, où, le terrain est généré dynamiquement au fur et à mesure que l'on explore, donc, ces chunks doivent pouvoir aller d'une valeur négative à une valeur positive.
Votez Kasane Teto 2017
User avatar
technolapin
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 97.8%
 
Posts: 514
Images: 25
Joined: 31 Dec 2012, 10:48
Location: Chez moi
Gender: Male
Calculator(s):
MyCalcs profile
Class: Chui en vacance ducon

Re: Le bug frappe encore!

Unread postby Levak » 01 Jun 2013, 19:34

"Généré dynamiquement au fur et à mesure que l'on explore" donc pas "à chaque rafraîchissement de l'écran".
Vois-tu ce que je veux dire et où j'essaie de t'amener à penser ?
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: Le bug frappe encore!

Unread postby technolapin » 01 Jun 2013, 19:50

Le chunk est généré seulement si il n'existe pas.
Votez Kasane Teto 2017
User avatar
technolapin
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 97.8%
 
Posts: 514
Images: 25
Joined: 31 Dec 2012, 10:48
Location: Chez moi
Gender: Male
Calculator(s):
MyCalcs profile
Class: Chui en vacance ducon

Re: Le bug frappe encore!

Unread postby Levak » 01 Jun 2013, 19:54

technolapin wrote:Le chunk est généré seulement si il n'existe pas.

Mais également "quand on explore", ce qui revient à placer la génération dans l'évènement on.arrowKey (ou on.arrowRight, etc ...).

En vraie programmation optimisée on utilise une file (FIFO) que l'on remplit justement dans l'évènement, et, dans un timer (ici l'évènement on.timer() ) on défile et génère le nombre qu'on veut.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

PreviousNext

Return to Nspire-Lua

Who is online

Users browsing this forum: ClaudeBot [spider] and 6 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.
2371 utilisateurs:
>2347 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)