Mini-Robo-Mixer
#1
Mini-Robo-Mixer generates a sprite sheet of robots.

Code: (Select All)
'Mini-Robo-Mixer v0.1
'By James D. Jarvis November 2022
'This program uses BASIMAGE coded by Dav for QB64GL 1.4, MAY/2020
'
'generate a sprite sheet of monsters
'each is 64 by 64 pixels but code here can be modified to change that
'
'press c or s to save a sprite sheet to the clipboard so you can paste it into a paint program
'and save is whatever format you desire
'pres <esc> to quit
'
'License: Share sprite sheets as long as they include generated credit bar in image
'any programs using original code or graphics from source or generated by program
' please include the following (or equivalent) line somwhere in comments and documentation:
'Includes Art and/or Code from Mini-Robo-Mixer v0.1 created by James D. Jarvis
'
Randomize Timer
Dim Shared ms&
ms& = _NewImage(512, 360, 32)
Screen ms&
_Title "Mini-Robo-Mixer V0.1"
Dim Shared part&
Dim Shared kk1 As _Unsigned Long
Dim Shared kk2 As _Unsigned Long
Dim Shared kk3 As _Unsigned Long
Dim Shared kk4 As _Unsigned Long
Dim Shared kk5 As _Unsigned Long
Dim Shared kk6 As _Unsigned Long

Dim Shared clr~&
part& = BASIMAGE1&

Type robobody_type
    head As Integer
    larm As Integer
    rarm As Integer
    torso As Integer
    leg As Integer
    k1 As _Unsigned Long
    k2 As _Unsigned Long
    k3 As _Unsigned Long
    k4 As _Unsigned Long
    k5 As _Unsigned Long
    k6 As _Unsigned Long
    xsiz As Integer
    ysiz As Integer
End Type
robot_limit = 40
Dim klrset(12, 3) As Integer
Dim Shared rlook(robot_limit) As robobody_type
_Source part&
'read the colors from the color reference bar whichever color is in the top left corner will be transparent
clr~& = Point(0, 0) 'find background color of image
kk1 = Point(0, 1): kk2 = Point(0, 2): kk3 = Point(0, 3): kk4 = Point(0, 4): kk5 = Point(0, 5): kk6 = Point(0, 6)
_Dest part&
Line (0, 0)-(0, 8), clr~& 'erase the color reference bar from the bit map
_ClearColor clr~&, ms& 'set background color as transparent
_ClearColor clr~&, part&
_Source ms&
_Dest ms&
Do
    Cls
    'build a color set for the sprite sheet
    For k = 1 To 12
        klrset(k, 1) = Int(Rnd * 100 + 150)
        If Rnd * 7 < 3 Then klrset(k, 2) = klrset(k, 1) Else klrset(k, 2) = Int(Rnd * 100 + 150)
        If Rnd * 7 < 3 Then klrset(k, 3) = klrset(k, 1) Else klrset(k, 3) = Int(Rnd * 100 + 150)
    Next k
    mmx = 0: mmy = 0
    For m = 1 To robot_limit
        'create a new set of monster sprites
        'included image source has 16 options for head,arms,torso, and legs
        rlook(m).head = Int(1 + Rnd * 20)
        rlook(m).larm = Int(1 + Rnd * 20)
        If Rnd * 10 < 3 Then rlook(m).rarm = rlook(m).larm Else rlook(m).rarm = Int(1 + Rnd * 20)
        rlook(m).torso = Int(1 + Rnd * 20)
        rlook(m).leg = Int(1 + Rnd * 20)
        'determing colors for this specific monster sprite
        kp = 1 + Int(Rnd * 12)
        kr = klrset(kp, 1): kg = klrset(kp, 2): kb = klrset(kp, 3)
        kr2 = Int(kr / 2): kg2 = Int(kg / 2): kb2 = Int(kb / 2)
        kp = 1 + Int(Rnd * 6)
        kr3 = klrset(kp, 1) - 5: kg3 = klrset(kp, 2) - 10: kb3 = klrset(kp, 3) - 15
        kr4 = Int(kr3 / 2): kg4 = Int(kg3 / 2): kb4 = Int(kb3 / 2)
        kp = 1 + Int(Rnd * 6)
        kr5 = klrset(kp, 1) - 20: kg5 = klrset(kp, 2) - 15: kb5 = klrset(kp, 3) - 7
        kr6 = Int(kr5 / 2): kg6 = Int(kg5 / 2): kb6 = Int(kb5 / 2)


        rlook(m).k1 = _RGB32(kr, kg, kb)
        rlook(m).k2 = _RGB32(kr2, kg2, kb2)
        rlook(m).k3 = _RGB32(kr3, kg3, kb3)
        rlook(m).k4 = _RGB32(kr4, kg4, kb4)
        rlook(m).k5 = _RGB32(kr5, kg5, kb5)
        rlook(m).k6 = _RGB32(kr6, kg6, kb6)




        draw_robot mmx, mmy, m, 6
        mmx = mmx + 64
        If mmx >= _Width Then
            mmx = 0
            mmy = mmy + 64
        End If
    Next m
    md$ = "Robot Sprite Sheet generated " + Date$ + " at " + Time$
    md2$ = "Mini-Robot-Mixer V0.1 by James D. Jarvis"
    _PrintString (0, 321), md$
    _PrintString (0, 337), md2$
    Do
        _Limit 60
        kk$ = InKey$
    Loop Until kk$ <> ""
    If kk$ = "C" Or kk$ = "c" Or kk$ = "S" Or kk$ = "s" Then
        _ClipboardImage = ms&
        _Delay 0.3
        Locate 1, 1: Print "Sprite Sheet Saved to Clipboard"
        Sleep 3
    End If
Loop Until kk$ = Chr$(27)
_FreeImage part&
System




Sub draw_robot (Mx, my, mid, scale)
    'generate a monster image from source sprite sheet part& and render to the programs main screen ms&
    tempi& = _NewImage(64, 64, 32)
    'tempi& creates a temporary one sprite image for rendering
    _ClearColor clr~&, tempi&
    _Dest tempi&
    Cls

    _PutImage (0 + 16, 12 + 16)-(31 + 16, 43 + 16), part&, tempi&, ((rlook(mid).leg - 1) * 32, 64)-((rlook(mid).leg - 1) * 32 + 31, 64 + 31)
    _PutImage (0 + 4, 0 + 8)-(31 + 4, 31 + 8), part&, tempi&, ((rlook(mid).larm - 1) * 32, 96)-((rlook(mid).larm - 1) * 32 + 31, 96 + 31)
    _PutImage (0 + 28, 0 + 8)-(31 + 28, 31 + 8), part&, tempi&, ((rlook(mid).rarm - 1) * 32, 128)-((rlook(mid).rarm - 1) * 32 + 31, 128 + 31)


    _PutImage (0 + 16, 0 + 16)-(31 + 16, 31 + 16), part&, tempi&, ((rlook(mid).torso - 1) * 32, 32)-((rlook(mid).torso - 1) * 32 + 31, 32 + 31)


    _PutImage (0 + 16, 0)-(31 + 16, 31), part&, tempi&, ((rlook(mid).head - 1) * 32, 0)-((rlook(mid).head - 1) * 32 + 31, 0 + 31)

    _Source tempi&
    'repaint source image with generate color values for new monster sprite
    For y = 0 To 63
        For x = 0 To 63
            Select Case Point(x, y)
                Case kk1
                    PSet (x, y), rlook(mid).k1
                Case kk2
                    PSet (x, y), rlook(mid).k2
                Case kk3
                    PSet (x, y), rlook(mid).k3
                Case kk4
                    PSet (x, y), rlook(mid).k4
                Case kk5
                    PSet (x, y), rlook(mid).k5
                Case kk6
                    PSet (x, y), rlook(mid).k6
            End Select
        Next x
    Next y
    'generated image in tempi& is rendered to ms& as a 64 by 64 sprite

    _PutImage (Mx, my)-(Mx + 63, my + 63), tempi&, ms&
    _Source ms&
    _Dest ms&
    _FreeImage tempi&
