Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DelVar L₁
- DelVar L₂
- ClrHome
- For(X,0,7
- For(Y,1,8
- If not(fPart((Y+X)/2)
- Output(Y,2X+1,"[]
- End
- End
- Output(1,1,"+R+N+B+Q+K+B+N+R+P+P+P+P+P+P+P+P
- Output(7,1,"-P-P-P-P-P-P-P-P-R-N-B-Q-K-B-N-R
- DelVar [A]
- {8,8→dim([A]
- For(X,1,8
- 0.1→[A](7,X
- 1.1→[A](2,X
- End
- For(X,1,3
- (X+1)/10→P
- 1+P→[A](1,X
- 1+P→[A](1,9-X
- P→[A](8,X
- P→[A](8,9-X
- End
- 0.5→[A](8,4
- 0.6→[A](8,5
- 1.5→[A](1,4
- 1.6→[A](1,5
- If 0:DEBUG
- 4→X
- 4→Y
- X→S
- Y→T
- 0→Q
- While 1
- S→N
- T→O
- [A](O,N→P
- P→D
- For(B,–1,0
- If B
- Goto 0
- End
- Output(T,2S-1,Str1
- If D<0
- Output(J,2I-1,C
- If Q≥1
- Then
- Output(Y,2X-1,":+")
- Else
- Output(Y,2X-1,":-")
- End
- X→S
- Y→T
- getKey→A
- Repeat A
- getKey→A
- End
- If A=24
- X-1→X
- If A=26
- X+1→X
- If A=25
- Y-1→Y
- If A=34
- Y+1→Y
- If X=9
- 1→X
- If X=0
- 8→X
- If Y=9
- 1→Y
- If Y=0
- 8→Y
- If A=31 and fPart(Q)
- Then
- int(Q)→Q
- For(B,1,C
- L₁(B)→N
- L₂(B)→O
- [A](O,N)-2→P
- P→[A](O,N
- For(D,–1,0
- If D
- Goto 0
- End
- Output(O,2N-1,Str1
- End
- J→O
- I→N
- –[A](J,I→P
- P→[A](J,I
- For(D,–1,0
- If D
- Goto 0
- End
- Output(J,2I-1,Str1
- End
- If A=21
- Then
- [A](Y,X→P
- If fPart(P) and Q=int(P)
- Then
- Y→J
- X→I
- P→Q
- 0→C
- If fPart(P)=.1P)=.7
- Then
- If P≥1
- Then
- If J+1≤8
- Then
- If not(fPart([A](J+1,I
- Then
- C+1→C
- [A](J+1,I)+2→[A](J+1,I
- Output(J+1,2I-1,"*
- I→L₁(C
- J+1→L₂(C
- If fPart(P)=.1
- Then
- I→N
- J+2→O
- If O≤8
- Then
- If not(fPart([A](O,N
- Then
- For(D,–1,0
- If D
- Goto 1
- End
- End
- End
- End
- End
- J+1→O
- I+1→N
- If N≤8
- Then
- If fPart([A](O,N))
- Then
- For(D,–1,0
- If D
- Goto 1
- End
- End
- End
- J+1→O
- I-1→N
- If N≥1
- Then
- If fPart([A](O,N))
- Then
- For(D,–1,0
- If D
- Goto 1
- End
- End
- End
- End
- Else
- If J-1≥1
- Then
- If not(fPart([A](J-1,I)))
- Then
- C+1→C
- [A](J-1,I)+2→[A](J-1,I)
- Output(J-1,2I-1,"*
- I→L₁(C
- J-1→L₂(C
- If fPart(P)=.1
- Then
- I→N
- J-2→O
- If O≥1
- Then
- If not(fPart([A](O,N)
- Then
- For(D,–1,0
- If D
- Goto 1
- End
- End
- End
- End
- End
- I+1→N
- J-1→O
- If N≤8
- Then
- If fPart([A](O,N)
- Then
- For(D,–1,0
- If D
- Goto 1
- End
- End
- End
- I-1→N
- J-1→O
- If N≥1
- Then
- If fPart([A](O,N))
- Then
- For(D,–1,0
- If D
- Goto 1
- End
- End
- End
- End
- End
- Else
- If 0:N
- If fPart(P)=.3
- Then
- For(F,–1,1,2
- For(B,–2,2,4
- I+F→N
- J+B→O
- For(D,–1,0
- If D
- Goto 1
- End
- I+B→N
- J+F→O
- For(D,–1,0
- If D
- Goto 1
- End
- End
- End
- Else
- If 0:K
- If fPart(P)=.6
- Then
- For(B,–1,1
- For(F,–1,1
- If B
- Then
- I+B→N
- J+F→O
- For(D,–1,0
- If D
- Goto 1
- End
- End
- End
- End
- Else
- If 0:R
- If fPart(P)=.2
- Then
- 0→G
- For(F,–1,0
- If F
- Goto 2
- End
- Else
- If 0:B
- If fPart(P)=.4
- Then
- 1→G
- For(F,–1,0
- If F
- Goto 2
- End
- Else
- If 0:Q
- If fPart(P)=.5
- Then
- For(G,0,2
- If G<2
- Goto 2
- End
- Else
- Disp 5/0
- End
- End
- End
- End
- End
- End
- –[A](J,I→[A](J,I
- Output(J,2I-1,C
- End
- If [A](Y,X)≥2
- Then
- For(B,1,C
- L₁(B)→N
- L₂(B)→O
- [A](O,N)-2→P
- P→[A](O,N)
- For(D,–1,0
- If D
- Goto 0
- End
- Output(O,2N-1,Str1
- End
- –[A](J,I)→D
- If fPart(D)=.1
- D+.6→D
- D→[A](Y,X
- 0→[A](J,I
- int(Q)→Q
- not(Q)→Q
- I→N
- J→O
- 0→P
- For(D,–1,0
- If D
- Goto 0
- End
- Output(J,2I-1,Str1
- End
- End
- End
- Lbl 0
- abs(P)→P
- If P=0=2
- Then
- If fPart((O+N)/2
- Then
- "[]"→Str1
- If P=2
- "*]"→Str1
- Else
- " "→Str1
- If P=2
- "* "→Str1
- End
- End
- If P=0=2
- End
- If P-fPart(P)
- Then
- If P-fPart(P)≥2
- Then
- "*→Str1
- Else
- "+→Str1
- End
- Else
- "-→Str1
- End
- fPart(P)*10→P
- If P=1=7
- Str1+"P"→Str1
- If P=2
- Str1+"R"→Str1
- If P=3
- Str1+"N"→Str1
- If P=4
- Str1+"B"→Str1
- If P=5
- Str1+"Q"→Str1
- If P=6
- Str1+"K"→Str1
- End
- Lbl 1
- If N≥1 and N≤8 and O≥1 and O≤8
- Then
- [A](O,N)→P
- If (int(P)=not(int(Q)) and fPart(P))P)
- Then
- C+1→C
- N→L₁(C
- O→L₂(C
- P+2→P
- P→[A](O,N
- For(E,–1,0
- If E
- Goto 0
- End
- Output(O,2N-1,Str1
- End
- End
- End
- Lbl 2
- For(B,1,8
- J+GB→O
- I+B→N
- If O≤8 and N≤8
- Then
- For(D,–1,0
- If D
- Goto 1
- End
- If fPart([A](O,N))
- 8→B
- End
- End
- For(B,1,8
- I-B→N
- J-GB→O
- If N≥1 and O≥1
- Then
- For(D,–1,0
- If D
- Goto 1
- End
- If fPart([A](O,N
- 8→B
- End
- End
- For(B,1,8
- J+B→O
- I-GB→N
- If O≤8 and N≥1
- Then
- For(D,–1,0
- If D
- Goto 1
- End
- If fPart([A](O,N
- 8→B
- End
- End
- For(B,1,8
- J-B→O
- I+GB→N
- If O≥1 and N≤8
- Then
- For(D,–1,0
- If D
- Goto 1
- End
- If fPart([A](O,N
- 8→B
- End
- End
- End
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement