# Omnimaga

## Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: JWinslow23 on July 16, 2015, 02:43:17 pm

Post by: JWinslow23 on July 16, 2015, 02:43:17 pm
Introducing, a first look at what I want to make into a full game: Bejeweled 84+!

(https://img.ourl.ca/Bejeweled84-1.gif) (http://www.cemetech.net/programs/index.php?mode=file&id=1332)

As of now, it just loads the graphics, creates a random board with no match checking (yet), and displays that board.

If anyone's wondering how I did all that, one word: textsprites. (http://tibasicdev.wikidot.com/textsprites)

EDIT: Source code for the curious (processed with TokenIDE):
Code: [Select]
`ClrDrawAxesOffZStandard104→Xmax⁻72→YminZIntegerFor(A,0,74If A<11Text(57,A+15,sub("?Y°﹢.﹢°Y?  ",A+1,1If A<21Text(52,A+10,sub("?Y'([i]ÎQJ'['JQÎ[i]('Y?  ",A+1,1If A<25Text(47,A+8,sub("﹢[s]!!]:XX.χ[i][i][i]χ.XX:]!![s]﹢  ",A+1,1If A<28Text(42,A+8,sub("  .Jẋûí[e]|u([s]:[s](|u[e]í[e]íJ.   ??  ",A+1,1If A<41ThenText(37,A,sub("''?    Y'°°Y]|uQYYY? Y'°°°^Y'°°'Y1|uQYYY?  ",A+1,1Text(32,A,sub(" plotsquare[[2JQ!Jplotsquare[e]plotsquareJ[e]plotsquareplotsquare[e]plotsquareJ plotsquare['??YÎJplotsquare[e]plotsquareplotsquare [e]plotsquareplotsquareûplotsquare2  ",A+1,1Text(27,A,sub("JJJJJJJ.              ….          plotsquareí﹢  ",A+1,1EndText(5,A+11,sub("[[JJ[i]Q' 'QplotsquareJJJJ JJJplotsquareQ' 'QplotsquareJJJJ  YQplotsquare('(plotsquareQY  'QplotsquareJJJJ 'QplotsquareJJJ 'QplotsquareJJJJ [[JJplotsquareQ'  ",A+1,1Text(0,A+11,sub("[[]]X[( |u[Î]]]?     [[ |u[Î]]]? [[.     .[[ |u[Î]]]? [[     |u[Î]]]? [[??Y[|u  ",A+1,1End{11,21,36,56,71,77For(A,1,6Line(Ans(A),0,Ans(A)+4,0End{31,42,51,62For(A,1,4Line(Ans(A),0,Ans(A)+1,0End⁻14Line(2,Ans,36,AnsLine(⁻Ans,2Ans,24,2Ans{2,⁻Ans,26For(A,1,3Line(Ans(A),⁻22,Ans(A)+10,⁻22End26Line(12,⁻24,12,⁻AnsLine(Ans,⁻24,Ans,⁻Ans⁻16Line(0,Ans,0,⁻20Line(38,Ans,38,⁻20Line(⁻Ans,⁻12,19,⁻1313Line(22,⁻12,19,⁻AnsLine(40,⁻Ans,40,⁻61{1,15,37,15,1,21,37,21,Ans,23,25,23,Ans,27,25,27,15,Ans,23,AnsFor(A,1,10Pt-On(Ans(2A-1),⁻Ans(2AEnd⁻12Line(41,Ans,92,AnsLine(41,Ymin,92,YminLine(42,Ans,42,YminLine(92,Ans,92,YminDelVar [A]{8,8→dim([A]For(A,1,8For(B,1,8randInt(1,7→[A](A,BStorePic 1For(C,0,7Text(7+6A,38+6B+C,sub(sub("[[i][[[(ẋXẋ(+([(+(X]X(°û[Q°J|u[|uJ(X[i][(",5[A](A,B)-4,5)+"   ",C+1,1EndRecallPic 1EndEndPause `
Title: Re: Bejeweled 84+ progress thread
Post by: TIfanx1999 on July 16, 2015, 02:45:00 pm
I saw this in the IRC channel. It looks fantastic!, great work so far, and props for it being in pure BASIC.
Title: Re: Bejeweled 84+ progress thread
Post by: Sorunome on July 16, 2015, 02:45:58 pm
Yup, saw this in IRC too and I must say, it is looking awesome!
Title: Re: Bejeweled 84+ progress thread
Post by: JWinslow23 on July 16, 2015, 02:49:39 pm
I saw this in the IRC channel. It looks fantastic!, great work so far, and props for it being in pure BASIC.
Thanks! Now the next priority is to check for immediate matches and get rid of them.

Yup, saw this in IRC too and I must say, it is looking awesome!
Thank you, too! I only had to make one change to how it looked (because sometimes when gems were on the right edge, they were being drawn improperly, due to Text() only having so much range), but the looks are going as planned thus far.

Also, new code and binary! You can now switch gems! Match checking will come later.

Press 2nd on a square, and the corners of the selection box will turn black. Press 2nd on that same square to deselect, and an adjacent square to switch them. If you press 2nd on any other square, it deselects the selected square and selects the new one. So, basically like the CSE version :P

(https://img.ourl.ca/Bejeweled84-2.gif)

Source code for the curious:

Code: [Select]
`ClrDrawAxesOffZStandard104→Xmax⁻72→YminZIntegerFor(A,0,74If A<11Text(57,A+15,sub("?Y°﹢.﹢°Y?  ",A+1,1If A<21Text(52,A+10,sub("?Y'([i]ÎQJ'['JQÎ[i]('Y?  ",A+1,1If A<25Text(47,A+8,sub("﹢[s]!!]:XX.χ[i][i][i]χ.XX:]!![s]﹢  ",A+1,1If A<28Text(42,A+8,sub("  .Jẋûí[e]|u([s]:[s](|u[e]í[e]íJ.   ??  ",A+1,1If A<41ThenText(37,A,sub("''?    Y'°°Y]|uQYYY? Y'°°°^Y'°°'Y1|uQYYY?  ",A+1,1Text(32,A,sub(" plotsquare[[2JQ!Jplotsquare[e]plotsquareJ[e]plotsquareplotsquare[e]plotsquareJ plotsquare['??YÎJplotsquare[e]plotsquareplotsquare [e]plotsquareplotsquareûplotsquare2  ",A+1,1Text(27,A,sub("JJJJJJJ.              ….          plotsquareí﹢  ",A+1,1EndText(5,A+11,sub("[[JJ[i]Q' 'QplotsquareJJJJ JJJplotsquareQ' 'QplotsquareJJJJ  YQplotsquare('(plotsquareQY  'QplotsquareJJJJ 'QplotsquareJJJ 'QplotsquareJJJJ [[JJplotsquareQ'  ",A+1,1Text(0,A+11,sub("[[]]X[( |u[Î]]]?     [[ |u[Î]]]? [[.     .[[ |u[Î]]]? [[     |u[Î]]]? [[??Y[|u  ",A+1,1End{11,21,36,56,71,77For(A,1,6Line(Ans(A),0,Ans(A)+4,0End{31,42,51,62For(A,1,4Line(Ans(A),0,Ans(A)+1,0End⁻14Line(2,Ans,36,AnsLine(⁻Ans,2Ans,24,2Ans{2,⁻Ans,26For(A,1,3Line(Ans(A),⁻22,Ans(A)+10,⁻22End26Line(12,⁻24,12,⁻AnsLine(Ans,⁻24,Ans,⁻Ans⁻16Line(0,Ans,0,⁻20Line(38,Ans,38,⁻20Line(⁻Ans,⁻12,19,⁻1313Line(22,⁻12,19,⁻AnsLine(40,⁻Ans,40,⁻61{1,15,37,15,1,21,37,21,Ans,23,25,23,Ans,27,25,27,15,Ans,23,AnsFor(A,1,10Pt-On(Ans(2A-1),⁻Ans(2AEnd⁻12Line(41,Ans,92,AnsLine(41,Ymin,92,YminLine(42,Ans,42,YminLine(92,Ans,92,YminDelVar [A]{8,8→dim([A]For(A,1,8For(B,1,8randInt(1,7→[A](A,BEndEndRepeat [A]=[B][A]→[B]For(X,0,1For(A,1,8Matr►list([A],A,L₁not(DeltaList(DeltaList(L₁³→L₁For(B,1,6max(AnsIf L₁(BThenRepeat Ans≠[A](B+1,ArandInt(1,7→[A](B,AEndEndEndEnd[A]ᵀ→[A]EndEnd"[[i][[[(ẋXẋ(+([(+(X]X(°û[Q°J|u[|uJ(X[i][(→Str1For(A,1,8For(B,1,8For(C,0,7Text(7+6A,38+6B+C,sub(sub(Str1,5[A](A,B)-4,5)+"   ",C+1,1EndLine(92,⁻12,92,YminEndEndDelVar SDelVar T1→Z1→θRepeat K=45Line(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→KIf KThenLine(38+6Z,⁻7-6θ,42+6Z,⁻7-6θ,0Line(38+6Z,⁻13-6θ,42+6Z,⁻13-6θ,0Line(37+6Z,⁻8-6θ,37+6Z,⁻12-6θ,0Line(43+6Z,⁻8-6θ,43+6Z,⁻12-6θ,0EndIf K=21ThenIf S and T and (Z=S or θ=T) and 2>abs(Z-S)+abs(θ-TThenPt-Off(37+6S,⁻7-6TPt-Off(43+6S,⁻7-6TPt-Off(37+6S,⁻13-6TPt-Off(43+6S,⁻13-6T[A](T,S→A[A](θ,Z→[A](T,SA→[A](θ,Z"     Text(7+6θ,38+6Z,AnsText(7+6T,38+6S,AnsStorePic 1For(C,0,7Text(7+6θ,38+6Z+C,sub(sub(Str1,5[A](θ,Z)-4,5)+"   ",C+1,1EndRecallPic 1StorePic 1For(C,0,7Text(7+6T,38+6S+C,sub(sub(Str1,5[A](T,S)-4,5)+"   ",C+1,1EndRecallPic 10→S0→TElseIf S and TThenPt-Off(37+6S,⁻7-6TPt-Off(43+6S,⁻7-6TPt-Off(37+6S,⁻13-6TPt-Off(43+6S,⁻13-6TEndZ→Sθ→TPt-On(37+6S,⁻7-6TPt-On(43+6S,⁻7-6TPt-On(37+6S,⁻13-6TPt-On(43+6S,⁻13-6TEndEndZ+(K=26 and Z<8)-(K=24 and Z>1→Zθ+(K=34 and θ<8)-(K=25 and θ>1→θEnd`
Title: Re: Bejeweled 84+ progress thread
Post by: JWinslow23 on July 17, 2015, 03:53:57 pm
Bump.

Newer code STILL! After 3 days of work, it is now possible to actually match gems, and play like a regular Bejeweled game! Levels and points will come later ;)

(https://img.ourl.ca/Bejeweled84-3.gif)

Source code for the curious (I myself think it's messy, but it works! and well at that!):
Code: [Select]
`G-TFullClrDrawAxesOffZStandard104→Xmax⁻72→YminZIntegerFor(A,0,74If A<11Text(57,A+15,sub("?Y°﹢.﹢°Y?  ",A+1,1If A<21Text(52,A+10,sub("?Y'([i]ÎQJ'['JQÎ[i]('Y?  ",A+1,1If A<25Text(47,A+8,sub("﹢[s]!!]:XX.χ[i][i][i]χ.XX:]!![s]﹢  ",A+1,1If A<28Text(42,A+8,sub("  .Jẋûí[e]|u([s]:[s](|u[e]í[e]íJ.   ??  ",A+1,1If A<41ThenText(37,A,sub("''?    Y'°°Y]|uQYYY? Y'°°°^Y'°°'Y1|uQYYY?  ",A+1,1Text(32,A,sub(" plotsquare[[2JQ!Jplotsquare[e]plotsquareJ[e]plotsquareplotsquare[e]plotsquareJ plotsquare['??YÎJplotsquare[e]plotsquareplotsquare [e]plotsquareplotsquareûplotsquare2  ",A+1,1Text(27,A,sub("JJJJJJJ.              ….          plotsquareí﹢  ",A+1,1EndText(5,A+11,sub("[[JJ[i]Q' 'QplotsquareJJJJ JJJplotsquareQ' 'QplotsquareJJJJ  YQplotsquare('(plotsquareQY  'QplotsquareJJJJ 'QplotsquareJJJ 'QplotsquareJJJJ [[JJplotsquareQ'  ",A+1,1Text(0,A+11,sub("[[]]X[( |u[Î]]]?     [[ |u[Î]]]? [[.     .[[ |u[Î]]]? [[     |u[Î]]]? [[??Y[|u  ",A+1,1End{11,21,36,56,71,77For(A,1,6Line(Ans(A),0,Ans(A)+4,0End{31,42,51,62For(A,1,4Line(Ans(A),0,Ans(A)+1,0End14Line(2,⁻Ans,36,⁻AnsLine(Ans,⁻30,24,⁻30{2,Ans,26For(A,1,3Line(Ans(A),⁻22,Ans(A)+10,⁻22End12Line(Ans,⁻2Ans,Ans,⁻28Line(26,⁻2Ans,26,⁻28⁻16Line(0,Ans,0,⁻20Line(38,Ans,38,⁻20Line(⁻Ans,⁻12,19,⁻1313Line(22,⁻12,19,⁻AnsLine(40,⁻Ans,40,⁻61{1,15,37,15,1,21,37,21,Ans,23,25,23,Ans,29,25,29,15,Ans,23,AnsFor(A,1,10Pt-On(Ans(2A-1),⁻Ans(2AEnd⁻12Line(41,Ans,92,AnsLine(41,Ymin,92,YminLine(42,Ans,42,YminLine(92,Ans,92,YminStorePic 2Text(25,49,"GeneratingText(31,44,"board…pleaseText(37,48,"be patient…DelVar [A]{8,8→dim([A]For(A,1,8For(B,1,8randInt(1,7→[A](A,BEndEndRepeat [A]=[B][A]→[B]For(X,0,1For(A,1,8Matr►list([A],A,L₁not(DeltaList(DeltaList(L₁³→L₁For(B,1,6max(AnsIf L₁(BThenRepeat Ans≠[A](B+1,ArandInt(1,7→[A](B,AEndEndEndEnd[A]ᵀ→[A]EndEnd"[[i][[[(ẋXẋ(+([(+(X]X(°û[Q°J|u[|uJ(X[i][(→Str1For(A,1,8For(B,1,8For(C,0,7Text(7+6A,38+6B+C,sub(sub(Str1,5[A](A,B)-4,5)+"   ",C+1,1EndLine(92,⁻12,92,YminEndEndDelVar SDelVar T1→Z1→θRepeat K=45Line(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→KIf KThenLine(38+6Z,⁻7-6θ,42+6Z,⁻7-6θ,0Line(38+6Z,⁻13-6θ,42+6Z,⁻13-6θ,0Line(37+6Z,⁻8-6θ,37+6Z,⁻12-6θ,0Line(43+6Z,⁻8-6θ,43+6Z,⁻12-6θ,0EndIf K=21ThenIf S and T and (Z=S or θ=T) and 2>abs(Z-S)+abs(θ-TThenPt-Off(37+6S,⁻7-6TPt-Off(43+6S,⁻7-6TPt-Off(37+6S,⁻13-6TPt-Off(43+6S,⁻13-6T[A](T,S→A[A](θ,Z→[A](T,SDelVar FDelVar NA→[A](θ,ZRepeat not(MDelVar M[A]→[B]For(X,0,1For(A,1,8Matr►list([A],A,L₁not(DeltaList(DeltaList(L₁³→L₁For(B,1,6max(L₁If L₁(BThen1→M1→NFor(C,0,2{B+C,AIf X{A,B+CText(7+6Ans(1),38+6Ans(2),"     0→[B](Ans(1),Ans(2EndEndEndEnd[A]ᵀ→[A]EndIf MThen[B]→[A]If not(FThenFor(X,0,1{T,SIf X{θ,ZText(7+6Ans(1),38+6Ans(2),"     StorePic 1For(C,0,7If [A](Ans(1),Ans(2Text(7+6Ans(1),38+6Ans(2)+C,sub(sub(Str1,5[A](Ans(1),Ans(2))-4,5)+"   ",C+1,1EndRecallPic 1End1→FEndFor(A,1,8Matr►list([A],A,L₁DelVar O1→DRepeat 8=sum(L₁=L₂L₁→L₂9→BRepeat B<3 or not(L₁(BB-1→BEndIf not(L₁(BThenmax(B,D→DFor(C,B,2,⁻1L₁(C-1→L₁(CEnd0→L₁(1EndEndFor(B,1,DIf not(L₁(BThen1→OrandInt(1,7→L₁(BEndEndIf OThenList►matr(L₁,[B]rowSwap(augment([A],[B])ᵀ,A,9)ᵀ→[A]{8,8→dim([A]For(B,D,1,⁻1Text(7+6B,38+6A,"     StorePic 1For(C,0,7Text(7+6B,38+6A+C,sub(sub(Str1,5[A](B,A)-4,5)+"   ",C+1,1EndRecallPic 1EndEndEndElseIf not(NThen[A](T,S→A[A](θ,Z→[A](T,SA→[A](θ,ZEndEndEndDelVar SDelVar TElseIf S and TThenPt-Off(37+6S,⁻7-6TPt-Off(43+6S,⁻7-6TPt-Off(37+6S,⁻13-6TPt-Off(43+6S,⁻13-6TEndZ→Sθ→TPt-On(37+6S,⁻7-6TPt-On(43+6S,⁻7-6TPt-On(37+6S,⁻13-6TPt-On(43+6S,⁻13-6TEndEndZ+(K=26 and Z<-(K=24 and Z>1→Zθ+(K=34 and θ<-(K=25 and θ>1→θEnd`
Download attached. Tell me what you think! Also, test this to your heart's content, as this now has the main game mechanics!
Title: Re: Bejeweled 84+ progress thread
Post by: JWinslow23 on July 19, 2015, 08:52:53 pm
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.

(http://img.ourl.ca/Bejeweled84-4.gif)

Source code for the curious absolutely insane:
Code: [Select]
`G-TFullClrDrawAxesOffZStandard104→Xmax⁻72→YminZIntegerFor(A,0,74If A<11Text(51,A+15,sub("?Y°﹢.﹢°Y?  ",A+1,1If A<21Text(46,A+10,sub("?Y'([i]ÎQJ'['JQÎ[i]('Y?  ",A+1,1If A<25Text(41,A+8,sub("﹢[s]!!]:XX.χ[i][i][i]χ.XX:]!![s]﹢  ",A+1,1If A<22Text(36,A+8,sub("  .Jí[e]í[e]|u([s]:[s](|u[e]í[e]íJ. ",A+1,1Text(5,A+11,sub("[[JJ[i]Q' 'QplotsquareJJJJ JJJplotsquareQ' 'QplotsquareJJJJ  YQplotsquare('(plotsquareQY  'QplotsquareJJJJ 'QplotsquareJJJ 'QplotsquareJJJJ [[JJplotsquareQ'  ",A+1,1Text(0,A+11,sub("[[]]X[( |u[Î]]]?     [[ |u[Î]]]? [[.     .[[ |u[Î]]]? [[     |u[Î]]]? [[??Y[|u  ",A+1,1End{11,21,36,56,71,77For(A,1,6Line(Ans(A),0,Ans(A)+4,0End{31,42,51,62For(A,1,4Line(Ans(A),0,Ans(A)+1,0End14Line(2,⁻Ans,36,⁻AnsLine(Ans,⁻30,24,⁻30{2,Ans,26For(A,1,3Line(Ans(A),⁻22,Ans(A)+10,⁻22End12Line(Ans,⁻2Ans,Ans,⁻28Line(26,⁻2Ans,26,⁻28⁻16Line(0,Ans,0,⁻20Line(38,Ans,38,⁻20Line(⁻Ans,⁻12,19,⁻1313Line(22,⁻12,19,⁻AnsLine(40,⁻Ans,40,⁻61{1,15,1,21,37,21,Ans,23,Ans,29,25,29,15,Ans,23,AnsFor(A,1,8Pt-On(Ans(2A-1),⁻Ans(2AEnd⁻12Line(41,Ans,92,AnsLine(41,Ymin,92,YminLine(42,Ans,42,YminLine(92,Ans,92,Ymin"[[i][[[(ẋXẋ(+([(+(X]X(°û[Q°J|u[|uJ(X[i][(→Str1DelVar PDelVar V30→EStorePic 2Lbl ADelVar FRecallPic 2Text(15,2,PPt-On(37,⁻15Text(23,14,VPt-On(25,⁻23Text(25,49,"GeneratingText(31,44,"board…pleaseText(37,48,"be patient…DelVar [A]{8,8→dim([A]For(A,1,8For(B,1,8randInt(1,7→[A](A,BEndEndRepeat [A]=[B][A]→[B]For(X,0,1For(A,1,8Matr►list([A],A,L₁not(DeltaList(DeltaList(L₁³→L₁For(B,1,6max(AnsIf L₁(BThenRepeat Ans≠[A](B+1,ArandInt(1,7→[A](B,AEndEndEndEnd[A]ᵀ→[A]EndEndFor(A,1,8For(B,1,8For(C,0,7Text(7+6A,38+6B+C,sub(sub(Str1,5[A](A,B)-4,5)+"   ",C+1,1EndLine(92,⁻12,92,YminEndEndDelVar SDelVar T1→ZAns→θDelVar L₁→WRepeat K=45 or F≥E or L=15 and F<ELine(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→KIf AnsThenLine(38+6Z,⁻7-6θ,42+6Z,⁻7-6θ,0Line(38+6Z,⁻13-6θ,42+6Z,⁻13-6θ,0Line(37+6Z,⁻8-6θ,37+6Z,⁻12-6θ,0Line(43+6Z,⁻8-6θ,43+6Z,⁻12-6θ,0EndIf Ans=21ThenIf S and T and (Z=S or θ=T) and 2>abs(Z-S)+abs(θ-TThenPt-Off(37+6S,⁻7-6TPt-Off(43+6S,⁻7-6TPt-Off(37+6S,⁻13-6TPt-Off(43+6S,⁻13-6T[A](T,S→A[A](θ,Z→[A](T,SDelVar GDelVar NA→[A](θ,ZRepeat not(MDelVar M[A]→[B]For(X,0,1For(A,1,8Matr►list([A],A,L₁not(DeltaList(DeltaList(L₁³→L₁For(B,1,6max(L₁If L₁(BThenP+(3^M+2N+2→PText(15,2,PPt-On(37,⁻15F+(3^M+2N+2→FLine(41,⁻62,41,⁻62+min(49,49F/EN+not(M→NM+1→MFor(C,0,2{B+C,AIf X{A,B+CText(7+6Ans(1),38+6Ans(2),"     0→[B](Ans(1),Ans(2EndEndEndEnd[A]ᵀ→[A]EndIf MThen1→W[B]→[A]If not(GThenFor(X,0,1{T,SIf X{θ,ZText(7+6Ans(1),38+6Ans(2),"     StorePic 1For(C,0,7If [A](Ans(1),Ans(2Text(7+6Ans(1),38+6Ans(2)+C,sub(sub(Str1,5[A](Ans(1),Ans(2))-4,5)+"   ",C+1,1EndRecallPic 1End1→GEndFor(A,1,8Matr►list([A],A,L₁DelVar O1→DRepeat 8=sum(L₁=L₂L₁→L₂9→BRepeat B<3 or not(L₁(BB-1→BEndIf not(L₁(BThenmax(B,D→DFor(C,B,2,⁻1L₁(C-1→L₁(CEnd0→L₁(1EndEndFor(B,1,DIf not(L₁(BThen1→OrandInt(1,7→L₁(BEndEndIf OThenList►matr(L₁,[B]rowSwap(augment([A],[B])ᵀ,A,9)ᵀ→[A]{8,8→dim([A]For(B,D,1,⁻1Text(7+6B,38+6A,"     StorePic 1For(C,0,7Text(7+6B,38+6A+C,sub(sub(Str1,5[A](B,A)-4,5)+"   ",C+1,1EndRecallPic 1EndEndEndElseIf not(NThen[A](T,S→A[A](θ,Z→[A](T,SA→[A](θ,ZEndEndEndDelVar SDelVar TElseIf S and TThenPt-Off(37+6S,⁻7-6TPt-Off(43+6S,⁻7-6TPt-Off(37+6S,⁻13-6TPt-Off(43+6S,⁻13-6TEndZ→Sθ→TPt-On(37+6S,⁻7-6TPt-On(43+6S,⁻7-6TPt-On(37+6S,⁻13-6TPt-On(43+6S,⁻13-6TEndEndZ+(K=26 and Z<8)-(K=24 and Z>1→Zθ+(K=34 and θ<8)-(K=25 and θ>1→θIf W and F<EDelVar I1→LIf L and L<16ThenMatr►list([A],1,L₂For(A,2,8L₂→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,8If .3≤max(max(fPart(Ans10^⁻L₁),fPart(Ans10^⁻L₂))) or max(.3010299957=abs(DeltaList(log(abs(DeltaList(DeltaList(10^L₁Then16→L8→AElseL+1→LEndEndIf L=16 and I or L≠16[A]ᵀ→[A]L≠16→IEndnot(L→WIf L=15 and F<EThenClrDrawRecallPic 2Text(15,2,PPt-On(37,⁻15Text(23,14,VPt-On(25,⁻23For(X,0,1Text(⁻1,21,X+47,"NO MOREText(⁻1,29,X+53,"MOVESIf not(XStorePic 1EndRecallPic 1Text(37,49,"Press ENTERPause DelVar PDelVar V30→EEndEndClrDrawV+(F≥E→VE+15(F≥E→EIf K≠45Goto A`
Download here (http://www.cemetech.net/programs/index.php?mode=file&id=1332). Tell me what you think, and please notify me of any bugs, glitches, or feature suggestions!
Title: Re: Bejeweled 84+ progress thread
Post by: JWinslow23 on July 20, 2015, 07:33:24 pm
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!

(https://img.ourl.ca/Bejeweled84-5.gif)

Source code for the curious masochist:
Code: [Select]
`:"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<-(K=24 and Z>1→Z θ+(K=34 and θ<-(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.`