Join us on Discord!
You can help CodeWalrus stay online by donating here.

Bejeweled 84+ progress thread

Started by JWinslow23, July 16, 2015, 06:41:07 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dream of Omnimaga

Quote from: JWinslow23 on July 18, 2015, 03:28:06 AM
Quote from: DJ Omnimaga on July 18, 2015, 03:06:17 AM
If you don't want to use any picture variable, then forget about dual-layer ASCII then, because it requires the use of a picture during rendering (to recall the first layer on top of the second). Unless you mean you don't want to use pre-rendered pictures? I think temporary pictures are fine since they can help speeding things up a lot by redrawing graphics that you rendered faster when they get erased.

Anyway good luck with whatever you decide :)
I already have temporary pictures. They are required to have any feasible speed with textsprites without redrawing EVERYTHING to the right. I just don't want pre rendered ones is all. I'm fine with dual-layer ASCII.
Ah that's good then. Temporary pictures are truly handy.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

JWinslow23

Bump.

This is almost a full game now! I just need to optimize some stuff (maybe) and add game saving. :)

Any testers of this new game are welcome. I tried a bold font on the Game Over (or, more correctly, "NO MORE MOVES") screen (but it's not in the screenie), hope it looks cool.



Source code for the curious absolutely insane:
G-T
Full
ClrDraw
AxesOff
ZStandard
104→Xmax
⁻72→Ymin
ZInteger
For(A,0,74
If A<11
Text(51,A+15,sub("?Y°﹢.﹢°Y?  ",A+1,1
If A<21
Text(46,A+10,sub("?Y'([i]ÎQJ'['JQÎ[i]('Y?  ",A+1,1
If A<25
Text(41,A+8,sub("﹢[s]!!]:XX.χ[i][i][i]χ.XX:]!![s]﹢  ",A+1,1
If A<22
Text(36,A+8,sub("  .Jí[e]í[e]|u([s]:[s](|u[e]í[e]íJ. ",A+1,1
Text(5,A+11,sub("[[JJ[i]Q' 'QplotsquareJJJJ JJJplotsquareQ' 'QplotsquareJJJJ  YQplotsquare('(plotsquareQY  'QplotsquareJJJJ 'QplotsquareJJJ 'QplotsquareJJJJ [[JJplotsquareQ'  ",A+1,1
Text(0,A+11,sub("[[]]X[( |u[Î]]]?     [[ |u[Î]]]? [[.     .[[ |u[Î]]]? [[     |u[Î]]]? [[??Y[|u  ",A+1,1
End
{11,21,36,56,71,77
For(A,1,6
Line(Ans(A),0,Ans(A)+4,0
End
{31,42,51,62
For(A,1,4
Line(Ans(A),0,Ans(A)+1,0
End
14
Line(2,⁻Ans,36,⁻Ans
Line(Ans,⁻30,24,⁻30
{2,Ans,26
For(A,1,3
Line(Ans(A),⁻22,Ans(A)+10,⁻22
End
12
Line(Ans,⁻2Ans,Ans,⁻28
Line(26,⁻2Ans,26,⁻28
⁻16
Line(0,Ans,0,⁻20
Line(38,Ans,38,⁻20
Line(⁻Ans,⁻12,19,⁻13
13
Line(22,⁻12,19,⁻Ans
Line(40,⁻Ans,40,⁻61
{1,15,1,21,37,21,Ans,23,Ans,29,25,29,15,Ans,23,Ans
For(A,1,8
Pt-On(Ans(2A-1),⁻Ans(2A
End
⁻12
Line(41,Ans,92,Ans
Line(41,Ymin,92,Ymin
Line(42,Ans,42,Ymin
Line(92,Ans,92,Ymin
"[[i][[[(ẋXẋ(+([(+(X]X(°û[Q°J|u[|uJ(X[i][(→Str1
DelVar PDelVar V30→E
StorePic 2
Lbl A
DelVar FRecallPic 2
Text(15,2,P
Pt-On(37,⁻15
Text(23,14,V
Pt-On(25,⁻23
Text(25,49,"Generating
Text(31,44,"board...please
Text(37,48,"be patient...
DelVar [A]{8,8→dim([A]
For(A,1,8
For(B,1,8
randInt(1,7→[A](A,B
End
End
Repeat [A]=[B]
[A]→[B]
For(X,0,1
For(A,1,8
Matr►list([A],A,L₁
not(DeltaList(DeltaList(L₁³→L₁
For(B,1,6max(Ans
If L₁(B
Then
Repeat Ans≠[A](B+1,A
randInt(1,7→[A](B,A
End
End
End
End
[A]ᵀ→[A]
End
End
For(A,1,8
For(B,1,8
For(C,0,7
Text(7+6A,38+6B+C,sub(sub(Str1,5[A](A,B)-4,5)+"   ",C+1,1
End
Line(92,⁻12,92,Ymin
End
End
DelVar SDelVar T1→Z
Ans→θ
DelVar L₁→W
Repeat K=45 or F≥E or L=15 and F<E
Line(38+6Z,⁻7-6θ,42+6Z,⁻7-6θ
Line(38+6Z,⁻13-6θ,42+6Z,⁻13-6θ
Line(37+6Z,⁻8-6θ,37+6Z,⁻12-6θ
Line(43+6Z,⁻8-6θ,43+6Z,⁻12-6θ
getKey→K
If Ans
Then
Line(38+6Z,⁻7-6θ,42+6Z,⁻7-6θ,0
Line(38+6Z,⁻13-6θ,42+6Z,⁻13-6θ,0
Line(37+6Z,⁻8-6θ,37+6Z,⁻12-6θ,0
Line(43+6Z,⁻8-6θ,43+6Z,⁻12-6θ,0
End
If Ans=21
Then
If S and T and (Z=S or θ=T) and 2>abs(Z-S)+abs(θ-T
Then
Pt-Off(37+6S,⁻7-6T
Pt-Off(43+6S,⁻7-6T
Pt-Off(37+6S,⁻13-6T
Pt-Off(43+6S,⁻13-6T
[A](T,S→A
[A](θ,Z→[A](T,S
DelVar GDelVar NA→[A](θ,Z
Repeat not(M
DelVar M[A]→[B]
For(X,0,1
For(A,1,8
Matr►list([A],A,L₁
not(DeltaList(DeltaList(L₁³→L₁
For(B,1,6max(L₁
If L₁(B
Then
P+(3^M+2N+2→P
Text(15,2,P
Pt-On(37,⁻15
F+(3^M+2N+2→F
Line(41,⁻62,41,⁻62+min(49,49F/E
N+not(M→N
M+1→M
For(C,0,2
{B+C,A
If X
{A,B+C
Text(7+6Ans(1),38+6Ans(2),"     
0→[B](Ans(1),Ans(2
End
End
End
End
[A]ᵀ→[A]
End
If M
Then
1→W
[B]→[A]
If not(G
Then
For(X,0,1
{T,S
If X
{θ,Z
Text(7+6Ans(1),38+6Ans(2),"     
StorePic 1
For(C,0,7
If [A](Ans(1),Ans(2
Text(7+6Ans(1),38+6Ans(2)+C,sub(sub(Str1,5[A](Ans(1),Ans(2))-4,5)+"   ",C+1,1
End
RecallPic 1
End
1→G
End
For(A,1,8
Matr►list([A],A,L₁
DelVar O1→D
Repeat 8=sum(L₁=L₂
L₁→L₂
9→B
Repeat B<3 or not(L₁(B
B-1→B
End
If not(L₁(B
Then
max(B,D→D
For(C,B,2,⁻1
L₁(C-1→L₁(C
End
0→L₁(1
End
End
For(B,1,D
If not(L₁(B
Then
1→O
randInt(1,7→L₁(B
End
End
If O
Then
List►matr(L₁,[B]
rowSwap(augment([A],[B])ᵀ,A,9)ᵀ→[A]
{8,8→dim([A]
For(B,D,1,⁻1
Text(7+6B,38+6A,"     
StorePic 1
For(C,0,7
Text(7+6B,38+6A+C,sub(sub(Str1,5[A](B,A)-4,5)+"   ",C+1,1
End
RecallPic 1
End
End
End
Else
If not(N
Then
[A](T,S→A
[A](θ,Z→[A](T,S
A→[A](θ,Z
End
End
End
DelVar SDelVar T
Else
If S and T
Then
Pt-Off(37+6S,⁻7-6T
Pt-Off(43+6S,⁻7-6T
Pt-Off(37+6S,⁻13-6T
Pt-Off(43+6S,⁻13-6T
End
Z→S
θ→T
Pt-On(37+6S,⁻7-6T
Pt-On(43+6S,⁻7-6T
Pt-On(37+6S,⁻13-6T
Pt-On(43+6S,⁻13-6T
End
End
Z+(K=26 and Z<8)-(K=24 and Z>1→Z
θ+(K=34 and θ<8)-(K=25 and θ>1→θ
If W and F<E
DelVar I1→L
If L and L<16
Then
Matr►list([A],1,L₂
For(A,2,8
L₂→L₁
Matr►list([A],A,L₂
.1(10^L₁+10^L₂)(L₁≠L₂
{0,0,sum(Ans,1,3),sum(Ans,2,4),sum(Ans,3,5),sum(Ans,4,6),sum(Ans,5,7),sum(Ans,6,8
If .3≤max(max(fPart(Ans10^⁻L₁),fPart(Ans10^⁻L₂))) or max(.3010299957=abs(DeltaList(log(abs(DeltaList(DeltaList(10^L₁
Then
16→L
8→A
Else
L+1→L
End
End
If L=16 and I or L≠16
[A]ᵀ→[A]
L≠16→I
End
not(L→W
If L=15 and F<E
Then
ClrDraw
RecallPic 2
Text(15,2,P
Pt-On(37,⁻15
Text(23,14,V
Pt-On(25,⁻23
For(X,0,1
Text(⁻1,21,X+47,"NO MORE
Text(⁻1,29,X+53,"MOVES
If not(X
StorePic 1
End
RecallPic 1
Text(37,49,"Press ENTER
Pause
DelVar PDelVar V30→E
End
End
ClrDraw
V+(F≥E→V
E+15(F≥E→E
If K≠45
Goto A


Download here. Tell me what you think, and please notify me of any bugs, glitches, or feature suggestions!

Unicorn

Awesome! But you screenshot is messed up x.x
  • Calculators owned: I own all of them: PICKACHUP TI 84+ CSE TI 83+ SE TI something something ??? ??? ??? ??? ???
  • Consoles, mobile devices and vintage computers owned: PICKACHUP ??? ??? ??? ??? ???



??? ??? ??? ??? ???


Unicorn

Hmm it works for me on my kindle. Must have been the iphone I was using. Anyways, it looks very very nice, and pretty fast! :)
  • Calculators owned: I own all of them: PICKACHUP TI 84+ CSE TI 83+ SE TI something something ??? ??? ??? ??? ???
  • Consoles, mobile devices and vintage computers owned: PICKACHUP ??? ??? ??? ??? ???



??? ??? ??? ??? ???


Dream of Omnimaga

It works fine for me, and I can't wait to try the game. I downloaded it but I won't be able to play now since I'm going to bed soon.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

alexgt

This si amazing that it is in basic O.O, It is lighting for ti basic O.O great job O.O
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Duke "Tape" Eiyeron

It's pretty good for TI-Basic, I have to agree! Nice work!
  • Calculators owned: A lot.


JWinslow23

#55
Bump.

This should be the finished product right here! I implemented saving games, as well as restarting your current level and restarting your entire game. There's also a logo for DoorsCS7!



Source code for the curious masochist:
:"Bejeweled 84+
:"000007E01DB82A5477EE742EE3C797E977EE3BDC1BD80DB005A0024001800000
G-T
Full
ClrDraw
AxesOff
ZStandard
104→Xmax
⁻72→Ymin
ZInteger
For(A,0,74
If A<11
Text(51,A+15,sub("?Y°﹢.﹢°Y?  ",A+1,1
If A<21
Text(46,A+10,sub("?Y'([i]ÎQJ'['JQÎ[i]('Y?  ",A+1,1
If A<25
Text(41,A+8,sub("﹢[s]!!]:XX.χ[i][i][i]χ.XX:]!![s]﹢  ",A+1,1
If A<22
Text(36,A+8,sub("  .Jí[e]í[e]|u([s]:[s](|u[e]í[e]íJ. ",A+1,1
Text(5,A+11,sub("[[JJ[i]Q' 'QplotsquareJJJJ JJJplotsquareQ' 'QplotsquareJJJJ  YQplotsquare('(plotsquareQY  'QplotsquareJJJJ 'QplotsquareJJJ 'QplotsquareJJJJ [[JJplotsquareQ'  ",A+1,1
Text(0,A+11,sub("[[]]X[( |u[Î]]]?     [[ |u[Î]]]? [[.     .[[ |u[Î]]]? [[     |u[Î]]]? [[??Y[|u  ",A+1,1
End
{11,21,36,56,71,77
For(A,1,6
Line(Ans(A),0,Ans(A)+4,0
End
{31,42,51,62
For(A,1,4
Line(Ans(A),0,Ans(A)+1,0
End
14
Line(2,⁻Ans,36,⁻Ans
Line(Ans,⁻30,24,⁻30
{2,Ans,26
For(A,1,3
Line(Ans(A),⁻22,Ans(A)+10,⁻22
End
12
Line(Ans,⁻2Ans,Ans,⁻28
Line(26,⁻2Ans,26,⁻28
⁻16
Line(0,Ans,0,⁻20
Line(38,Ans,38,⁻20
Line(⁻Ans,⁻12,19,⁻13
13
Line(22,⁻12,19,⁻Ans
Line(40,⁻Ans,40,⁻61
{1,15,1,21,37,21,Ans,23,Ans,29,25,29,15,Ans,23,Ans
For(A,1,8
Pt-On(Ans(2A-1),⁻Ans(2A
End
⁻12
Line(41,Ans,92,Ans
Line(41,Ymin,92,Ymin
Line(42,Ans,42,Ymin
Line(92,Ans,92,Ymin
"[[i][[[(ẋXẋ(+([(+(X]X(°û[Q°J|u[|uJ(X[i][(→Str1
SetUpEditor BJWL
If 4=dim(ʟBJWL
Then
ʟBJWL(1→V
ʟBJWL(2→P
ʟBJWL(3→F
ʟBJWL(4→E
Else
DelVar FDelVar PDelVar V30→E
4→dim(ʟBJWL
E→ʟBJWL(4
End
7^cumSum(binomcdf(7,0→L₃
StorePic 2
Lbl A
RecallPic 2
Text(15,2,P+F
Pt-On(37,⁻15
Text(23,14,V
Pt-On(25,⁻23
Line(41,⁻62,41,⁻62+min(49,49F/E
Text(25,49,"Generating
Text(31,44,"board...please
Text(37,48,"be patient...
DelVar [A]{8,8→dim([A]
List►matr(10^(1+iPart(7fPart(randL₃))),10^(1+iPart(7fPart(randL₃))),10^(1+iPart(7fPart(randL₃))),10^(1+iPart(7fPart(randL₃))),10^(1+iPart(7fPart(randL₃))),10^(1+iPart(7fPart(randL₃))),10^(1+iPart(7fPart(randL₃))),10^(1+iPart(7fPart(randL₃))),[A]
Repeat [A]=[B]
[A]→[B]
For(X,0,1
For(A,1,8
Matr►list([A],A,L₁
not(DeltaList(DeltaList(L₁→L₁
For(B,1,6max(Ans
If L₁(B
Then
Repeat Ans≠[A](B+1,A
10^randInt(1,7→[A](B,A
End
End
End
End
[A]ᵀ→[A]
End
End
For(A,1,8
For(B,1,8
For(C,0,7
Text(7+6A,38+6B+C,sub(sub(Str1,5log([A](A,B))-4,5)+"   ",C+1,1
End
Line(92,⁻12,92,Ymin
End
End
DelVar LDelVar SDelVar T1→Z
1→θ
1→W
Repeat F≥E or L=15 and F<E or sum(K={22,23,45
Line(38+6Z,⁻7-6θ,42+6Z,⁻7-6θ
Line(38+6Z,⁻13-6θ,42+6Z,⁻13-6θ
Line(37+6Z,⁻8-6θ,37+6Z,⁻12-6θ
Line(43+6Z,⁻8-6θ,43+6Z,⁻12-6θ
getKey→K
If Ans
Then
Line(38+6Z,⁻7-6θ,42+6Z,⁻7-6θ,0
Line(38+6Z,⁻13-6θ,42+6Z,⁻13-6θ,0
Line(37+6Z,⁻8-6θ,37+6Z,⁻12-6θ,0
Line(43+6Z,⁻8-6θ,43+6Z,⁻12-6θ,0
End
If Ans=23
DelVar FDelVar PDelVar V30→E
If K=22
DelVar F
If K=21
Then
If S and T and (Z=S or θ=T) and 2>abs(Z-S)+abs(θ-T
Then
Pt-Off(37+6S,⁻7-6T
Pt-Off(43+6S,⁻7-6T
Pt-Off(37+6S,⁻13-6T
Pt-Off(43+6S,⁻13-6T
[A](T,S→A
[A](θ,Z→[A](T,S
DelVar GDelVar NA→[A](θ,Z
Repeat not(M
DelVar M[A]→[B]
For(X,0,1
For(A,1,8
Matr►list([A],A,L₁
not(DeltaList(DeltaList(L₁→L₁
For(B,1,6max(Ans
If L₁(B
Then
3^M+2N+2+F→F
Line(41,⁻62,41,⁻62+min(49,49Ans/E
If P+Ans≥ᴇ9
ᴇ9-1-P→F
Text(15,2,P+Ans
Pt-On(37,⁻15
N+not(M→N
M+1→M
For(C,0,2
{B+C,A
If X
{A,B+C
Text(7+6Ans(1),38+6Ans(2),"     
0→[B](Ans(1),Ans(2
End
End
End
End
[A]ᵀ→[A]
End
If M
Then
1→W
[B]→[A]
If not(G
Then
For(X,0,1
{T,S
If X
{θ,Z
Text(7+6Ans(1),38+6Ans(2),"     
StorePic 1
For(C,0,7
If [A](Ans(1),Ans(2
Text(7+6Ans(1),38+6Ans(2)+C,sub(sub(Str1,5log([A](Ans(1),Ans(2)))-4,5)+"   ",C+1,1
End
RecallPic 1
End
1→G
End
For(A,1,8
Matr►list([A],A,L₁
If not(min(L₁
Then
DelVar DDelVar L₂8→dim(L₂
8→C
For(B,1,8
L₁(9-B
If Ans
Then
Ans→L₂(C
C-1→C
End
If not(L₁(B
B→D
End
List►matr(L₂+10^(1+iPart(7fPart(randL₃)))not(L₂),[B]
rowSwap(augment([A],[B])ᵀ,A,9)ᵀ→[A]
{8,8→dim([A]
For(B,D,1,⁻1
Text(7+6B,38+6A,"     
StorePic 1
For(C,0,7
Text(7+6B,38+6A+C,sub(sub(Str1,5log([A](B,A))-4,5)+"   ",C+1,1
End
RecallPic 1
End
End
End
Else
If not(N
Then
[A](T,S→A
[A](θ,Z→[A](T,S
A→[A](θ,Z
End
End
End
DelVar SDelVar T
Else
If S and T
Then
Pt-Off(37+6S,⁻7-6T
Pt-Off(43+6S,⁻7-6T
Pt-Off(37+6S,⁻13-6T
Pt-Off(43+6S,⁻13-6T
End
Z→S
θ→T
Pt-On(37+6S,⁻7-6Ans
Pt-On(43+6S,⁻7-6Ans
Pt-On(37+6S,⁻13-6Ans
Pt-On(43+6S,⁻13-6Ans
End
End
Z+(K=26 and Z<8)-(K=24 and Z>1→Z
θ+(K=34 and θ<8)-(K=25 and θ>1→θ
If W and F<E
DelVar I1→L
If L and L<16
Then
Matr►list([A],1,L₂
For(A,2,8
L₂→L₁
Matr►list([A],A,L₂
.1(L₁+L₂)(L₁≠L₂
{0,0,sum(Ans,1,3),sum(Ans,2,4),sum(Ans,3,5),sum(Ans,4,6),sum(Ans,5,7),sum(Ans,6,8
If .3≤max(max(fPart(Ans/L₁),fPart(Ans/L₂))) or max(.3010299957=abs(DeltaList(log(abs(DeltaList(DeltaList(L₁
Then
15→L
8→A
End
L+1→L
End
If L=16 and I or L≠16
[A]ᵀ→[A]
L≠16→I
End
not(L→W
If L=15 and F<E
Then
ClrDraw
RecallPic 2
Text(15,2,P+F
Pt-On(37,⁻15
Text(23,14,V
Pt-On(25,⁻23
For(X,0,1
Text(⁻1,21,X+47,"NO MORE
Text(⁻1,29,X+53,"MOVES
If not(X
StorePic 1
End
RecallPic 1
Text(37,49,"Press ENTER
Pause 
DelVar FDelVar PDelVar V30→E
End
End
ClrDraw
If F≥E
Then
min(999,V+1→V
min(15015,E+15→E
P+F→P
DelVar F
End
If K=22
DelVar F
If K≠45
Goto A
{V,P,F,E→ʟBJWL
ClrHome
Disp "Bejeweled 84+","","Game saved.


Download link here. Tell me what you think!

Unicorn

Awesome! But that darned https :( My kindle can't handle.
  • Calculators owned: I own all of them: PICKACHUP TI 84+ CSE TI 83+ SE TI something something ??? ??? ??? ??? ???
  • Consoles, mobile devices and vintage computers owned: PICKACHUP ??? ??? ??? ??? ???



??? ??? ??? ??? ???


Unicorn

Quote from: JWinslow23 on July 21, 2015, 12:08:16 AM
Quote from: Unicorn on July 21, 2015, 12:02:14 AM
Awesome! But that darned https :( My kindle can't handle.
Again, sorry. :(
Not your fault, Its just an inconvenience.
  • Calculators owned: I own all of them: PICKACHUP TI 84+ CSE TI 83+ SE TI something something ??? ??? ??? ??? ???
  • Consoles, mobile devices and vintage computers owned: PICKACHUP ??? ??? ??? ??? ???



??? ??? ??? ??? ???

Dream of Omnimaga

Would it be faster to separate the Bejeweled text code that is past the crystal into its own For loop, so that that part displays faster? I remember that For loops with a bunch of If instructions tend to be slower even when the condition is false.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Powered by EzPortal