ça y est, quelques problèmes réglés...
Mais j'avais déjà fait ces corrections - à mon avis, je suis juste un imbécile, et j'ai envoyé au concours une version erronée - qui d'ailleurs ne pesait pas 4000 tout rond mais moins alors que je m'étais plu à m'en vanter.
Bref, j'ai perdu 10 points précieux pour une idiotie, je suis un crétin.
Je finis de fouiller mon programme, et je vous le poste...
EDIT: J'ai pas trouvé pourquoi le texte s'affiche toujours un pixel plus bas sur 84+SE que sur les autres modèles
EDIT2:
Donc voilà, j'en reste là pour ce soir.
Le code: (c'est du TokenIDE, désolé pour la syntaxe...)
Ne vous fiez plus à l'image annotée que j'ai fournie dans le pack, le code est un peu différent maintenant.
- Code: Tout sélectionner
Full
FnOff :AxesOff
0->Xmin:0->Ymin
1->DeltaX:1->DeltaY
DelVar L
9->dim(|LMS
If not(|LMS(4:{4,0,0,1,99,99,99,99,0->|LMS
Lbl M
ClrDraw
1->C
RecallPic 9
{0,36,39,44,39,50,57->L1
Repeat max(K={45,105
getKey->K
Text(L1(2C),L1(2C+1),"[
If K:Text(L1(2C),L1(2C+1),"
C-(K=25)+(K=34->C
If not(C:3->C
If C=4:1->C
End
If C=3 or K=45:Goto Q
If C=2:Then
|LMS->L1
Horizontal 0
For(A,1,39
Line(0,A,94,A,0
Pt-On(0,A
Pt-On(94,A
End
Horizontal 40
Text(26,6,"-Answers :
Text(33,6,"-D[i]ff[i]culty :
Text(40,6,"-Nbr players:
Text(47,6,"-Several same
Text(54,10,"colors :
1->C
{26,33,40,54->L2
Repeat K=45 or K=105
L2(C->A
getKey->K
Text(26,56,sub("PlacedD[i]g[i]ts",6L1(9)+1,6
Text(33,56,sub(" Easy Normal Med[i]um Hardcore",8L1(1)-16,8
Text(40,56,1+L1(2
Text(54,56,sub("D[i]sabledEnabled ",8L1(3)+1,8
Text(A,51,"<
Text(A,90,">
If K:Then
Text(A,51,"
Text(A,90,"
C+(K=34)-(K=25->C
If not(C:4->C
If C=5:1->C
If C=2:Then
L1(1)+(K=26)-(K=24->L1(1
If 3>L1(1:6->L1(1
If 6<L1(1:3->L1(1
End
If max(K={24,26:Then
If C=1:not(L1(9->L1(9
If C=3:not(L1(2->L1(2
If C=4:not(L1(3->L1(3
If max(C={2,1,4
Text(33(C=2)+54(C=4)+26(C=1),56,"
End
End
End
2->C
L1->|LMS
End
If C=2:Goto M
|LMS(1->N
N+3->P
If |LMS(2
Then
Horiz
RecallPic 9
Line(10,7,84,6
For(A,8,55
Line(11,A,83,A,0
Pt-On(10,A
Pt-On(84,A
End
Line(10,56,84,56
Text(6,18,"ENTER ",N," DIGITS
Text(14,18,"BETWEEN 1 AND ",P
Lbl A
DelVar BDelVar L2
Input ">",Str1
If N!=length(Str1:1->B
N->dim(L2
If not(B:Then
For(A,1,N
expr(sub(Str1,A,1->L2(A
If Ans>P:1->B
If 3=sum(seq(L2(A)=L2(K),K,1,N))+not(|LMS(3:2->B
End
End
If B:Disp "ERROR
If B=2:Disp "Same d[i]g[i]ts.
If B:Goto A
Full
Else
If |LMS(3:Then
randInt(1,P,N->L2
Else
Repeat min(DeltaList(L2
randInt(1,P,N->L1
L1->L2
SortA(L2
End
L1->L2
End:End
1+12N->N
{N-1,61,1,61,0,60,0,1,1,0,N,0,N,1,N,60,N+1,1,N+1,59,77,53,94,53,76,46,94,46,76,60,76,0,76,0,94,0,94,0,94,60,94,60,76,60
ClrDraw
For(A,1,44,4
Line(Ans(A),Ans(A+1),Ans(A+2),Ans(A+3
End
{59,54,52,47
For(A,1,4
Pt-On(77,Ans(A
Pt-On(93,Ans(A
End
{1,1,1,60,N-1,1,N-1,60
For(A,1,8,2
Pt-On(Ans(A),Ans(A+1
End
Line(3,16,N-3,16
Line(3,59,N-3,59
(N-1)/12->N
For(A,0,N-1
{7A+2,4,7A+7,4,7A+7,11,7A+2,11,7A+2,4
For(B,1,7,2
Line(Ans(B),Ans(B+1),Ans(B+2),Ans(B+3
End
End
Text(47,78,"BEST
Text(54,78,"= ",|LMS(2+|LMS(1
{1,N->dim([J]
[J]->[H]
Fill(1,L1
DelVar VDelVar C1->B
{0->L4
Lbl I
L1(V+1->R:C+1->C
2+dim(L4->dim(L4
For(A,0,N-1
Text(52,7A+3,L1(A+1
End
Repeat max(K={105,45
Text(52,7V+3,R
getKey->K
R+(K=25)-(K=34->R
If max(K={92,93,94,82,83,84,72,73,74:Then
(K=92)+2(K=93)+3(K=94)+4(K=82)+5(K=83)+6(K=84)+7(K=72)+8(K=73)+9(K=74
If Ans<=P:Ans->R
End
If not(R:P->R
If R>P:1->R
If B xor max(K={24,26
Then
Pt-Change(7V+4,2
Pt-Change(7V+5,1
Pt-Change(7V+6,2
Pt-Change(7V+4,13
Pt-Change(7V+5,14
Pt-Change(7V+6,13
End
DelVar BDelVar Y
If max(K={24,26,105:Then
R->L1(V+1
V+(K=26)-(K=24->V
If V=N:0->V
If V<0:N-1->V
L1(V+1->R
1-(K=105->B
End
If 6<Cmax(K={21,31:Then
L-(K=21 and L)+(K=31 and L<C-7->L
Lbl B
1+dim(L4->K
For(A,1,6
For(B,1,N
Text(7A-3,7B-4,[J](A+L,B
End
If |LMS(9:Then
Text(7A-3,7N+5(N>3),"plotsquare",L4(K-2(A+L)),"plotcross",L4(1+K-2(A+L
Else
For(B,1,N
Pt-Off(7N+3B+4,63-7A,2
Pt-Off(7N+3B+4,63-7A
Pt-On(7N+3B+4,63-7A,[H](A+L,B
End
End
End
If Y=9:Goto C
End
End
If K=45:Goto M
N->dim(L1
List>matr(L1,[I]
augment([I],[J]^^T)^^T->[J]
Text(3,82,C
Text(10,82,15-C,"
N->dim(L3
For(A,1,N
1->K
If L1(A)=L2(A
Then
2->K
Else
If max(seq(L2(B)=L1(A),B,1,N
3->K
End
K->L3(A
End
List>matr(L3,[G]
augment([G],[H]^^T)^^T->[H]
For(A,1,N
If 2=L3(A:1+L4(2C->L4(2C
If 3=L3(A:1+L4(2C+1->L4(2C+1
End
If C<6:Then
For(A,0,N-1
Text(46-7C,7A+3,L1(A+1
End
If |LMS(9
Then
Text(46-7C,7N+5(N>3),"plotsquare",L4(2C),"plotcross",L4(2C+1
Else
For(A,1,N
Pt-On(7N+3A+4,14+7C,L3(A
End
End
Else
9->Y
Goto B
Lbl C
End
DelVar B
If N=sum(L2=L1 or C=15:Then
Horizontal 10
For(A,11,51
Line(0,A,94,A,0
End
Horizontal 52
If C=15:Then
Text(12,10,"THE CODE WAS :
Text(37,30,"YOU LOSE !
Else
Text(12,10,"CODE BROKEN ! :
|LMS(2+|LMS(1
If C<Ans
C->|LMS(2+|LMS(1
End
For(A,1,N
Text(12,60+5A,L2(A
End
Text(21,25,"- Tr[i]es : ",C
Text(28,25,"- Best : ",|LMS(2+|LMS(1
Text(45,10,"1: Replay
Text(45,60,"2: Qu[i]t
Repeat max(B={92,93,45
getKey->B
End
End
If not(B:Goto I
If B=92:Goto M
Lbl Q
ZStandard:AxesOn
DelVar [J]DelVar [I]DelVar [H]DelVar [G]DelVar L1DelVar L2DelVar L4DelVar L3DelVar Str1DelVar ADelVar BDelVar CDelVar KDelVar NDelVar PDelVar RDelVar LDelVar YDelVar V
Output(1,1,"
Problèmes à résoudre:
- En mode "réponses non placées", le scrolling est impossible (erreur obtenue dès qu'on dépasse 6 coups)
- Sur OS MathPrint, tous les textes affichent un espace en dessous, mais uniquement dans mon programme...
Si ça peut vous aider à comprendre le code:
- [H] est la matrice contenant la notation
- [J] est la matrice contenant les coups
- L1=[I] est la liste/matrice comprenant le dernier coup
- K=1+dim(L4 dans la boucle principale, mais est vite remplacé par un getKey
- L correspond à la variable du scrolling: elle permet d'incrémenter la position des 6 lignes de la matrice qui seront affichées. Si L=0, c'est que le dernier coup est affiché en haut, L=1, l'avant dernier coup, etc... Ce qui permet de faire le scrolling pour avoir l'historique des coups passé 6 coups.
Screen de l'inexplicable problème de l'OS MathPrint sur 84+SE:
différences MathPrint.png
EDIT3: Passer en mode CLASSIC permet empêche ce bug... Mais relou, 2 octets de plus, quoi, et une encore une version différente...
EDIT 4: Ah, non, pas toujours. Mystère.
EDIT 5: Problème résolu, c'est un bug de la commande Text selon TI|BD. Les seuls moyens de l'empêcher sont DispTable, l'éditeur de liste, et G-T. Donc j'ai rajouté un :G-T:Full au début du code, c'est très lourd et très moche mais ça résout le problème.
Encore un bug à rajouter à ma liste de bugs connus.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.