Files
2026-08-27 11:04:42 -06:00

42 lines
1.3 KiB
Python

import random
try:
from .rand import rand_var, rand_case, rand_words, rand_label
except ImportError:
from rand import rand_var, rand_case, rand_words, rand_label
def make_junk_var():
return f'%{rand_var()}%'
def make_set_cmd(var_name, value, obfuscate=True):
set_cmd = rand_case('set')
if obfuscate:
fmt = f'{set_cmd} "{var_name}={value}"'
prefix = make_junk_var() if random.random() > 0.5 else ''
return f'{prefix}{fmt}'
return f'{set_cmd} "{var_name}={value}"'
def make_goto_cmd(label):
goto = rand_case('goto')
g = goto[0] + make_junk_var() + goto[1] + make_junk_var() + goto[2:]
return f'{g} :{label}'
def make_rem_line():
rem = rand_case('rem')
style = random.choice(['rem', '::', 'rem_junk'])
if style == 'rem':
r = rem[0] + make_junk_var() + rem[1:]
return f'{r} {make_junk_var()} {rand_words()}'
elif style == '::':
return f'{make_junk_var()}:: {make_junk_var()} {rand_words()}'
else:
r = rand_case('rem')
return f'%{rand_var()}%{r} %{rand_var()}% {rand_words()}'
def make_junk_block():
lines = []
next_label = rand_label()
lines.append(make_goto_cmd(next_label))
for _ in range(random.randint(1, 3)):
lines.append(make_rem_line())
lines.append(f':{next_label}')
return lines