π
<-

prob murs

prob murs

Unread postby univscien » 30 Oct 2006, 19:27

Voila; le but du " " "programme" " " et de faire bouger un groupe de 4 pxl dans un labyrinte, mais le problème, c'est que, mon groupe de pxl travérsse et efface le mur (1pxl de largeurs, (c'est un dessin fait avec "Pen")) quand il passe dessu.

Code: Select all


:ClrDraw
:RecallPic 1
:4-A
:62-B
:5-C
:61-D
:Repeat K=105
:getKey-K
:Pt-Off(A,B)
:Pt-Off(C,B)
:Pt-Off(A,D)
:Pt-Off(C,D)
:If K=26
:Then
:C+2-C:A+2-A
:End
:If K=24
:Then
:C-2-C:A-2-A
:End
:If K=25
:Then
:D+2-D:B+2-B
:End
:If K=34
:Then
:D-2-D:B-2-B
:End
:Pt-On(A,B)
:Pt-On(C,B)
:Pt-On(A,D)
:Pt-On(C,D)
:End

Aidez moi plz :#ouin#:
Comment on fait pour que les pxl ne traversssent pas le mur?
Merci d'avance... :#love#:
User avatar
univscien
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 54.7%
 
Posts: 362
Joined: 15 Oct 2006, 00:00
Location: Bordeaux (Le Bouscat (Banlieu))
Gender: Male
Calculator(s):
MyCalcs profile
Class: IUT Informatique

Re: prob murs

Unread postby M@D_Doc » 31 Oct 2006, 07:50