End Sub

'================================
'PNG file saved using BASIMAGE1&
'================================
'EXAMPLE USAGE OF BASIMAGE1&
'===========================
'SCREEN _NEWIMAGE(600, 600, 32)
'pic& = BASIMAGE1&: _PUTIMAGE (0, 0), pic&

Function BASIMAGE1& 'robo01.png
    v& = _NewImage(640, 160, 32)
    Dim m As _MEM: m = _MemImage(v&)
    A$ = ""
    A$ = A$ + "haIkM^P]SScZ5^W4o3]<9k9Y_gDM9K46dC#XH_mJ]G9Wh78Q#`WUCZjOnWoi"
    A$ = A$ + "hOPPPPPPPPPN=jkFd]1XadW?OnSR^M01]JURmaL088XE9NNWEW7bJko_oko6"
    A$ = A$ + "^?]mn^>[jgmaEd]G_7oCKX>8d:EDinh]Q_i^BaoAkCPF[NbloooAdcMnTRPA"
    A$ = A$ + "gGN:SolJ^JKNfNncen?A75DWfNfH]e=NOTmj]mogeaTojCBlH`[a#oSmPPnZ"
    A$ = A$ + "D<fGf;ZFM\GdlO?InSMFWnLQjN?YaQIZ;Cm<Ag?l:6PCnhiH_D=GMOoQ;iT>"
    A$ = A$ + "SiY[aeI\?kcj`fo2gS0Wi[E6#cmoM8?S3;5kmTb12]?:KMWo;kE:WcOh`2hn"
    A$ = A$ + "aSPoCKM0nEOn?cHkJO^?fVEkk1c1>:7gCNmoTHolT1\F=gokH^_O;c;9bnYa"
    A$ = A$ + "oe93h8\B[>gC;lON_nOJ[m[5[1k8aRBm?`oi_6Yn;M^YW]1_kcd>R4oGB[Q3"
    A$ = A$ + "86n7]e1`[kkWKOjj]B[kAoLgjk<95GLh`h#6gG9f_5T3NERbl=bjhm4Gk_B\"
    A$ = A$ + "ON`0B[gVHYUHZo`P`^63\9>dEn_>[9aOn?[jnOC]C]f[#J87RmTbc<gj_>B\"
    A$ = A$ + "hGUnNKbonK26#oRc^Fk7mL?UH0]86Xfj?iC]gkC^:aoI53XdmbAGg?9O0mL]"
    A$ = A$ + "lN0KIM0n:_VoAciFRoc;6`?WS[7WekXa6l?gbH_^Io8<PNi;llN?h\K_In_k"
    A$ = A$ + "YNZUoe660YikB\Oef_5i3lUo[mfV6kgZI0WmHV9NhFOF9_SefFRoS>>`SglZ"
    A$ = A$ + "=hALe<]5?bo>2kG96`Ic7AkSJ\?liPFF3VoMm[EIbmnNLaSCi=iao7llP7fm"
    A$ = A$ + "L0h[3#BYmco<;biGKLh]`o=J\WGnR<63WckO6OM`cWD?o7ho\Wok?nek=8aL"
    A$ = A$ + "2GS3Fboa6c9aMgnLWb1XanA[ohI\P57c<a3gWc?>kMGSo2QKGihT25]_=djh"
    A$ = A$ + "K?7kX]3?Smha#I\ODWlQlWYa0>fhnmjk]\I57HbfJeLXSelfkdfn#Nmo:9ji"
    A$ = A$ + "j9kWH\0Y6P]aSgikTTG\gWn1VXlOl?GjJ<Jo^fmLY9[io:bnMF?`jen\lhL;"
    A$ = A$ + "a5NFCNE:?OC9n?Kj_BlO7\[KJN_fnocWI#<a5CW0[aRH#B]3]kmfjJ`BSkS8"
    A$ = A$ + ";K7ReIM<7#^?P<FO8`oafGDlO[PmC:^cbO;0OnLWg8SeSnZbWMS7I#n_JcgZ"
    A$ = A$ + "]i=o7gFFboeBkb[H=N<g=>?:oWhWi;oWdh\7lOdLJB<7JaLdcMnahkLMb]U5"
    A$ = A$ + "bo9977cCm5jgeRcn=i_e>??VG\:nBAV?^cGP5d6kBNfJ5hoX=UcmKDl`>`o]"
    A$ = A$ + "J^[TODSkZU]DkHTJ_Ja29fZcb2\?cEn_^Teim^ZYEBdSaJO`g=YJ?l?KNV7f"
    A$ = A$ + "jNXUgYdWab1eK<hYoTXVi09Wc\S5ehodR;N2lOdloWS]BSk2g7`O>W9KKdib"
    A$ = A$ + "Uh^eWGVG?ZKkOLokMI[lOBGSA7S5G[[lIU^olOUV?:9kZoMWWWbjAc7`o<?^"
    A$ = A$ + "GPKn1Uh?oV7FPm[B^gi]]L<LbVRkc`lBlkWjRkkCamIoH#KKfe_?4[k[]n?B"
    A$ = A$ + "L0cTo[UnoZlmIin[TkajiR]TgCZ]HNo^Sh_Il3iM5aAhV4WKOHONYLNUb5J`"
    A$ = A$ + "HAYJ`edSToCZ>T`WmWcIRf6?6\genMVH_FR3:=gdJV;a#lFV1JHN8BWkJLFL"
    A$ = A$ + "mo]a7<cl>?IPK9^cniPgWOUV?L>_H1<POgXO^4oW7nQC6?]i0BO^;S3\B<TY"
    A$ = A$ + "4d?c;n_T=dhohkoY`oEM>QQajZf[CI7oGoX?lJWS4gEbGO;o_dOK`joU^VoG"
    A$ = A$ + "X7kJCRnX_obf7W][IiohSodiJIciHSooblOlkk?[n2mE5NPccK`f7?6VVcSc"
    A$ = A$ + "LYaPA_6Fi_kMmo\`^gZgeZlPkYF27Sl1B[g7GB[oWdah23LQofleN#lN^>bI"
    A$ = A$ + "0Yc5MXVH[[1Q7imbFS?j`Ka?cAn_3QQObWIClFncoMdeoSN]<;nW5gkEN7=Y"
    A$ = A$ + "=Gg3KM[nOJLVIkCgSQeo?cmcRa:ZK7kllORiP:mjamnO_aPS`L[9;67^GCi:"
    A$ = A$ + "Gggg;aoiiLPEaoIaVelOY[YdkYO6mJHUoNU[oGnL#Fm]JbhJoT>gAJ^NZ^Ln"
    A$ = A$ + "lOKl1Dn__Gedcl>mjaWLn_B7S9coYmo?imEY?c^koG8gkWfGo?OR5mkkmFAK"
    A$ = A$ + "bLeGajljOnmm_ZUQOgVkeiV[]3N=FJTg2ZmachiE=`KL87YYIL6SknUIS3_U"
    A$ = A$ + "gWnZT4?Vihobl3]\^O:mkN[1W^6SllNhc1lSokB[ToK5iN[UW_G=B<8=6>bW"
    A$ = A$ + "oK:WF?[oggcana3QJOBbYJOTTOIccYO6e7<[=CcYhLMd?_USa<n?QJ1d?>_6"
    A$ = A$ + "QE[iX<ogaAmeoc[jRIS?>4_Y6oO6OOUGWN?hNbO8aQYU3`J^;A6#UHa\L#Nf"
    A$ = A$ + ">HfWjkm>NhFOo_bUal9U9lO9g]``n=MkHWWo;Ol_\:aneKMhJlO]\IFNHRRN"
    A$ = A$ + "moThQLO=WH\Hda6jWYM>Se6b]I?KdfRUnl8Fo?nL`KcgM>gKYlnJeQ\ToSce"
    A$ = A$ + "mi_]SE\nOeFoU\aP?lmI1gI16`KnNilaN5;^Ln_4WAF^G6og:V3DIc[k5W7h"
    A$ = A$ + "UOoGifO9nPD]>J4gRR5FALnf`o9:QhOUS[?KNM^jaQ]cnIAL?_fK[c1]ZmXc"
    A$ = A$ + "oMY#ho8cmSPoS>Wg3n?No]4o_GOWoUR7mL]VkMNQUaiEW3TbicGgo<64KR5_"
    A$ = A$ + "5S;XElmo;[O;lncHmCGSMnQRiKime5T?FLlIAel?m7dl:4onE>7__g[;F<ng"
    A$ = A$ + "e>?W;NS1lfh_oiP4_GGZFDn?]ijNdO;UKY5i3oGNMXb<Pf\nOJc3FA=XNh0m"
    A$ = A$ + "X]Xco5ljoIH]VRaNK0o7GJ\G[P7R67B]_GfC<ND8^gKKfBn#;_W[An^O8YAK"
    A$ = A$ + "?ReKi_WoW2eS]:fGT3\0gWWL8AM?8I<PWiOF;oA4co^7;hOM_B]QCkN\FOoU"
    A$ = A$ + "ooN<_WnkKlo:im\L>A9V>YLLJ7KOfljL;e^Faj]DJl#Zn[WilX>VMImohgoY"
    A$ = A$ + "mnjblONolOg]h?9koFho:IK?J3K5o7MR>m__jhggg7K__\KeO:`liM^7U2=["
    A$ = A$ + "]60g3\HnSEcn2kon\O9VBIn_ee^R^nk:7o[ike63nUkoURW6AoJmoNK3AJkW"
    A$ = A$ + "Hn_JcejQmKTff9kgTlOnM_Ia<n7=oGdmO8XXEdaoAKoMdgoVl1##[#]N__e^"
    A$ = A$ + "7hA]]EK?Yl2k3ogL?W;888888XO7]ZkoJWGokgPoOTf#dn68888888888888"
    A$ = A$ + "888888888888888888888888888888888888888888888888888888888888"
    A$ = A$ + "8888888888888888888888888888888888888888888888888Xheokomo2_="
    A$ = A$ + "0111mTdW?O<AoZfOff1looff_gfe^=?<Rfb>d_OJaOA?no[e_OJcoKY=\ZnH"
    A$ = A$ + "4S1A?^oF]og[a\Kcd>nN^okon_C9[l3e\SUmkMboo]5<UVdnAfo;??l#imnT"
    A$ = A$ + ";nPZ6llFg>Bm]S:]5;m1A>oG\_>X\XnG[iMl:^OeiModHLnZW;L=Oo_bXLMS"
    A$ = A$ + ">Nhah]HoL:I1o7cOGm_o]So5kom4eo#h?fMn??jgkToO;ho>[5dok]JL8We["
    A$ = A$ + "L^>?^o_JLGNGcC\cj\mSJn?]o>[m]P1<i7>4JGWakIS;nDokkEnd_Fimc?_g"
    A$ = A$ + "FIGN0Uim6T_KTi4FU[G]_V6?EN]dn^hbN6lOdn\Jn63Roejo]^i2oWhLbjkc"
    A$ = A$ + "TlNT=NNEalQTSmY`oeMM7SlogVOeZ<8><SoK`g?Mo_I^?^<NMh3RoK4f?[J3"
    A$ = A$ + "WiMo8K1J>G]mgKKPgOCiJ6iENNZIF;bMPoK5ggmMnVfRedTE[5#Ci0<8WG[n"
    A$ = A$ + "VlLCfD_E\oN0n_MImoJMcZno>aoAO=U;Tn<YXi3Y_2n?3iohSbliLB7[5lOC"
    A$ = A$ + "\=jjoDWkkSbkU>^iGoWj5OXeoMTk\Af_T\HnO:Njh_aSYGYeOhkk\6DWfGRo"
    A$ = A$ + "K4AI1MWocXhnJf?2n_IH0]\=edD_\LPfolHK]nSU[eiXaoGnliK?R[3A]ofQ"
    A$ = A$ + "hOJ>7enkPiMJI\8]E]V_Qa0TP:QiHeg7Fo?KloK3ogW6O_1aQaboe7bEM=;7"
    A$ = A$ + "J^T6WedDnO`oMnJ[SeL>`TneGo?^?_dk]ToK46#[IBKJ\Wf2<doGf_HC>?]n"
    A$ = A$ + "<MnG6CGSomXin^eF>m[lj;:o]3ao[hnO:=FTfNSlOdGCi2ajo50ogAQiNB7k"
    A$ = A$ + "\l7IaGmoniho\P3ljJ=DoO2f[33h_4kD_<n_\jJ=8:c8M7^boUjeO6?^_VmG"
    A$ = A$ + "Am?Yki[GK[UKfEn_Ki5meoc_7?[j[ln<=^W??XUof:OaI]8^oFl_mignF_bF"
    A$ = A$ + "kOOnPfO?KMGaiRRim[_?\nOfhog2n_NT1aQIlO3nNoFo_?ImaF>nQjoBjUbo"
    A$ = A$ + "A5=7#R1DjHVe_CIiJ=f?KNhOo#;l3ZccYS9C4g?Rm]VoCdo?hVUnoRihhJ`i"
    A$ = A$ + "k3?n;\iMM_E478>6TiSEnK3mmmhClb^Po3[ogXKVao=Z\PoKamo]Wo[3F<Gh"
    A$ = A$ + "ojP3d<n?B^N]koSKM[ho6ADfA[hohmgEcoUlY]lN;SkVI<HilOC<O_Vo7lO2"
    A$ = A$ + "nIYoNAlONhc;egCKeR5\b7\ClOln^DnOYS5lOPoK\iKBon>bo<J>^J7[KlOE"
    A$ = A$ + "hcV=>L66#;\m>`o=j[;Uo;K<IMl7NDgG:VK6f_ImoGi4JMZWOnNJ\MFm7bH_"
    A$ = A$ + "5in_=okPmlMKl_]fG8bkMhS__fhQ5eJj9f;]m6ioX_VVO_3[oWTM]:Fh3Y?n"
    A$ = A$ + "QeOUTfa?KLGJNEc[;6klV>nk39VZcg?Zm;gG5hR[LlF>n;U3ZdaJBNPFUA\O"
    A$ = A$ + "diMgbeOhkcoUfWWMm?><H<8Zko\5kk1oWD<g<lOV_6D;RmSkkUR_?cgU=7dV"
    A$ = A$ + "H0nl_<n^6oKciodhn8iQ]doGJl`ciLBmkFgLSoC9>[dnNj[oWF>I?b3L_2W\"
    A$ = A$ + "\=OWD>?Ye7CohV>nS6Ceik1oW]a2e:0j1gQViheKTfo\lOF8[Z3Ol9OM0Ub3"
    A$ = A$ + "JCL_OjGdogSoa:k`7kSToK61n?kjg]^IUOhC?6E[]<AkHGRoXc_K9GS7i2JY"
    A$ = A$ + "=hQ]_Vc9ahEkc<H=02:n[5f;YH=;[;8>FgiCPOUenl8f;Ziok4oAEn?jHnWi"
    A$ = A$ + "ioVeWKaHa>ioUl?WS9oeG?K]^F7?X\OI<8O^6k]XfKdcodJ?WeFBAlDn?7Zk"
    A$ = A$ + "FbWH9[CmnM_QmPokYao5K=oB<OBO^=em>>don>DCF4oe?a5CCJOah\0hoZ6o"
    A$ = A$ + "C\WUf<bioF`PHEnWRlOg6;6?^SK;;DjJeKKZekgHEg?2eoXao]jkoacj_img"
    A$ = A$ + ";^Cjk;]?_hQ_amMngnbna7C\fGKml0;\;Yc9DOYnn\PoKd=;iojQi`jH1nhJ"
    A$ = A$ + "YJ=N]><mM?8f6o59ogfcO\0n_Z]37]KTeog=n_NZoK5ogA1Kg:gGjeIJCmkj"
    A$ = A$ + "MnIaZDKjAcomYnoN0VoNWhoLH^nXS9N=f;gOk[n[5SmT>W#Nnjkc:n?]G;]_"
    A$ = A$ + "Eaoial>eaQ6g<WoCH4^X\Rkh8heoKTn>a74:oQ1LH5K3;LMX;=WdckkNWhod"
    A$ = A$ + "77>^mgFcoUNM4^_d[C?GLQiN:iKX_Vle76<O_D<NdlO[nNOkJnhRbiXi?lXV"
    A$ = A$ + "kI<O;YILJ^`>ao=bf:holJNWjh#SK?9n_If\8oGgmMSl1U^?GYL?;Mm_Jd;h"
    A$ = A$ + "M]H?ioXS1Yn=WcAkc\RmSfG[boMh?oG9>`JWcCImoRTo;=cjFm7J\Paiof1n"
    A$ = A$ + "?aLA1OOWF^F3M7c_Pj#k4oWf[UfgCToCbfNO_8I<#BaPROf_ococRfPES1Ja"
    A$ = A$ + "SN<NO6cYbKdWl:FPFWa;o>hoJkOS3mTokLLXe8>7VgaSgdho\L^8_^3_ON>o"
    A$ = A$ + "G:N``l2gJ7ObI#iomBHoZT7J^ke`?eNK`0^_9WC\ClOS\1n?k\O4lOLoO?_^"
    A$ = A$ + "Zk1dcJ>]HO?6_?Si68_[7lOGi?cScdZ;Jih_4ogggbiohOVe]QVho8omCRo["
    A$ = A$ + "Hm#Eic_k3`oEoOooneio:]VVcXFJCESek>kkheTg9n?]G;]?`oIWm1oWNl0h"
    A$ = A$ + "olSoCSm[8ogOm7FF7VbjAiNdn<?RoGAnWMTok<>Xe8>7V;Z=6hE^O=kaSm96"
    A$ = A$ + "m6kWE]WAHRF2oGQLBF4ocSa?VLOPoK`aR1g0oWMfo=coY]FneTWfW?VK]m[V"
    A$ = A$ + "cMYlObio:boIH<hX[og:RoCSmdGWIno>bo]3coFUoWKcJZU=_[1j9k7OnG[i"
    A$ = A$ + "T0ogcRoCkeBk3lOfIoG?oWcceZ>ng9kUEammTceSfAFn#fE?:n?YLkl?kGUo"
    A$ = A$ + "HGiojQgaSlOk6o7WeeKO1]mTV;ZogonlONXFKCEI07Q3L0oa=n_Knkjkc:n_"
    A$ = A$ + "AfF1oWFN9`o1n?C7oG<gEAKgH^H[Vk=L>#7l1Po3lOk0oG]j?Nh;^jgoGHN6"
    A$ = A$ + "og7ongl?nL`BiLV=_3_6REZGOCC<P>W7\fmEhml#;HaG5o7O>XGlO[`_;6;F"
    A$ = A$ + ":nBB;:o;holUoCenETUeLJ>G8co793l_:oa^co]blnAhoWY?_ZJ1[`Wgml#3"
    A$ = A$ + "ON3daH;d8lOYfBgYN<\>4ho6[MhaL^Ejg5S3iaEe4ho\Ml_7I<ogY?XA^7_\"
    A$ = A$ + "McioLHl_g4a[ZV[eco1oG\noIjcJ]7?V?^Jf?eiR6O?_FbmIQ?:OM4K=mSMO"
    A$ = A$ + "7`]#oZfOffQUal`n`nAIoNJ;NHcAl1AJkOiaoA]e>fVn5moN=>hmlA[_nShK"
    A$ = A$ + "RL\NWR9FiH14444444444444444444444444444444444444444444444dkB"
    A$ = A$ + "NoK_0on8PPPPPPPPf;mU=k`IYaommOOFR^o31111m^5Fg3XgXfMn?<732222"
    A$ = A$ + "b;iI=#DOJnaVXogI_8HnGU]STo;]E^__^o]G62222jM9`o]GRcdDcoj3keX3"
    A$ = A$ + "ifnok_[ho[;RRo;moM:bSmSkoacK62222ZThl5Uh>TF[UFg?FKR>7?nkFRYY"
    A$ = A$ + "6Ka\oo^VlJY=7oA?<YJ[Ug8lOmJoXhoXSain1[<kMK2n?8888X_BRQkPmo]Y"
    A$ = A$ + "75nohDjn?>4>g:e0QhnbS\ood]7n?jie;_mO>NjXg\lO\[E?aPdne8lO]bOE"
    A$ = A$ + "cnNcoUJcIS1VKj;kZm\VQPPPPNOZ6ogAUo?^Gkh1oGoS3L^_IhoB__EONRIk"
    A$ = A$ + "8a^I0o7mJeJlWGlOURoZmm9d:a];W7cKn?YWe<4444dkDPoK?4WQK6n?Ye?\"
    A$ = A$ + "5kW=jI0o7mJE;nCkk<`<lOl[IC[3IUhmf7;[OMRHmo`co5222jM;Yj][Po[g"
    A$ = A$ + "W;iK#9n=Yen[Gn?niVfJQmicRGo?JlW6of\lOWnQ6RmF=oWo[oG^maJo1111"
    A$ = A$ + "1Ua]Y`oe:_6oiLYaoa[9^ZWkVfcQ[WWGWG7KjhilJlO;3U:dc_nl[C;[1HDl"
    A$ = A$ + "OYCJ5lOY?[Ui4a]nO9=?g7ggc]74444dkCJLNcF3\e[[m[eAoe7?iO;\nUIm"
    A$ = A$ + "[2lGBmoF^^GWS>_F;lOl[7W3\En_CI0o7mJY6[#j3LFG;hoT^V]6kJeL;]SC"
    A$ = A$ + "Lmoblom<?QLl:nN^mPPPPPf?IeJLEjjg;WB[]kF^^Wee>>^NUnn?:_GBJ7[j"
    A$ = A$ + "eU`oAOUmICaoeaeU_fOLN]A6_Y<U]`0:_nOC8feZD<N9oj8Zfe[UHgEaoAo="
    A$ = A$ + "ILSMCT5DgO[M^9kQeo32ZOIE=G8XFUDmkFgJUo[6[V7lOgFG3ejFEHn6mlTh"
    A$ = A$ + "oTT5lO]NMok6OM\V=nAJ]a:6?X`=<R]kiJYa^=LlW23I?a^[PoCkg[MgalZa"
    A$ = A$ + "jif?]=ehJPemPmQmS`nBiBk9gZ7miEj;RVom]HOne[gWm5=F\Uf5_>U5m9]["
    A$ = A$ + "3_NhomijHBnZj\_Ccoe1GmoM>iKc6?ekedbhiA_FN5o=jiJEo_dabiob>o9i"
    A$ = A$ + "nhokmb\[oWD>YEGogji9oJf?Jo_D^DO]7[>R#^G_i0JYF\[\GgVKCN?KO[KL"
    A$ = A$ + "O]a1mFCmGLlWVOIFn_F[i;aU=KN=ne#b>iaF[CmHkKm95=ceE;nb2n_N_VGc"
    A$ = A$ + "c]jNIjoJUJgc6oekeP?n>MlO7G[4o7ocjR3T5O9mK0:]]bHZiROd^GbSLoC3"
    A$ = A$ + "caN:f_fmjKUmeKCnGg?gGWGkP>gZdaHIkBb__fi1=`oi83VlhnkUo;IE[_?`"
    A$ = A$ + "Fc]dRfMn_fRYlBgcKD;VZEn_AREYSGF4?=jek]boY=f>BK`R[5WE[eikB<TL"
    A$ = A$ + ">`I7CGIM?Y=N^=]Si9JO=o_7fG?^k_Qd7g__3;IO;UkT>Wb:NPJc_jmI^IUO"
    A$ = A$ + "9SakdOCZSafWGc5KYVZ7f^FlPglOgHoHaoF_V=F<7nWRokPW?QlZdkUTfaZN"
    A$ = A$ + "M9i>X_bn\KeH;DK?_FLm[K]h\IRW6mJ1n_hioBKDF]d6mhh?;GncjEjJZ]O_"
    A$ = A$ + "S[VeFlg;EGVonWXmeloNHoDKh>WW2oWA<8Ii#5FC_BBjLja^JigYRkoKiL6="
    A$ = A$ + "Gb]a09NKWio^kW_cm=;SKOf_L<Q;foPn_;7iaoWLF65ko:ioZadeSZMNBlOB"
    A$ = A$ + ":M_V4oHJN<W9lfae`e]dHf<a0cLM0oGllOB?WF>[gGa?Vdf8[aG[iAkQoKfL"
    A$ = A$ + "cda`D<<gN]L<F43];fGcokQm?73?cK^>n_[LZ]7k`I3jMnkFcoalgbS?fcoa"
    A$ = A$ + "SidH^hkg;kcK3Jc5\enGnN>3HfOK#lo[To;4Mon5UT6oGfcNiS`a=hJEgCme"
    A$ = A$ + "BnnaGk?K^GZA_FFd6VaffU_Nl[U437Wek[TH2C\Sm`0:FCGIn_FnoI^VEmST"
    A$ = A$ + "=^mJiHV=6VOMU\_daiYmUTefo\=#6k::3ZoaW7fKOQ?g[gcmPVkFi_EioZLN"
    A$ = A$ + "CU?AI>DYmIMlgQbeOEcoT\_Wco_^nGiab6gc\99GgTe=;i[]nj#iPbIelQoC"
    A$ = A$ + "J\YJN5SE?fV7GUV7GRo[ULe]<^=JL`XG3;cU<jeRVkNdLVcL=JMLZ^oO\[Sd"
    A$ = A$ + "JoUnL=V#jaVfJUo;;of=F=mlmYfYfnkmJF;F^D>YF>VIRSK=?jXcGgMkgbLh"
    A$ = A$ + "F?^Vkc:cO[U?MfinBg[NVnX`oe`iIFnD^o`8on=kmANMgViHoE\?mJWFO_\["
    A$ = A$ + "oaMN`da<KofRiamLMXe[XW[5f?oJ:=Gn88MamFBJ\NI<RO4>^Oeeo;[FmkTo"
    A$ = A$ + "[fHTWGS4kfg=nWco\_BR;\daOK<R?_P7Y:`[ERoKd[YNkkjN[dZgGkHVAk0o"
    A$ = A$ + "EdfoL<\Rm]R3Q>o]6O7On==Wl<cm;aa]Jn?=VgJ\`F5gAWGE[=b?WOEkC_^g"
    A$ = A$ + "[UVWGS_iah\WG3;SYjiJUWKQEOh\>Q`kUTfaZNM9lOdGIOV6o7?OT8oGU[K;"
    A$ = A$ + "amS4?=je8U3o8U;Obi_SL]N[lOOgdFk__J4>?jcYPoJfl_B\JTi;dnW4oWhe"
    A$ = A$ + "KBn?Y]KcoZL<cXAh_\`^cHo`hoJhhJ^?Cb?c[O`SXTf_D^jF]K=YboEilVS;"
    A$ = A$ + "P?7jSjWKehn8[O`<[KANoe6k?K=<nH]4oWla<FM[I_FSL=Z5gKiL8En?ej>5"
    A$ = A$ + "foXWgW[i?5Wg:UKAX?LlA97EU[k^<nW=NHD^TA_F_=n?ngU4]WK[6KQ6G8ol"
    A$ = A$ + "\Po[=94b[Lmj9FVonN>VId>`O5]m?73[HoF>^f]InLXdH[Dm5jnT>_^le=8A"
    A$ = A$ + "n_6ddlOIBKnVMamLiaiD;F>5?gSmiWkX]1]Wc;U1T_U>nA\m[Uo;49O_TLYa"
    A$ = A$ + "jEmcjhjFJnc8a#SNMRfncf66af]ce8OmVmloZBLO9=cci]LO_2[6QGC:_bmk"
    A$ = A$ + "gFH^fTlOYLjdo^WSI6A[WD=7:ho<K=Xhi#c7WKKOSTkZ#1SC53ogHiF<IL_a"
    A$ = A$ + "adA>7]nZEl?SjCbbUY`0FKM1]X^U7eaj=^_GkgkLPA[QJA]gA?fBOF_GGjag"
    A$ = A$ + "Z?KTlG]=n9c:gmLV1^>Wn0Q]F>gBKJW_Z?CSMGHlOVc_5=bc5Nha[2lO]91g"
    A$ = A$ + "a4lOlaE]iOU>VI4mJGKnC[aZoJf_Ui_]NLmIgLF^FFo?jagKkhlJCV[:mgZl"
    A$ = A$ + "OE>_Il;oYoX<fFJOC?VW=_]aao6?WJaaS<GF;O#_]QJ?WgdWUKWlS_EKG[fE"
    A$ = A$ + "_cokmJDSKXUhgA^6ei5lDiiGdd8cYjmjfR_[9nW1_>]=>d2kFKnmASOWiLk>"
    A$ = A$ + "fO3hoTNV]LUf6Q1\jHFZEg`hOca0MOmb7KSPo[dm_EKoFJcjeO]Y]d2Wo87k"
    A$ = A$ + "\]SFFo_IkgebKO8do:>OORkkkV_X#><]m=^OGXGD=n[_cYdh<OmkZ=^JaePN"
    A$ = A$ + "]h[YG[Oooh7O[moA[OIaeH6fQI^6Ia<lj=7TCSoN9YM\ZGG2o7mEfW=ENT:G"
    A$ = A$ + "gAD;anc9YQ]N\_f#_LOAjceRKUJ3e>?ni:EoB\178o7Wk;mnF?nBlRRi\e4I"
    A$ = A$ + "^Bge>ZZfOn_UbQeba<ZRbnUV3HiiDM<D;:nSB>l:7k\S5WccIZejj]ig[8]i"
    A$ = A$ + "o>aoeB=PNiKJNnKSSWSL>glk=j7;E3Jf[1O>M[?WgBKmTW[U_O=NL=f2n?ah"
    A$ = A$ + "V2aDUD]ck_eObhdTT5lO5^^=U_YeHo>mBeieTD9n_N^>GG[FSKeROkmlUnnS"
    A$ = A$ + "Y=69:]lo3NnLMn<U>jK=mB7?oeJGSjSMCnMWIR[YfH[4oE?i:kYO4Qm7iJJI"
    A$ = A$ + "kXWa??ROdKC;Po[1edlo:WghS3]nlK6cG<bhi\a0Fh3]NLXE6`AiedR][9?^"
    A$ = A$ + "6AIoah6\B]aO=5oG3lGe>^FJ;Poc1n_2bbcO7TnhWA[S`PGcfcQdG^ZMgnFW"
    A$ = A$ + "oeBkgCogZaQFJKNN]W]o?Jk\e[QUnTAj3cf_]`7jah#_GC?SkOZJFOl\S=N="
    A$ = A$ + "6fbeeZHZ8lKFHO;l1N?nkmi_;bSfh_#o6222j][F[_5Mk42222222b3m6__e"
    A$ = A$ + "_maS?UOnF_1o0DN<Ad]1Xe?VoFbi][:jJ?B[?Odn48XEYo`ldi_QSOIUHkJQ"
    A$ = A$ + "okhQk;P8Sk3nmO4b^aPH6gS?WGdl?A>>leNFnkHYkaOFnNL_o#_9AWo5aL`E"
    A$ = A$ + ";`o1aeKRoK7onjm7k607f>`oAK3[^]TbmCGo[EG38:n_cLm7<n_6nM[31mD4"
    A$ = A$ + "ho0ogKF9f_Jo^SO2johk6ogn\K]Y\om:J=fNGN^7AaoU\W4ogZJ7ANo7Po32"
    A$ = A$ + "joD4ggGDjX#n6nW3n_W]h\O?M6#`oa7kg7n_Eg>f5n??ngb`Vko_#n_JLfhk"
    A$ = A$ + "4kkC_=n_TViHPN6j=]nOYnk>mlOSPoSbn#O=J6`Uol?9<WWgck2i#g9n_S?_"
    A$ = A$ + "7n?]ahE?n3Mig3mkN3Qok9?^gB]^X[725CLaKPm;eGgUenk\m0n_#\?O]7SH"
    A$ = A$ + "=8gRWoKWooFc_\X<gdaJjLRgbJ1];:beOSO?H?iaMaWg7_0h;iI12mnNn_Yn"
    A$ = A$ + "lKVoSGWSonXI`Rbnk#o?4K;\>P?iioYn=?V7\Oa=F4emoaS5N3SmgZioAim?"
    A$ = A$ + "L>08ihQg`H^>3HPofO1oGHfWFoi=aoMJoG`cmEZOC[ioFZo_C:igCiP`coMM"
    A$ = A$ + "miJlO_1o0DNl`ZonGAOf;aDg?Ff_cfa2ioXnK>gCTiOSRo:e62UoJSioNbO?"
    A$ = A$ + "PNSen7aohagC1YeL=bL`[PoLWR_>ckbhof]i1AmmSIgU5nUXNn_lj][^n[Gi"
    A$ = A$ + "d6^]\Hn?nh`ZkceR7NCfWcoeR<ef<A_nlm7im7hU]GE]oOAYoLBVkNeX[gJT"
    A$ = A$ + "ckGI<`U_lZVGdS_G][mT]R^f0lLTAiOf1OTnlbiI0G5kW4og:b5D>WfcokoW"
    A$ = A$ + "dHa:k_bS7b[og:Vk5UmeHkX[52og6\eeX^^ooc9Oic9Ii6F=3h:h?;Ek_ENL"
    A$ = A$ + "?ICSbnGGkbi:kenlhjBWkZjo[UokPlnhiNi3ZAgVhSmBKc>VgJLcIKPiORd7"
    A$ = A$ + "i1oBR1LU\OJlOl?gSlL]V7IIiIEhoF=oa87S7a4DEJOFd^RbnljPlW3FBUfg"
    A$ = A$ + "\mocLK<n_[?GVoKIa5lfPCSod[AYaodVdhf_ZmEKCWakUZeLYAV_eBmGngAI"
    A$ = A$ + "=IQoW7;ecnJc>gio6EV>7SX8K?Ja9BKJk_gn\fl^\lP:n8[kcm53=?3h7NnE"
    A$ = A$ + "fJ0Jmh\DmdNoL;[o:IcJ7S7aodl][bnkBo?ISBcg[U;hkf\f?EWAJ[dnVanY"
    A$ = A$ + "jKdO32ljSJkc:kO#_VllN:o^0Ud<aoUKK2_JTmYnO9o;OoFcO4]m;e^Xg?ZU"
    A$ = A$ + "eoUjce>^dL#_hohnl\jo=^_VlY\jdeVCiml==n_6Q<bT;co;\=2oG9N^Nm3J"
    A$ = A$ + "\CNVG\7n_dkKc?OWm[Ui6m>oODn??Zog3oSWl7WS[2]Qg#oOVl_FbO6Ym;]n"
    A$ = A$ + "NHmolcnBleLom:hoRbnUJGoamWllO^_N0cNm;mmo;=_KUlOUbaIAn?An_f:V"
    A$ = A$ + "k6_5hodIiN;lOGnjkc[mXn?mJ:E[eCncknblfB]H#?ZoCK;l[eKXoGjJ]:>S"
    A$ = A$ + "8]Ob>B[5BbVDf?[]k1M<>5CTn<N>>7m1b][kiLm`_[aK]:n_X\Oii4ieCLI<"
    A$ = A$ + "nhn_oG9f`Fd\]3]LL]^_nlYO8_>V<MN6K>FD]WLOeMO<OL`RnkI>_G>oWFm?"
    A$ = A$ + "?ZoGJ^UfaIMLF;GK?]O9OlZ\?mJ?Z?2b^a2]H`B?W\Y7oYaOloVnI>?nWUc?"
    A$ = A$ + "UKeaJ<BfUog[Po:JkG\MUZRiX_W_6OYGm:V_ToGZnG[k[=kLWocknG_moMXm"
    A$ = A$ + "`I2\Pm;kj;TCCS[A2`::OE?lOSh_G9oA9k:MLN`ndBOc;kgZO`Ckgbefkn?D"
    A$ = A$ + "^_^W?g\H0ZH\O[Xf`mf`jF[aJ][Fe<f#SeI5f_HofIn?JoWbmm4cg`InNJm?"
    A$ = A$ + "[lAB\NF7[gjeBR1<Nf_J<Pm_FLA`O4=oEdf_ef1hoPlBWifH?SG:kGD]QgBl"
    A$ = A$ + "F9n_XJ?cFCIXHPSWoookmDkGF63`Iola>GZE6#?h?knL>^olMWMNjKVo8Jkg"
    A$ = A$ + "R=N3mOXe;A^[0h_bJ7OF_mSFPoSJggch>DnHOYePbJKimjWgDKXSnIfJaWa0"
    A$ = A$ + "JgcPHel7]\nK]^6MoRf_5Kl6jo#aXKlOOf0n_GfjoUVCie__WaKC[Wo3jMZE"
    A$ = A$ + "cn9No^=\>PFg>XOg:Za`U=WdHODTl7laM9iE\Adf_efaC_o35SfUeo;[]lim"
    A$ = A$ + "`nUjglO__AgVB];JmYXK?#?C];\OQ`omAXEX]6<Wkgnk7;Jn3^=TflH=8Sfn"
    A$ = A$ + "md>NbmOXhdeLlHGk]<FD`o5^0o7T7Zdj;hMLFdlOJ[_B67Xdn?>^M<fkGRSo"
    A$ = A$ + "PJ3\nOHmoPF[fQeNk=coUH0o\9mkcJBhio2IXdZW\Zhn?Tl;B_^4n_SB4X74"
    A$ = A$ + "N?2Gh]GmQo;2n3^6iHnE]O;fh=doQRGA>nbi?O;lO9^?no>?7MOofJ>0n?83"
    A$ = A$ + "4M=TXL5[:fBSoklc3I=0__fNZlO>^nCA`O011m^Efjnm2o]O\SlOYf6hoP\D"
    A$ = A$ + "Ln?jO_>koAne5a0FM=0;^nOH>844dc#R\O_D6#j[AgVB];`o1IYFacD\Vmeh"
    A$ = A$ + "oFiJLEMmoDDdSO####FY<n?QGO;ilfeLlkJk2jgEB\O[<njRo<oeEk3:]nOA"
    A$ = A$ + "?61111]2UH0UN=jf644TmJ7FG;>7Hdn0LOF###_AUbkaO5222bC1^;8888XO"
    A$ = A$ + "EQeA02J?4Vo5WO?jf04dKFA?7l]b0Ao]3_Co6BPPNKRoK:9jfcK#AnLlQ^?F"
    A$ = A$ + "4MK0:VamXoNkUb3\Zo]lJ7DZ>3hoROL8jf0DlBkgFLd][W\f1n?<6Wo__C[f"
    A$ = A$ + "^A=?SKcgHL`e_SgS`H0O[\OD^?`o5gh#dgk3DLSmLYm_a<AgFORJ7bkOnkin"
    A$ = A$ + "5?6CoMm_jO?o9K6Q]YeKiomKAIlO1a0Fjn]ObS7dj>_aH_XmiWeOHaOHMON7"
    A$ = A$ + ":Soh5boYmkHN5c1h\OA`0Nbnmbog_Wg6oGbNBlOA\6XQ?fCio2P1D;?kC?o;"
    A$ = A$ + "]O2n_ei[YlNLn_gfonEnf5U3Q7?LlPcolOlM7=Xea06bcN4lOQMO_D^C`o5g"
    A$ = A$ + "HOdlOGS9Ob6?N3??HY_oOH=X^l=NL=cZa[lng^_o=9=^_WL\`>`oAmmQn\OO"
    A$ = A$ + "alOA]fOLk75gInc2:>o#XSo1aoEki`mFio`g7#oFCdKaKLQ_go_>Ym\8OjiO"
    A$ = A$ + "`co5lOGS5a`n41o7_?7aJ#^;::n_?2eMcN6<?lL_Do0hoDR?<Nnh]J>dHOFL"
    A$ = A$ + "hK8f3B9^hEao5oJoQWok>47laUL^e7oSSmRnLPOS\OWn0F=`UanaZ5_bkoLG"
    A$ = A$ + "4Nn_Um9Fi3^Mo6ThndlOYmoF73NCZ4ogCNl?Jn?Z_7?oghR1XlGAmLHSRoSb"
    A$ = A$ + "lnJ7o9lO;K>O:W;iegZo7[gW#lQ3i4TFo?jlO?Fo_g>;o_RFmcoLGT>3hJGk"
    A$ = A$ + "_glcoU6[5ALGD?ogMPo:ZWolZkSJng`ioHeRSfG5iHSEc1dZUm[DCcSeoSN]"
    A$ = A$ + "YggA6oWAOWoYnJYef=Jok:77S<f[Gk?jcS<jnY=nYe^^Och_=]O7<o7Wo82N"
    A$ = A$ + "4JLK4f>Bn[EIO][oB^?;RXfCjIR]\fcaJ]k>[4WP]\Oam<M<96aYk7UO_7gh"
    A$ = A$ + "o<hNAhLO]n_agdJ0dGo55]NB4?OYCkcbad23H?]cXFo<[mCAa`VVg55kETlO"
    A$ = A$ + "BiiFmJaa]W7iKeR[h<WNdOSfn9kXUggKkB[ea[]M]oc00g73X\OFV[YDN\ET"
    A$ = A$ + "GK6kK1oG^=dHoFkl\AloLfYnZ3[?7_TXco]8>I4n_[a]lGm8F]5oV5GCY]E`"
    A$ = A$ + "FTU[QYBaTlcYUHeJcelNlKNoT_]oRnj5llO[FogIn_bmoli5UnL?jodSIFkE"
    A$ = A$ + ";o:On_fn\\O^BkG[MYmlO\XfOYnoQdl\Kkg?n_KiQMjIm:EW]Dm7nLaI[;5]"
    A$ = A$ + "m;W7Waoi#\N9NWT_XUhlAWCfcLLYmK9GB=OQd_cW[Ja\Gok\fAWoGCl0TJnP"
    A$ = A$ + "FfhnLYm?Z_ERI#RQXdT09f3]cA[]N=>EOnVUccj?_#ijoUR=Ve>eZab77FEm"
    A$ = A$ + "oKWgTaTSHoNoL_jolcOdiWef:UCH6kfZmeZ7CgWGaOebkKegeYRi5oTon\lo"
    A$ = A$ + "G343e6ZFOI1O?oJYVKb7cSm\hgOAdf_iJnYA2S73JUo[fcoLDOAdcok=F#VK"
    A$ = A$ + "ILn_6QA^c19lIchWCnaJkODOKdlOGkJ_hoVYnoX<7m4GXES?=F<O]_a]_5i3"
    A$ = A$ + "kenFco=JoG:6bkh_NICo5\O9o>mOGgXfT_??ZoO8T[khfn?K#3>g_1^c?ifN"
    A$ = A$ + "ViJBZ7n;YoVnj_Xm;5?LngYA57Z;e3oWdL]dlRAW7dcLL?VogK\P<[1hoZ?>"
    A$ = A$ + "K4oG3OVTohJGk5oG[S9Nao=2o9ohVYoo[JodW9M>mdV6anU>G[R;;M]md^[f"
    A$ = A$ + "nUloUFo?=61[joo99d=N\SlLNG17f?gG`nN<>?;oe:Go??\OKSAnEGZD<0?G"
    A$ = A$ + "TdLQB\QSHoB][Ffg\nRJa0bJLn_FmoRc?9b2OPDM7Jm7_beOcn:m?]aMni8G"
    A$ = A$ + "[L?ioZ=W[Ujoda7c7;4^f]dfNbfGK^ReiRZ=f^2o`KDUhkBk[Dn8[J3I9Tb7"
    A$ = A$ + "X=Qo[7kkE\E?lGBimWe_7]mKILhT2?`igLF?nJ3n4bmd2oWhhS0oWg]C?ho^"
    A$ = A$ + "j?beeFAM696`FVSejLaMSo[UaQBeomRok<>CHlNEL7kZmGEk8JkoFEYk9Cjn"
    A$ = A$ + "cl<n;;OX43XSl7;S_YA9M^cbN<SmGF\8Qo;J6#:cGjm?Ul>daJ9foBWWd[[Z"
    A$ = A$ + "]jAMWBikF53X_m_b\Ok23H]joAaoiYMgMk7]oOen18maVEaMWa0nI=?KfMGF"
    A$ = A$ + "`o]kB^Fen\>P?EOOdLoeJGIi0FhmYmDF_1M6`oni3do\N<8jjoU\O]ffCgn["
    A$ = A$ + "XM4]mQZ?f\BOo]ln_L6#`o5IKjm5_5]n`HnTN_gS9??6#^HIFK\omWceHoAT"
    A$ = A$ + "eo;aF^ReMJW]o:J7AKOXjS?Qco9\60AkGFYoWbomDkkk8o7D<a1lkgClmP1L"
    A$ = A$ + "jnfoaaEN^f=^a>i5KZM4<o1O<V:_7ogMkkMk8Jk3EN\AB[`^lLm_In_Elk_M"
    A$ = A$ + "7T7eGPnMd=f_S?D05aL2P1LlneYK]`L^\iTW7W]lOk0o1g6Lki=oe>KO?K7A"
    A$ = A$ + "KOXbS=Nn_m;ES;4F;PgfH?hoPN;ZUke<\k7UD3JefgEom1QYCYoain\d74Mm"
    A$ = A$ + "oMOmgRfnHmoN_:Bn_cH3RNKSkdhOnof\4MKcWn:Nn__MA30ViH\FUZ5m[6WN"
    A$ = A$ + "bfmihn[WkCHmohb0n_8i?dHIG1[o>KoEd>Rfn#m=f\JOoKN<WbOcOOd]=O6W"
    A$ = A$ + "__F4Ag^PF[>:T_i6C#0iRhL:oj[7A6OG=n?bmUIENIDo72JOeCWkHWe[Vok1"
    A$ = A$ + "f7QZ[4oG2fPcoAolXhoh[;e_N\Zhj0:aoIlJo111]gjYcM\kRn\OObS1Po3j"
    A$ = A$ + "[n5hoTNFUAkg\X_YZ2[oGd]K888o4FgmhEb_odmo8>3JgioTH0SfWiNO6[m7"
    A$ = A$ + "444444TcZEn_XJK_]kCI7nNP3111111m\E[on?R^M211]7jo3#EK%%h1"
    btemp$ = ""
    For i& = 1 To Len(A$) Step 4: B$ = Mid$(A$, i&, 4)
        If InStr(1, B$, "%") Then
            For C% = 1 To Len(B$): F$ = Mid$(B$, C%, 1)
                If F$ <> "%" Then C$ = C$ + F$
            Next: B$ = C$: End If: For j = 1 To Len(B$)
            If Mid$(B$, j, 1) = "#" Then
        Mid$(B$, j) = "@": End If: Next
        For t% = Len(B$) To 1 Step -1
            B& = B& * 64 + Asc(Mid$(B$, t%)) - 48
            Next: X$ = "": For t% = 1 To Len(B$) - 1
            X$ = X$ + Chr$(B& And 255): B& = B& \ 256
    Next: btemp$ = btemp$ + X$: Next
    btemp$ = _Inflate$(btemp$)
    _MemPut m, m.OFFSET, btemp$: _MemFree m
    BASIMAGE1& = _CopyImage(v&): _FreeImage v&
