This game recreates the Casino Video Poker game - Jokers Wild (c)'97 inks The game features a variable number of different users at one time - ie. more than 1 person can have their scores stored in the calc. To do this, fill List 4 + List 5 with 0's. eg. 5 players - fill 5 0's in List 4 + 5. To add to existing usernames, just add 0's after existing List 4 + 5. * At Username screen F1-F6 = Users 1 to 6 (If user exists) Del = Delete previous letter Exe = Enter Username Alpha = HighScores Screen Note - Guest Mode entered if username is left blank * During Play F1-F5 = Hold Cards 1 to 5 F6 = Deal Alpha = HighScores Screen * HighScores Screen Alpha = next page Exe = Return Press AC to quit anytime. This game uses only one program file. Extensive jump codes are used. Alphabet Display = approx. 0.5k Graphics = approx. 1k Card Graphics = approx. 1k Card Dealing = approx. 1k Card Evaluation = approx. 1.5k Misc. = approx. 0.5k Game Size = 6.2k Known Bug = Jumps to wrong area in code. Results in MA Error. Very rare. Apparently cannot find loophole. This bug has only been encountered only 3 times in the past 1.5 months by 3 different people in my school. If anyone discovers anything about this bug, please email me. BTW, I think it's a calc bug. Anyone need more info, feel free to email me. Any bugs, comments, questions, problems, suggestions, etc. email me. Thank you for trying out my game. e-mail = inks@rocketmail.com Filename:Jkrs Wld (c)'97 inks Size=6350 bytes + 200 minimum (List File 5). Sorry it's big, but there is a .cat file around, for use with FA-122. There isn't a .cas format, because I didn't have time to use CAS, but if you have a cord, please use FA-122 (with .cat), then it's more reliable. .cat format can be obtained at http://personal.inet.fi/surf/jheinonen - Jaako Heinonen's calc site. This is NOT in ctf format. Sorry, but I don't know the full .ctf format. I still don't like the idea of having a .txt file, because it mucks some stuff up. If you can, PLEASE USE the .cat format with a pc-calc cable. Please, please, please! That way, there will be no typo errors, and it's not as tedious, and it is set up, ready to use. It will also be an exact duplicate, so There should be no bugs. OR, better still.. get the .cat file, and FA-122 program, then print the code of FA-122!! That way, there will be absolutely no confusion on the symbols and conventions used. SLIGHTLY different convention to .ctf format. -> the calculator button above AC (L button). => the jump arrow (shift-program-F3-F3). \r the polar variable r (to the right of ALPHA button). \th the polar variable theta (to the right of polar r button). / divide button (below AC button). * multiply button (below DEL button). <= smaller than or equal to (shift-program-F6-F3-F6) [under REL] >= larger than or equal to (shift-program-F6-F3-F5) [under REL]. <> not equal to (shift-program-F6-F3-F2) [under REL]. (-) The negative sign (NOT minus sign!) (left of EXE button). The different conventions... \* asterisk sign (F6-F4) [symb-*]. \=> press = then > (ie. type as '=>' NOT the jump arrow). \<= press < then = (ie. type as '<=' NOT the relational symbol). \i imaginary number {complex} (optn-F3-F1) [optn-cplx-i]. \ normal slash sign (F6-F5) [symb-/]. ; the fraction button (left of the F-D button). It might be a good idea to view the program code below using a fixed-width font such as Courier, Terminal, or Fixed-Sys. That way, there should be no confusion in the number of spaces needed. NOTE - Due to the calculator, most of the lowercase letters used in this text file cannot be manually inputed. Unless you have other programs with lowercase letters, or a pc-calc cable, you cannot get the lowercase letters, so use the .cat file with a pc-calc cable! :) a,b,c,d,e and r can be obtained by vars-F3-F3. n can be obtained through vars-F3-F1-F1. i can be obtained through optn-F3-F1 (slightly different). x can be obtained through vars-F3-F1-F2 (slightly different). y can be obtained through vars-F3-F2-F1 (slightly different). f,k,m,p can be obtained through Optn-F6-F6-F1. If you have the 9850+, v,z,t,s, and a few others can be obtained through Vars and Options (financial). HUGE IMPORTANT NOTE - There is a calculator bug that exists when entering codes by hand. If the file is too big, you may encounter a Goto Error at the first jump code. I do not know what causes it, and how to fix the problem. After you encounter that, the only way I know how to get the program working again is to delete lines from the bottom of the code until it works again, or to use a backup of the file, or START CLEAN!!! Ouch. Therefore, make BACKUPS frequently using FMEM!! The ' sign can also cause similar problems like this. Therefore, do not use any ' signs. NOTE - to initiate the game, you have to go to List FILE 5, under menu-List. Press Shift-Setup, then change List File to File5. Then fill List 6 with 0,0,0,0,0. fill List 4 and List 5 with 0's according to the number of USERS you want (read above). CODE - 0->A~N 0->\r 0->\th Norm ViewWindow 1,127,0,63,1,0 File5 {0,0,0,0,0}->List 1 {0,0,0,0,0}->List 2 {0,0,0,0,0}->List 3 List 6[4]=0=>{50,(-)50,3,(-)5,5}->List 6 'NOTE - if Arg Error is encountered, fill List 6 with five 0's.' Dim List 4->E E>Dim List 5=>Dim List 5->E Lbl A 0->K ClrText For 1->A To 7 " " Next Locate 6,2,"Jokers WILD" Locate 1,3,"v1.09 Primary Release" Locate 3,4,"International Ed." Locate 8,5,"by" Goto S 'NOTE - if Go Error is encountered, read HUGE IMPORTANT NOTE above.' Lbl B 0->D Getkey->B B=0 Or B=41 Or B=51=>Goto B For 21->C To 71 Step 10 B=C+8=>8-(C-1);10->D B>=C=>B<=C+5=>9->D Next If D>=1 And D<=6 Then If E>=D Then If List 4[D]<>0 Then 2->K Goto S IfEnd IfEnd IfEnd If B=44 Then 0->D If A<>1 Then A;100->A AFrac \r;A->\r Locate log A/2+10,7," " IfEnd IfEnd If B=31 Then 0->B Goto D IfEnd B=77=>Goto R D<>9=>Goto B A= 14=>Goto B Lbl C AB+\r->\r 100A->A log A/2+9->C 7->F Locate C,F,"\*" B=61=>Locate C,F,"." Goto T Lbl D 0->D If \r=0 Then 0->E Goto E IfEnd For E->C To 1 Step (-)1 \r=List 4[C]=>C->D Next If D<>0 Then D->\th \r->List 4[\th] \r-List 5[\th]->E Frac E;5<>0=>0->E E>=100000=>List 4[\th]->List 5[\th] E<=(-)10000=>List 4[\th]->List 5[\th] E->M Goto E IfEnd For E->C To 1 Step (-)1 List 4[C]=0=>C->D Next If D=0 Then "" Locate 1,6,"Sorry, " Locate 10+Int log E,6,"games are" Locate 8,6,E Locate 1,7,"already in progress." Stop Else D->\th \r->List 4[\th] \r->List 5[\th] 0->E IfEnd Lbl E 0->F Text 2,2,"ROYAL FLUSH" Text 2,51,"4000" Text 8,2,"5 OF A KIND" Text 8,55,"500" Text 14,2,"RYL FLSH WLD" Text 14,55,"350" Text 20,2,"STRGHT FLUSH" Text 20,55,"250" Text 26,2,"4 OF A KIND" Text 26,55,"100" Text 2,75,"FULL HOUSE" Text 2,120,"40" Text 8,75,"FLUSH" Text 8,120,"35" Text 14,75,"STRAIGHT" Text 14,120,"25" Text 20,75,"3 OF KIND" Text 20,120,"10" Text 26,75,"TWO PAIRS" Text 26,124,"5" Green Text 8,99,"INKS" 0->F Text 32,107,"PAID" Text 38,107,F Text 44,107,"CRED." Text 50,107,E PlotOff 1,1 For 11->A To 95 Step 21 Plot A-9,63 Plot A-9,56 Line Plot A+9,56 Line Plot A+9,63 Line PlotOn A-7,34 Plot A-6,33 Plot A+6,33 Line Plot A+8,35 Line Plot A+8,51 Line Plot A+6,53 Line Plot A-6,53 Line Plot A-8,51 Line Plot A-8,35 Line Next Plot 107,63 Plot 107,56 Line Plot 125,56 Line Plot 125,63 Line PlotOff 1,1 Lbl F Green Text 58,108," " Green Text 58,109,"Deal" For 11->A To 95 Step 21 PxlTest 61,A-1 If Ans=0 Then Text 58,A-7," " Orange Text 58,A-7,"hold" IfEnd Next Green Text 58,109," " Green Text 58,109,"Deal" Lbl G PlotOff 1,1 Do If Getkey=77 Then LpWhile 0 Goto R IfEnd LpWhile Getkey<>29 0->A 0->F G<>2=>Goto H Lbl I Isz A A<6=>Goto P B<>0=>Green Text (-)4+6B,67," " Lbl H 0->G Isz L E-5->E \r<>0=>List 4[\th]-E->List 5[\th] Text 38,107,"0 " Text 50,107," " Text 50,107,E PlotOff 1,1 For 1->A To 5 Int 53Ran# Ans->List 1[A] Next Lbl J 0->A For 1->C To 5 List 1[C]->List 2[C] Next Lbl K Isz A For 1->A To 4 SortA(List 2 If List 2[A]=List 2[A+1] Then List 2[A]->B Int 53Ran#->D D->List 2[A] 0->A For 1->C To 5 If B=List 1[C] Then D->List 1[C] Goto J IfEnd Next IfEnd Next Lbl L For 1->A To 5 List 3[A]->G Intg (List 1[A]-1);13->B B->List 2[A] List 1[A]-13B->List 3[A] List 1[A]=0=>0->List 3[A] G=53=>Next G=53=>A=5=>Goto Q 21A-10->H If B=(-)1 Then 0->List 3[A] Green Text 35,H-7,"J" Text 37,H-4,"o" Orange Text 41,H-1,"k" Text 44,21A-8,"e" Green Text 47,H+4,"\r" PlotOff 1,1 Else List 3[A]->C If B>=2 Then C>=2=>C<=9=>Text 37,H-1,List 3[A] C=1=>Text 37,H-1,"A" C=10=>Text 37,H-3,"10" C=11=>Text 37,H-1,"J" C=12=>Text 37,H-2,"Q" C=13=>Text 37,H-2,"K" If B=2 Then Text 45,H-3,"++" F-Line H,44,H,50 PlotOff H,47 For 45->D To 50 Step 5 F-Line H-1,D,H+1,D Next Else Text 46,H-2,"W" Text 44,H-1,"A" F-Line H+2,46,H+2,49 F-Line H,45,H,50 For (-)1->D To 1 Step 2 F-Line H-3D,47,H-3D,48 Next IfEnd Else C>=2=>C<=9=>Orange Text 37,H-1,List 3[A] C=1=>Orange Text 37,H-1,"A" C=10=>Orange Text 37,H-3,"10" C=11=>Orange Text 37,H-1,"J" C=12=>Orange Text 37,H-2,"Q" C=13=>Orange Text 37,H-2,"K" If B=0 Then Orange Text 45,H-1,"*" '''NOTE- use the multiplication (x) sign for * Orange F-Line H,44,H,50 Orange F-Line H-2,47,H+2,47 Else For 0->D To 1 Orange Text 43,H-3D,"c" Next For 0->D To 1 Orange F-Line H-3,45+D,H+3,45+D Next Orange F-Line H,47,H,50 Orange F-Line H-1,48,H+1,48 IfEnd IfEnd IfEnd PlotOff 1,1 G<>53=>Next G<>53=>F=1=>Goto Q Green Text 58,108,"DRAW" PlotOff 1,1 Fill(0,3 4->K Lbl N Do Getkey->B LpWhile Frac B;10<>.9 8-Int B;10->B If B=6 Then 1->A Goto O IfEnd PxlTest 61,21B-11 If Ans=1 Then Orange Text 58,21B-17," " Text 58,21B-17,"HELD" Else Text 58,21B-17," " Orange Text 58,21B-17,"hold" IfEnd PlotOff 1,1 Goto N Lbl O 0->D PxlTest 61,21A-11 If Ans=1 Then Int 53Ran#->B For 1->C To 5 B=List 1[C]=>1->D Next If A>1 Then For 1->C To A-1 B=List 3[C]=>1->D Next IfEnd If D=0 Then B->List 3[A] Lbl P 21A-13->H If List 2[A]=(-)1 Then Green Text 35,H-4," " Text 37,H-1," " Orange Text 41,H+2," " Text 44,H+5," " Green Text 47,H+7," " PlotOff 1,1 Else If List 2[A]>=2 Then Text 37,H," " For 0->C To 5 Step 5 Text 41+C,H+4," " Text 47-C,H," " Next PlotOff 1,1 Else Orange Text 37,H," " For 0->C To 5 Step 5 Orange Text 41+C,H+4," " Orange Text 47-C,H," " Next PlotOff 1,1 IfEnd IfEnd G=2=>Goto I IfEnd Else 53->List 3[A] IfEnd D=0=>Isz A A<6=>Goto O For 1->A To 5 List 3[A]<>53=>List 3[A]->List 1[A] Next 1->F Goto L Lbl Q SortA(List 2) SortA(List 3) 0->A~D 0->F~H For 1->A To 4 List 2[A]=List 2[A+1]=>Isz D List 3[A+1]-List 3[A]=1=>List 3[1]<>0 Or A<>1=>Isz B List 3[A]=List 3[A+1]=>Isz G Next G=2=>10->H D=4=>7->H If B=3 And List 3[1]=1 And List 3[2]=10 Then 8->H D=4=>1->H IfEnd If B=4 Then 8->H D=4=>4->H IfEnd For 1->A To 3 List 3[A]=List 3[A+1]=>List 3[A]=List 3[A+2]=>Isz C Next List 3[1]=0=>Isz C C=1=>List 3[1]<>0=>9->H C=1=>G=3=>6->H C=2=>5->H C=3=>2->H If List 3[1]=0 Then D=3=>7->H G=1=>9->H G=2=>C=1=>6->H If B=3 Then 8->H D=3=>4->H IfEnd If B=2 And List 3[5]-List 3[2]=4 Then 8->H D=3=>4->H IfEnd 1->G 0->B List 3[2]=1=>Isz G For 10->A To 13 B=0=>A<>10=>List 3[A-8]=A-1=>Isz G If List 3[A-8]=A Then 1->B Isz G IfEnd Next If G=5 Then 8->H D=3=>3->H IfEnd IfEnd 0->F If H=1 Then 4000->F Green Text 8,97,"WOW!" Green Text 14,107,"dBP" IfEnd If H=2 Then 500->F Green Text 14,107,"qB)" IfEnd If H=3 Then 350->F Green Text 14,107,"q=D" IfEnd If H=4 Then 250->F Green Text 14,107,"d=P" IfEnd If H=5 Then 100->F Green Text 14,107,"d=p" IfEnd If H=6 Then 40->F Green Text 14,111,"=p" IfEnd If H=7 Then 35->F Green Text 14,111,"=)" IfEnd If H=8 Then 25->F Green Text 14,111,"=]" IfEnd If H=9 Then 10->F Green Text 14,111,"=}" IfEnd If H=10 Then 5->F Green Text 14,111,"=\" '''NOTE - type '\' as '/' IfEnd If H=0 Then I>0=>0->I Dsz I Isz N 0->J Green Text 14,107," =(" Else I<0=>0->I Isz I F+J-5->J IfEnd If I>List 6[3] Then I->List 6[3] Green Text 14,107,"d=D" IfEnd If IList 6[4] Green Text 14,107," =C" IfEnd If J>List 6[5] Then J->List 6[5] Green Text 14,107,"dBp" IfEnd If F<>0 Then F+E->E H<>0=>H<=5=>Green Text (-)4+6H,67,"\<=" '''NOTE - type '\<=' as '<=' H>=6=>Green Text (-)34+6H,67,"\=>" '''and '\=>' as '=>' Text 38,107," " '''NOT as the relational symbol Text 38,107,F '''NOT as the jump arrow Text 50,107," " Text 50,107,E PlotOff 1,1 IfEnd \r<>0=>List 4[\th]-E->List 5[\th] E>List 6[1]=>E->List 6[1] EE->List 6[2] 53->B 0->D 2->G For 1->A To 5 Intg ((List 1[A]-1)/13)->List 2[A] Next H->B B>5=>B-5->B 1->A Goto F Lbl R D<>77=>ClrText Locate 2,1,"Highest Win " Locate 20-Int (log List 6[1]),1,List 6[1] Locate 2,2,"Highest Loss " Locate 19-Int log Abs List 6[2],2,List 6[2] Locate 2,3,"Streak Win " Locate 20-Int log List 6[5],3,List 6[5] Locate 2,4,"Win Streaks " Locate 20-Int log List 6[3],4,List 6[3] Locate 2,5,"Loss Streaks " Locate 19-Int log Abs List 6[4],5,List 6[4] Locate 6,7,"(c)'97 \inkS" If A=95 Then Do Getkey->D LpWhile D<>77 And D<>31 D=31=>Goto G Locate 2,1,"Username " \r=0=>Locate 16,1,"Guest" Locate 2,2,"Session" 1->D If E-M>=0 Then Locate 10,2,"Wins " Else Locate 10,2,"Losses " 0->D IfEnd If E-M<>0 Then Locate 19-Int log Abs (E-M)+D,2,E-M Else Locate 20,2,"0" IfEnd Locate 2,3,"Games Played " If L<>0 Then Locate 20-Int log Abs L,3,L Else Locate 20,3,L IfEnd Locate 2,4,"Games Won " If L-N<>0 Then Locate 20-Int log Abs (L-N),4,L-N Else Locate 20,4,"0" IfEnd Locate 2,5,"Your Credit " If E=0 Then Locate 20,5,E Else Locate 19.5-Int log Abs E+.5E/Abs E,5,E IfEnd If \r<>0 Then 1->F 3->K B->G Goto S IfEnd Lbl M G->B 2->G IfEnd Locate 6,7,"(c)'97 \inkS" Do Getkey->D LpWhile D<>31 And D<>77 D=77=>Goto R If A=95 Then Goto G Else Goto A IfEnd Lbl S If K=0 Then 11->H 5->F 43356455->\r IfEnd If K=2 Then List 4[D]->\r Locate 10,7," " 10->H 7->F IfEnd \r->A (Int log A+1)/2->D K=3=>21-D->H For 0+H->C To D+H A/100->A 100Frac A->B Int A->A Lbl T B=76=>Locate C,F,"a" B=66=>Locate C,F,"b" B=56=>Locate C,F,"c" B=46=>Locate C,F,"d" B=36=>Locate C,F,"e" B=26=>Locate C,F,"f" B=75=>Locate C,F,"g" B=65=>Locate C,F,"h" B=55=>Locate C,F,"i" B=45=>Locate C,F,"j" B=35=>Locate C,F,"k" B=25=>Locate C,F,"l" B=74=>Locate C,F,"m" B=64=>Locate C,F,"n" B=54=>Locate C,F,"o" B=73=>Locate C,F,"p" B=63=>Locate C,F,"q" B=53=>Locate C,F,"r" B=43=>Locate C,F,"s" B=33=>Locate C,F,"t" B=72=>Locate C,F,"u" B=62=>Locate C,F,"v" B=52=>Locate C,F,"w" B=42=>Locate C,F,"x" B=32=>Locate C,F,"y" B=71=>Locate C,F,"z" K=1=>Goto B Next If K=0 Then Locate 11,5,"\i" Locate 14,5,"S" Locate 1,7,"Username(-)" 1->A 1->K 0->\r 0->H Goto B IfEnd If K=2 Then  2D->A 1->K 0->H Goto B IfEnd If K=3 Then 95->A Goto M IfEnd bugs..problems..questions..comments..Email inks@rocketmail.com