home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 21
/
021.d81
/
cryptogram
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
4KB
|
129 lines
5 gosub10000: rem title screen
10 dimc$(90):sr=0:poke56,100
12 bc=53281:co=54232:i=55296:pokebc,1
14 a=65:y=1064:g=y:h=y:z$="":k=30000:d=0:z=-1:m=k:f=y:r=1024
16 s=54272:forl=stos+24:pokel,0:next
18 v=s+24:pokev,15
20 wv=s+4: ad=s+5: sr=s+6: oc=1: dx=2
22 hf=s+1: lf=s: ps=s+2: p2=s+3
24 tw=16:rr=33:xx=128:yy=255:gosub194
26 fort=49152to49280:readrx:poket,rx:next
28 print"[147]"chr$(142)chr$(8)"would you like a random code? y/n"
30 geta$:ifa$="y"then36
32 ifa$<>"n"then30
34 goto48
36 print," randomizing"
38 tp=89:x=26:dimf(90):fortt=65to90:f(tt)=tt:next
40 fort=65to90:rn=int(rnd(1)*x)+65
42 c$(a)=chr$(f(rn))
44 forty=rntotp:f(ty)=f(ty+1):next
46 tp=tp-1:x=x-1:a=a+1:next:goto72
48 print"[147][156]please type in your keyboard !symbol!"
50 print"for each letter of the alphabet"
52 fort=1to26:print,chr$(a);
54 input c$(a)
56 ifc$(a)=""thenprint"no blanks allowed: redo":goto54
58 for check=a-1to65step-1
60 ifc$(a)=c$(ch)thenprint"symbol already used: redo";:goto54
62 iflen(c$(a))>1thenc$(a)=left$(c$(a),1)
64 next:a=a+1:next
66 print"[147] here is your completed code:"
68 fort=65to90:print,chr$(t)" = "c$(t);
70 next
72 print:print" now type in the message you wish to"
74 print,"[157][157]encode. (max: 6 lines)"
76 print,"[157][157]do not type return[146] until"
78 print,"message is complete"
80 print,"[157]press any key to start"
82 geta$:ifa$<>""thenprint"[147]":goto86
84 goto82
86 print"":fort=1to40:print"[192]";:next
88 print" don't type below this line"
90 geta$:ifa$=""then90
92 ifa$<>chr$(13)thenprinta$"[164][157]";:g=g+1:goto90
94 print" [157] "
96 fort=ftog-1:pe=peek(t)
98 pokem,pe:m=m+1:next
100 input" now press return to start game";a
102 print"[145] "
106 print"[147]":m=k:g=g-y
108 fort=1tog:n=peek(m)
109 ifn>26thenprintchr$(n)"[145][157]"chr$(n)"";:m=m+1:goto112
110 printc$(n+64);:m=m+1
112 d=d+1:ifd=40thenprint"";:d=0
114 next:tx=ti
115 gd$=""
116 printgd$"\ to check ";" * for hint ";
118 print" ^ to blank";
120 f=1024:cc=i:h=y:k=30000:m=k:print" change [146] ";
121 print" [157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
122 getz$:ifz$=""then122
123 ifz$=chr$(13)thenprint"(c/r) to ";:goto126
124 ifz$="\"then146
125 printz$" to ";
126 getx$:ifx$=""then126
127 ifx$=chr$(13)thenprint"(c/r)";:z=asc(z$):x=asc(x$):goto130
128 printx$:z=asc(z$):x=asc(x$)
130 ifx=92then146
132 ifx=42 thengosub208
134 ifz<64thenz=z+64
136 ifx<64thenx=x+64
138 poke49408,z-64:poke49409,x-64
140 sys49152:goto116
146 print""," checking [146]":e=0:forcr=0tog-1
148 ifpeek(e+r)<>peek(k)then184
150 e=e+1:ife=40thene=0:r=r+120
152 k=k+1:next
154 sr=100:tz=ti:tm=int((tz-tx)/3600)
155 tm=int((tz-tx)/3600):ts=int((tz-tx)/60)
156 print"[147]"," congratulations! "cb$:oc=8:dx=1.6:gosub190
158 print" you solved the cipher in "
159 print" "tm"minutes and"ts"seconds."
160 print" you get 100 points for solving it"
162 sc=30-tm
164 iftm>30then182
166 print" plus"sc*2"bonus points for solving it in"
168 print,"less than 30 minutes"
170 ifhn>0thenprint" minus"10*hn"for the"hn"hint(s) you had"
172 print" for a total of "sr+sc*2-hn*10" points"
174 print," play again? y/n"
176 geta$:ifa$="y"thenclr:restore:goto10
178 ifa$<>"n"then176
180 load"hello connect",8:end
182 print"minus"sc"points for taking more than 30 minutes":goto170
184 fordl=1to500:next:print"","nope. keep trying."
186 fort=1to2000:next
188 print,"[145] ":goto116
190 restore
192 tw=25: rr=65: xx=64: yy=138
194 pokead,xx:pokesr,yy:pokes+2,128:pokes+3,1
196 forsg=1totw
198 readaa,bb,dd:ee=(aa*256+bb)*oc:az=ee/256:ax=int(az):bx=(az-ax)*256
200 pokehf,ax:pokelf,bx:pokewv,rr
202 fort=1to130*(dd/dx):next:pokewv,rr-1
204 fort=1to25:next
206 next:fort=1to25-tw:readaa,bb,dd:next:return
208 tw=4:rr=17:xx=64:yy=138:hn=hn+1
210 print"[156]","hint number"hn
212 oc=32:restore:gosub194
214 print,"[145] "
216 return
218 data 1,250,1,2,90,2,2,125,1,2,163,6,2,246,1,3,35,6,2,125,1,2,163,2
220 data 2,246,1,3,35,2,4, 48,1,3,244,2,2,163,1,3,35,1,3,244,1,3,187,14
222 data 3,134,.5,3,35,.5,2,163,.5,1,250,.5,2,90,8
224 data1,250,1,2,90,2,2,125,1,2,163,8
226 data 162,0,169,40,133,78,169,4,133,79,169,0,133,80,169,216,133,81
228 data 160,0,177,78,205,0,193,240,38,232,200,192,40,240,3,76,20,192
230 data 24,165,78,105,120,133,78,165,79,105,0,133,79,24,165,80,105,120
232 data 133,80,165,81,105,0,133,81,76,103,192,56,165,78,233,40,133,78
234 data 165,79,233,0,133,79,32,108,192,145,78,169,9,145,80,24,165,78
236 data 105,40,133,78,165,79,105,0,133,79,76,27,192,165,79,201,7,208
238 data 165,96,173,1,193,201,30,240,5,201,42,240,4,96,169,32,96
240 data 189,48,117,96
10000 rem title screen
10002 poke53280,5:poke53281,1
10005 print"[147][144]"spc(10)"*** [195]ryptogram ***"
10010 print""spc(14)"[215]ritten by"
10015 print""spc(13)"[205]ark [202]ordan"
10030 return