End Function
Reply
#2
sample output from mini-robot-mixer


[Image: image.png]
Reply
#3
+1 Yummm... find a good thing stick with it ;-)) 

I happen to be reading Caliban this  goes well with it.
b = b + ...
Reply
#4
Drawing the 100 little parts was the lion's share of the work. I was initially just going to do a new input sheet for the monster maker but realized while the code needed was tiny it was still best to move it to it's own generator (for now at least).

  Is Caliban a horror/sci-fi  take on I-Robot?
Reply
#5
Caliban - by Roger MacBride Allen based on 3 Laws and approved by Isaac Asimov before he passed definitely sci fi setting on planet called Infernal (terra formed), city of Hades.

Is I-Robot the one with Will Smith, I saw / remember maybe 2 minutes of being chased by army of robots, do know that was about 3 Laws too (unless I am conflating with another movie/book?). What causes harm to human spirit is doing everything for them like helicopter moms.

Book was slow starting but IronHeads reminded me of Proud Boys and attack on capital, and other people who deny reality not bad for 1993!

@James D Jarvis you are very close to actually inspiring some sort of game or puzzle or something involving robots. Will you consider a request for sprite sheets that show different angles and walking / running / flying / swimming or other movements? Maybe a expanded idea may emerge?
b = b + ...
Reply
#6
(11-21-2022, 01:33 PM)bplus Wrote: Caliban - by Roger MacBride Allen based on 3 Laws and approved by Isaac Asimov before he passed definitely sci fi setting on planet called Infernal (terra formed), city of Hades.

