That's going to be interesting, good luck with it. Let me know when you finish so I can play with Celtic 2 CSE and rendering pieces.

;score += 2*(1+lastlines)*(y-firstclearedy)*(y-firstclearedy)*(level);
score = score + 2*(level)*(1+number_of_lines_cleared_last_piece)*(number_of_lines_cleared_this_piece)^2
:DCS
"0000005500000000000000550000000000000055000000000000005500000000000000550000000000000055000000000000005500000000000000550000000077777700000011007777770000001100774444000022111177444400002211116644440022223311664444002222331166666600223333336666660022333333
ClrDraw:AxesOff
2->W:1->D:5->C:1->V:2->T:1->U:0->P:1->theta
randInt(10,16->E
1+(E/|E2->E
0->Xmin:0->Ymin
264->Xmax:164->Ymax
Text(~1,1,91,"BTetris
Line(114,54,114,117,2,12
Line(148,54,148,117,2,12
Line(116,52,147,52,2,12
Line(116,119,147,119,2,12
{21,10->dim([A]
Fill(0,[A]
D->G
While W=2
getKey->K
If max(K={24,26,21,31:Then
Pt-Off((115+C*3)+L1(1),(115-(D)*3)-L1(2),1
Pt-Off((115+C*3)+L1(3),(115-(D)*3)-L1(4),1
Pt-Off((115+C*3)+L1(5),(115-(D)*3)-L1(6),1
Pt-Off((115+C*3)+L1(7),(115-(D)*3)-L1(8),1
End
If K=26:Then
If C+A<10 and ([A](D,C+A+1(C+A<10))=0 or [A](D+1,C+A+1(C+A<10))=0 or [A](D+2,C+A+1(C+A<10))=0 or [A](D+3,C+A+1(C+A<10))=0:Then
C+1->C
End:End
If K=24:Then
If C>1 and ([A](D,C-1)=0 or [A](D+1,C-1)=0 or [A](D+2,C-1)=0 or [A](D+3,C-1)=0:Then
C-1->C
End:End
If F!=C:C->F
V-(C+(A-1(A=2)+2(A=0)-2(A=3))<10)((K=31 and V>0)-(K=21 and V<5->V
If V=0:4->V
If V=5:1->V
If K=21 or K=31:1->theta
If K=105:Then
Text(150,110,"Paused
Pause
Text(150,110,"
End
If K=22:Then
DelVar [A]DelVar WDelVar L1DelVar |LADelVar |LBDelVar |LCDelVar |LD
ClrDraw:Disp :Return:End
If theta=1:Then
If |E2fPart(E)=10:Then
If V=1 or V=3:{3,0,6,0,0,3,3,3->L1
If V=2 or V=4:{0,0,0,3,3,3,3,6->L1
End
If |E2fPart(E)=11:Then
If V=1 or V=3:{0,0,3,0,3,3,6,3->L1
If V=2 or V=4:{3,0,3,3,0,3,0,6->L1
End
If |E2fPart(E)=12:Then
If V=1:{3,0,0,3,3,3,6,3->L1
If V=2:{0,0,0,3,0,6,3,3->L1
If V=3:{0,0,3,0,6,0,3,3->L1
If V=4:{3,0,3,3,3,6,0,3->L1
End
If |E2fPart(E)=13:Then
If V>0 and V<5:{0,0,3,0,3,3,0,3->L1
End
If |E2fPart(E)=14:Then
If V=1 or V=3:{0,0,3,0,6,0,9,0->L1
If V=2 or V=4:{0,0,0,3,0,6,0,9->L1
End
If |E2fPart(E)=15:Then
If V=1:{0,0,0,3,3,3,6,3->L1
If V=2:{0,0,3,0,0,3,0,6->L1
If V=3:{0,0,3,0,6,0,6,3->L1
If V=4:{3,0,3,3,3,6,0,6->L1
End
If |E2fPart(E)=16:Then
If V=1:{0,3,3,3,6,3,6,0->L1
If V=2:{0,0,0,3,0,6,3,6->L1
If V=3:{0,0,3,0,6,0,0,3->L1
If V=4:{0,0,3,0,3,3,3,6->L1
End
|E2fPart(E->Z
If max(Z={10,11,12,15,16:Then
If V=1 or V=3:Then:2->A:1->B:End
If V=2 or V=4:Then:1->A:2->B:End:End
If Z=13:Then:1->A:1->B:End
If Z=14:Then
If V=1 or V=3:Then:3->A:0->B:End
If V=2 or V=4:Then:0->A:3->B:End
End
0->theta
End
If D=G:Then
Pt-On((115+C*3)+L1(1),(115-(D)*3)-L1(2),1,|E2fPart(E
Pt-On((115+C*3)+L1(3),(115-(D)*3)-L1(4),1,|E2fPart(E
Pt-On((115+C*3)+L1(5),(115-(D)*3)-L1(6),1,|E2fPart(E
Pt-On((115+C*3)+L1(7),(115-(D)*3)-L1(8),1,|E2fPart(E
End
If T>U:Then
If D+B=20 or iPart([A](D+(L1(2)/3)+1,C+(L1(1)/3)))=1 or iPart([A](D+(L1(4)/3)+1,C+(L1(3)/3)))=1 or iPart([A](D+(L1(6)/3)+1,C+(L1(5)/3)))=1 or iPart([A](D+(L1(8)/3)+1,C+(L1(7)/3)))=1:Then
E->[A](D+(L1(2)/3),C+(L1(1)/3
E->[A](D+(L1(4)/3),C+(L1(3)/3
E->[A](D+(L1(6)/3),C+(L1(5)/3
E->[A](D+(L1(8)/3),C+(L1(7)/3
For(Q,0,3
If D+Q<=21:Then
Matr>list([A]^^T,D+Q,|LA
If sum(iPart(|LA))=10:Then
Q->L
For(O,1,10
Pt-Off(115+O*3,(115-(D+Q)*3),1
0->[A](D+Q,O
End:End:End:End
If L<5:3->W
0->R
D+L->M
0->N
While W=3
Matr>list([A]^^T,M,|LA
If sum(|LA)>0:Then
For(O,1,10
Pt-Off(115+O*3,115-M*3,1
[A](M,O)->[A](M+N,O
0->[A](M,O
If [A](M+N,O)>0
Pt-On(115+O*3,(115-(M+N)*3),1,|E2fPart([A](M+N,O
End
End
If R<5 and sum(iPart(|LA))=0:N+1->N
If R>5 and (sum(iPart(|LA))=0 or M<3:2->W
M-1->M:R+1->R
End
0->D:5->C:1->V:1->P:1->theta
S+1->S
randInt(10,16->E
1+(E/|E2->E
End
D+1->D
End
If P=0 and D!=G:Then
Pt-Off((115+F*3)+L1(1),(115-(G)*3)-L1(2),1
Pt-Off((115+F*3)+L1(3),(115-(G)*3)-L1(4),1
Pt-Off((115+F*3)+L1(5),(115-(G)*3)-L1(6),1
Pt-Off((115+F*3)+L1(7),(115-(G)*3)-L1(8),1
D->G
End
If P=1:D->G
0->P:5->L
End:"W=2
If C>1:Then
If not([A](D,C-1)) or [A](D+1,...
22
22 [ -> LEFT before during fall -> ] 22
11 122
11 11
111 111
Advertisement