JavaScript Menus and DHTML Menus Powered by Milonic Cyndeline Translations

Untitled Document

Relativa sökningar

Ifall du har läst tablefil-avsnitten, så har du redan kommit i kontakt med relativa sökningar. Dessa sökningar utgår (som tidigare nämnt) ifrån att alla bokstäver i det latinska alfabetet (A-Z) står i en viss ordning (dvs den ordning som vi fått lära oss sedan vi var 7 år gamla). Givetvis måste dessa bokstäver även finns skrivna i samma ordning i den rom vi söker i, annars fungerar det inte. Likväl kan vi inte söka efter ord som både innehåller stora och små bokstäver, eftersom dessa inte står på bestämda platser i förhållande till varandra.

Tex, så vet vi att bokstaven "g" alltid står två steg före "i" i alfabetet. Men det är omöjligt att bestämma "g":s position gäntemot, tex. "V", eftersom dessa som bekant står i var sitt alfabete.

Anta att vi (relativ-) söker efter ordet "MARIO" (som bara innehåller stora bokstäver) i Windhex. Detta görs genom att öppna en vanlig sökruta (Ctrl+R), och skriva in MARIO. Men till skillnad från en vanlig sökning, som söker efter just bokstäverna M, A, R, I och O, så gör nu Windhex detta:

  1. Den plockar ut den första bokstaven i ordet (M), och ger den positionen 0. Detta eftersom vi behöver någon bokstav att använda som utgångspunkt.
  2. Sedan tittar Windhex på nästa bokstav (A), och gämför dess position med "M". Eftersom "A" står 12 steg före "M" i alfabetet, får den värdet -12.
  3. Sedan tittar Windhex på bokstaven efter "A" (dvs. "R"), och kommer fram till att "R" står 17 platser efter "A", och därför får den värdet +17.
  4. "I" står i sin tur 9 steg före "R", och får -9.
  5. "O" står slutligen 6 steg före "I", och får +6.

Detta betyder att Windhex nu söker efter en rad som består av 5 hexdecimaler, där...

  • Den andra hexdecimalen är 12 värden mindre än den första
  • Den tredje hexdecimalen är 17 värden högre än den andra
  • Den fjärde hexdecimalen är 9 värden mindre än den tredje
  • Och den femte hexdecimalen är 6 värden högre än den fjärde

Som du säkert förstår, är det inte många rader med 5 hexdecimaler i tex. Super Mario Bros som följer det här exakta mönstret, därför är chansen stor att eventuella sökresultat endast finner platser i spelet där det står "MARIO".

På grund av detta, är det viktigt att välja rätt så långa ord att söka efter. Ifall man söker på "NO", så letar Windhex efter värdena [0+1], vilket kan vara i princip vad som helst. Ju längre ordet är, desto mindre är risken att du råkar hitta rader med hexdecimaler som inte är text, men som ändå följer det givna mönstret.

PS. Ifall du vill göra en relativ sökning i en japansk rom, kan du få problem eftersom det kan vara svårt att räkna med japanska tecken. Rita därför först om den till latinska bokstäver, och spela sedan en bit in i spelet och leta efter en rad bokstäver av samma storlek (även om de inte bildar ett riktigt ord).

Översättare sökes:

Resurser