Is I-Robot the one with Will Smith, I saw / remember maybe 2 minutes of being chased by army of robots, do know that was about 3 Laws too (unless I am conflating with another movie/book?). What causes harm to human spirit is doing everything for them like helicopter moms.

Book was slow starting but IronHeads reminded me of Proud Boys and attack on capital, and other people who deny reality not bad for 1993!

@James D Jarvis you are very close to actually inspiring some sort of game or puzzle or something involving robots. Will you consider a request for sprite sheets that show different angles and walking / running / flying / swimming or other movements? Maybe a expanded idea may emerge?

I Robot is the first compilation novel of Isaac Asimov's Robot stories with the 3 Laws of Robotics (from 1940's).

My schedule can be a little crazy but I can poke at doing a sprite sheet for you. Schedule is pretty solid into December but I am not past just doing stuff for fun (which most of my programming is for).Turn-around's could vary from hours to several days depending on where I can squeeze stuff in.  (I've been a Technical Illustrator and Concept Artist professionally for much of the past 37 years, but I am horrible at self-promotion, I've worked on virtually every form of digital art at some stage.)
Reply
#7
Quote:Caliban - by Roger MacBride Allen based on 3 Laws and approved by Isaac Asimov before he passed definitely sci fi setting on planet called Infernal (terra formed), city of Hades.