Pour cela, il faut que ton bonhomme reconnaisse le mur comme un "pixel noi" : bref, qu'il reconnaisse la couleur du pixel.
une commande :
Code: Select all
PxlTest(

Tu met entre parenthèse les coordonnées Y,x (attention à l'ordre) du point à tester, et ça te sort un résultat sous forme bianire :
1: Pixel noir
0: Pixel blanc
Code: Select all
:PxlTest(Y,X)-A

:If A=0
:"Il peux avancer
:If A=1
:Il ne peut pas avancer
Projets en cours : Quest 2 : 1% ; fy_woodhouse_source : 15%
Mange un castor, tu sauveras un arbre

Image
User avatar
M@D_Doc
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 21.1%
 
Posts: 574
Joined: 08 Dec 2005, 00:00
Location: Alsace, 68440
Gender: Male
Calculator(s):
MyCalcs profile
Class: Admis en FTM

Re: prob murs

Unread postby univscien » 31 Oct 2006, 12:10

Merci. :;):
Mais il faut que je face çà pour chaques pxl de mon labyrinte ? :o:
User avatar
univscien
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 54.7%
 
Posts: 362
Joined: 15 Oct 2006, 00:00
Location: Bordeaux (Le Bouscat (Banlieu))
Gender: Male
Calculator(s):
MyCalcs profile
Class: IUT Informatique

Re: prob murs

Unread postby univscien » 31 Oct 2006, 13:25

J'ais transformé le code précédent en ce code:

:ClrDraw
:RecallPic 1
:4-A
:62-B
:5-C
:61-D
:Repeat K=105
:getKey-K
:Pt-Off(A,B)
:Pt-Off(C,B)
:Pt-Off(A,D)
:Pt-Off(C,D)
:If K=26
:Then
:C+2-C:A+2-A
:End
:If K=24
:Then
:C-2-C:A-2-A
:End
:If K=25
:Then
:D+2-D:B+2-B
:End
:If K=34
:Then
:D-2-D:B-2-B
:End

:pxl-Test(A+2,B)-E
:pxl-Test(A-1,B)-F
:pxl-Test(A,B+1)-G
:pxl-Test(A,B-2)-H
:pxl-Test(C+1,B)-E
:pxl-Test(C-2,B)-F
:pxl-Test(C,B+1)-G
:pxl-Test(C,B-2)-H
:pxl-Test(A+2,D)-E
:pxl-Test(A-1,D)-F
:pxl-Test(A,D+2)-G
:pxl-Test(A,D-1)-H
:pxl-Test(C+1,D)-E
:pxl-Test(C-2,D)-F
:pxl-Test(C,D+2)-G
:pxl-Test(C,D-1)-H
:If E=1
:Then
:A-1-A
:C-1-C
:End
:If F=1
:Then
:A+1-A
:C+1-C
:End
:If G=1
:Then
:B-1-B
:D-1-D
:End
:If H=1
:Then
:B+1-B
:D+1-D
:End

:Pt-On(A,B)
:Pt-On(C,B)
:Pt-On(A,D)
:Pt-On(C,D)
:End


Mais il ya toujours le 4pxl qui traverssent les murs, et parfois ce décalent tous seul de 1pxl vers le bas, toujour en clignotant.
Je comprend pas là... :#wrong#:
User avatar
univscien
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 54.7%
 
Posts: 362
Joined: 15 Oct 2006, 00:00
Location: Bordeaux (Le Bouscat (Banlieu))
Gender: Male
Calculator(s):
MyCalcs profile
Class: IUT Informatique

Re: prob murs

Unread postby Lumin0u » 31 Oct 2006, 13:33

il faut pas executer 2 affectations à une meme variable sans rien entre les 2 sinon ça sert à rien ^^ exemple si tu met:

:pxl-Test(A+2,B)-E
:pxl-Test(C+1,B)-E

sans rien mettre qui utiliserait E entre les 2 lignes, la 2eme ligne uniquement sera prise en compte parce qu'elle modifie elle aussi E
ah HA!si vous aimez pas Lumin0u vous pouvez m'appeler machin ^^ et si vous aimez pas machin bah... vous pouvez taper shikamaru :p
User avatar
Lumin0u
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 22.4%
 
Posts: 2472
Joined: 18 Mar 2006, 00:00
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: T STG

Re: prob murs

Unread postby univscien » 31 Oct 2006, 13:47

Lumin0u wrote:il faut pas executer 2 affectations à une meme variable sans rien entre les 2 sinon ça sert à rien ^^ exemple si tu met:

:pxl-Test(A+2,B)-E
:pxl-Test(C+1,B)-E

sans rien mettre qui utiliserait E entre les 2 lignes, la 2eme ligne uniquement sera prise en compte parce qu'elle modifie elle aussi E


:|: dsl mais je comprend pas l'histoire des 2 lignes.. :#tsss#:

En gros, il faut que je donne que des variables différentes? :#fou2#:
User avatar
univscien
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 54.7%
 
Posts: 362
Joined: 15 Oct 2006, 00:00
Location: Bordeaux (Le Bouscat (Banlieu))
Gender: Male
Calculator(s):
MyCalcs profile
Class: IUT Informatique

Re: prob murs

Unread postby Lumin0u » 31 Oct 2006, 14:01

wé xD enfin tu peux stocker les valeurs dans des listes c'est beaucoup plus pratique quand y en a beaucoup (c'est à dire ton cas :s)
ah HA!si vous aimez pas Lumin0u vous pouvez m'appeler machin ^^ et si vous aimez pas machin bah... vous pouvez taper shikamaru :p
User avatar
Lumin0u
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 22.4%
 
Posts: 2472
Joined: 18 Mar 2006, 00:00
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: T STG

Re: prob murs

Unread postby Potamogale » 31 Oct 2006, 16:51

Ce que tu peut faire c'est ca:

