Pakkausalgoritmi
Savefilet nousee nykyn kymmeniin megoihin, maailmankartan levelittmisen
jlkeen satoihin. Onneksi hexaeditointi osoittaa joidenkin savejen tavujen
(esim. 0 ja 255) ja eriden niiden ryhmien (esim. transparent color =
0xF81F) olevan hyvin toistuvia. Tee pakkausalgoritmi, joka hydynt tt.
Kovin monimutkainen sen ei tarvitse olla, koska senhn pit yht aikaa
olla nopea (ehdotan, ett autosaveja ei kuitenkaan pakata, vaan vain
levelist ja gamesta poistettaessa tehdyt). Esimerkiksi voit tehd
taulukon kytetyist tavuista ja yhdistelmist ja korvata ne lyhyemmill
bittijonoilla ja/tai kytt niihin RLE-pakkausta. Luulen, ett std::map/
std::set voi olla hydyllist muistuttaa mieleen. FeLibin tiedostoluokkien
kytt on mahdollista, muttei pakollista, koska pakkaus on erillinen
toimitus. Voit tehd omaan ohjelmaan testin tai rakentaa suoraan
savesysteemiin.

Nimigeneraatioalgoritmi (copypaste viime vuoden assignmentista)
Tt varten luot erillisen ohjelman nimelt Intelligent Random Imitation
Name Assembler (IRINA), joka analysoi tiedoston, jossa on nimi ja luo
niiden perusteella databasen, jonka avulla voi nopeasti luoda lis
samankaltaisia. IVAN sitten lataa tuon databasen. IRINAn kannattanee pysty
mys tulostamaan noita uusia nimi suoraan kehotteeseen, jotta voit testata
tuota ennen IVANiin liittmist. Algoritmit saat ptt itse, mutta jos et
parempaa keksi niin ehdotan Markovin ketjuja, eli tietty kirjain seuraa
tietty N kirjaimen jonoa aina tietyll todennkisyydell, ja N on
kyttjn antama tai ehk satunnainen. Databasen luominen saa olla miten
hidasta vain, mutta sen lataaminen ja nimien tuottaminen siit on syyt olla
kohtuullisen tehokasta. Palgoritmit pitisi tulla FeLibiin jotta molemmat
ohjelmat pystyy kyttmn niit.

16x16 -> 32x32 tilekonvertoija
Erillinen commandlineohjelma, joka muuntaa 256-vrisen pcx-kuvan nelj
kertaa isommaksi ja smoothaa syntynytt tiedostoa. Voit kytt felibin
rawbitmap-luokkaa ja sen tallennus- ja latausrutiineja jos et parempia
tied. Minknlaista eleganttiutta ei tarvita, koska rutiini on ilmeisen
kertakyttinen.