I Robot is the first compilation novel of Isaac Asimov's Robot stories with the 3 Laws of Robotics (from 1940's).


When it comes to robot laws, I have to think of an old film - excellently made for its time 1965, and a "street sweeper" in Germany. This is the episode where robots revolt because they run afoul of their laws; in German of course.  Rolleyes But maybe there is also an English translation of it.

The US film "Alarm im Weltall" (Forbidden Planet) from 1956 also served as a template.

Raumpatrouille Orion - Keeper of the law
Reply
#8
(11-21-2022, 02:55 PM)James D Jarvis Wrote:
(11-21-2022, 01:33 PM)bplus Wrote: Caliban - by Roger MacBride Allen based on 3 Laws and approved by Isaac Asimov before he passed definitely sci fi setting on planet called Infernal (terra formed), city of Hades.

Is I-Robot the one with Will Smith, I saw / remember maybe 2 minutes of being chased by army of robots, do know that was about 3 Laws too (unless I am conflating with another movie/book?). What causes harm to human spirit is doing everything for them like helicopter moms.

Book was slow starting but IronHeads reminded me of Proud Boys and attack on capital, and other people who deny reality not bad for 1993!

@James D Jarvis you are very close to actually inspiring some sort of game or puzzle or something involving robots. Will you consider a request for sprite sheets that show different angles and walking / running / flying / swimming or other movements? Maybe a expanded idea may emerge?