(je te donne pas le code parce que j'ai la flemme, faut que tu apprenne ca aussi, reflechir toi meme en fonction de ton prog)

après le getkey qui definit le mouvement de ton "bloc" mais AVANT sa relocalisation, tu fais une verification sur l'endroit où il est censé aller avec un pxlTest. Si c'est occupé par un mur, tu fais pas la modification sur les coords et tu fais un goto vers le getkey...

C'est peut-être pas tres clair, mais bon, on verra bien ^^
Si ti ratinte les solers d'on mwèrt po roter, ti n'irai sovin pid-hô!
Image[quote="Valaraukar"]Que le grand flood sois avec toi ( dans la limite du raisonnable)
User avatar
Potamogale
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 56.4%
 
Posts: 784
Joined: 07 Jun 2006, 00:00
Location: Lève les yeux... Plus haut... Nan j'deconne ^^
Gender: Male
Calculator(s):
MyCalcs profile
Class: Retho belge (terminale francaise je pense?)

Re: prob murs

Unread postby univscien » 31 Oct 2006, 17:27

Que d'éxplications... :=): Merci...
Aprés réfléxion, je suis arrivé a ce résultat:



:ClrDraw
:RecallPic 1

:4-A
:61-B

:Repeat K=105
:getKey-K
:Pt-Off(A,B)
:Pt-Off(A+1,B)
:Pt-Off(A,B+1)
:Pt-Off(A+1,B+1)

:If K=26 and not(pxl-Test(A+2,B)) and not(pxl-Test(A+2,B+1))
:Then
:A-1-A

:End
:If K=24 and not(pxl-Test(A-1,B)) and not(pxl-Test(A-1,B+1))
:Then
:A+1-A

:End
:If K=25 and not(pxl-Test(A,B+2)) and not(pxl-Test(A+1,B+2))
:Then
:B-1-B

:End
:If K=34 and not(pxl-Test(A,B-1)) and not(pxl-Test(A+1,B-1))
:Then
:B+1-B

:End
:Pt-Off(A,B)
:Pt-Off(A+1,B)
:Pt-Off(A,B+1)
:Pt-Off(A+1,B+1)
:End

Mais vous pouvez me dire si c'est juste, psk si je le mes sur ma calcullette et que c'est faux... :#mad#: :cask:

Merci... :#coucou#:
User avatar
univscien
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 54.7%
 
Posts: 362
Joined: 15 Oct 2006, 00:00
Location: Bordeaux (Le Bouscat (Banlieu))
Gender: Male
Calculator(s):
MyCalcs profile
Class: IUT Informatique

Re: prob murs

Unread postby univscien » 31 Oct 2006, 22:45

Nouveau code:


:ClrDraw
:RecallPic 1

:4-A
:2-B

:Repeat K=105
:getKey-K

:Pxl-Off(B,A)
:Pxl-Off(B,A+1)
:Pxl-Off(B+1,A)
:Pxl-Off(B+1,A+1)

:If K=26and not(pxl-Test(B,A+2)) and not(pxl-Test(B+1,A+2))
:A+1-A

:If K=24 and not(pxl-Test(B,A-1)) and not(pxl-Test(B+1,A-1))
:A-1-A

:If K=25 and not(pxl-Test(B-1,A)) and not(pxl-Test(B-1,A+1))
:B-1-B

:If K=34 and not(pxl-Test(B+2,A)) and not(pxl-Test(B+2,A+1))
:B+1-B

:Pxl-On(B,A)
:Pxl-On(B,A+1)
:Pxl-On(B+1,A)
:Pxl-On(B+1,A+1)

:End

J'avais un probléme de direction et de pxl.
J'utilise maintenant PxlOn()
et non PtOn()
Donc tout va bien, rien ne traversse les murs et tout va dans le bon sens.
:D:
Le seul problème (encore UN... :#mad#: ?)
C'est que mon groupe de 4pxl clignote trés vite et je ne le voit qu'à moitié.
Quelqu'un a une idée pour que je vois les pxl en + foncé?? please?
Merci.
:#zen#:
User avatar
univscien
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 54.7%
 
Posts: 362
Joined: 15 Oct 2006, 00:00
Location: Bordeaux (Le Bouscat (Banlieu))
Gender: Male
Calculator(s):
MyCalcs profile
Class: IUT Informatique

Next

Return to TI-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 16 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.
3289 utilisateurs:
>3222 invités
>60 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)