I Robot is the first compilation novel of Isaac Asimov's Robot stories with the 3 Laws of Robotics (from 1940's).

My schedule can be a little crazy but I can poke at doing a sprite sheet for you. Schedule is pretty solid into December but I am not past just doing stuff for fun (which most of my programming is for).Turn-around's could vary from hours to several days depending on where I can squeeze stuff in.  (I've been a Technical Illustrator and Concept Artist professionally for much of the past 37 years, but I am horrible at self-promotion, I've worked on virtually every form of digital art at some stage.)

Ah a graphics guy! no wonder I am drawn to your stuff!
b = b + ...
Reply
#9
Yes I've been accused of being sketchy in the past but that doesn't paint an accurate portrait.
Reply
#10
https://staging.qb64phoenix.com/showthread.php?tid=922

Maybe "one on one" battles could be added to that game!

That code could be fixed to have a few places on the map in which if the hero enters, he/she becomes the robot fighting a monster. This is according to creatures out of this sprite-creation programs. Select two or three robots, and two or three monsters, make simple animation, no more than four sprites per "personality". LOL have one throw fire and the other expel water, just simple single-line combat. The two animated figures could only move across to make it as simple as possible. To make it a bit harder have one of them able to "jump" or "temp invisible" or another way to evade the other's move. Like "Karate Champion" (not sure what it was really called) arcade game from the 1980's, had cool speak-overs and which the player had to use two joysticks, one for moving and the other for martial-art moves.

If the "monster" is beaten then the player collects a lot of treasure. But if the player's "robot" dies then... game over or maybe he/she is penalized in points or something.

This is something I actually thought about the previous night.
Reply




Users browsing this thread: 12 Guest(s)