Pac-Manin wikipedia-sivun mukaan korkein mahdollinen pistemäärä on 3333360. pistettä. Sitä kutsutaan täydelliseksi peliksi ja sen saavuttivat jo 3 erilaista ihmistä.
Haluan tietää: MIKSI se on täsmälleen 3333360 pistettä? Sen on oltava tekninen rajoitus, mutta mielestäni tällä numerolla ei ole mitään järkeä.
Tiedän, että pelillä on 255 tasoa. 255 on 11111111
binääritasolla ja tasolla 256 (joka näyttää olevan mystisesti) tuo 8-bittisen numeron ylivuotoon, joka päättyy pelin kaatumiseen.
Mutta, 3333360 vain vaikuttaa niin satunnaiselta.
Kommentit
vastaus
Pacman-museossa on artikkeli 3333 360 hankkimisesta Pisteet. Ja tässä ”sa video joku kaveri, joka tekee tasoja 255 ja 256 , tärkeitä tietoja tasosta 256.
Tasot 1 – 255
Pisteiden syöminen : Tasoa kohti on 240 säännöllistä pistettä, jokaisen arvo on 10 pistettä, nettoutus 2400 pistettä per taso . Lisäksi neljän 50 pisteen arvoisen energizer-pisteen syöminen antaa sinulle vielä 200 pistettä.
⇒ 255 × 2600 = 663000
Hedelmien syöminen : Tasoa kohti on yksi syötävä esine, joka näkyy vain tietyllä aika, kahdesti tasoa kohden. Hedelmätyypistä riippuen, mikä puolestaan riippuu pelaamastasi tasosta, saat eri määrän pisteitä. Yhteensä saat
⇒ 2 × (100 + 300 + 2 × 500 + 2 × 700 + 2 × 1000 + 2 × 2000 + 2 × 3000 + 243 × 5000) = 2459600
Haamujen syöminen : Haamun syöminen samalla jännitejaksolla antaa 200 pistettä ja kaksinkertaistaa sen jokainen ylimääräinen haamu, jonka syöt (400, 800 ja 1600 2.-4. haamulle).Voit tehdä tämän neljä kertaa per taso, mutta vain tasolle 16 asti, ja tasolla 18 , koska haamut eivät vilku tasoilla 17 ja 19+ ⇒ 4 × 3000 × 17 = 204000
Näiden lisääminen numerot antavat 3326600 , vain 6760 ei ole täydellisiä.
Taso 256
Tämän parittoman luvun voi saada poistetulta tasolta 256.
Näkyvät pisteet : Kuten näette, hieman yli puolet näytöstä puuttuu, mikä tarkoittaa, että saat vain 112 normaalia ja 2 jännitepistettä.
⇒ 1220
Yksi hedelmä : Erääntyy glitc hed-näytössä, voit saada avaimen (”hedelmän”) vain kerran
⇒ 5000
Häiriöpisteet : Häiriöalueella on 9 normaalia pistettä, jotka ilmestyvät joka kerta kun kuolet. Viiden lisäelämän yhteydessä saat ne kuusi kertaa
⇒ 6 × 90 = 540
Grand Yhteensä
(663000 + 1220 + 540 (pistettä)) + (2459600 + 5000 (hedelmä)) + (204000 (haamuja)) = 3333360
Kommentit
- Aloin kirjoittaa vastausta ajattelemalla, että numerot laskisivat yhteen ja ne eivät ’ t. Kesti jonkin aikaa selvittääksesi oudoista, jotka ovat tason 256 pisteitä.
- 256 on melko tärkeä numero.
- @Howdy_McGee Varsinkin 8-bittisessä prosessorissa …
- Onko 256. tason virhe tarkoituksella – vai onko kyse todellisesta häiriöstä?
- @ RPi_Awesomeness se on ’ todellinen häiriö, joka liittyy binäärisesti kaatuvien numeroiden kanssa. 256 on 100000000 binaarisena, mutta numero ei tue ’ t yli 8 binaarista numeroa, leikkaamalla siten 1, jolloin se on 00000000, mikä on 0. Joillekin ei liity ongelmaan , tämä aiheuttaa häiriön sen sijaan, että asettaisit sinut taas tasolle 0.
Vastaa
Pisteet ovat rajalliset koska tasolla 256 tapahtuu häiriö, joka korvaa puolet näytöstä roskilla. Peli ei anna pelaajan edetä taululta seuraavalle syömättä 244 pistettä ja energisoijaa, mutta häiriö korvaa monet pisteistä; tämä jättää pelaajan kykenemättömäksi syömään 244 pistettä ja energisoijaa, eikä siten pysty poistumaan Jos mietit miksi häiriö tapahtuu, Pac-Manin koneen koodi hedelmien piirtämiseksi on samanlainen kuin C-koodi:
unsigned char temp1, temp2; unsigned char *ptr; temp1 = level; if (temp1 > 15) temp1 = 15; temp2 = temp1; if (temp2 > 7) temp2 = 7; ptr = LOWER_RIGHT_ADDRESS; do { *ptr++ = shapes[temp1--]; } while(--temp);
Huomaa, että toisin kuin monet koneet, Pac Man käyttää melko utelias näytön muistin asettelua, joka sijoittaa peräkkäiset tavut vaakasuoraan ruudun ylä- ja alaosaan ja pystysuunnassa keskelle. Tämä tehtiin todennäköisesti tekemään niin, että piirrettäessä ruudun pääosaa muistiosoitteita lisätään kahdella kahdeksalla skannausviivalla (huomaa, että näytön ”yläosa” on näytön oikeassa reunassa. kuva). Pohjapiirit muuntivat rivi / sarake-indeksit muistiosoitteiksi vastaavalla kartoituksella kuin:
//Using column values in the range 30 to 1, wrapping after 63... address = (column & 32) ? (row << 5) | (column & 31) : ((28 | (column & 3)) << 5) | row);
, mutta ne toteutetaan piireissä koodin sijasta. Tämä mahdollisti näyttöosoitteiden laskemisen käyttämällä laskuriparia ja piiriä valitaksesi yhden näiden laskuribittien kahdesta permutaatiosta. Laitteisto, jonka vaaditaan muistiosoitteen kasvavan 36 kullekin riville 32: n sijasta, olisi ollut monimutkaisempaa vertailu.
Kommentit
- @Kevin: Annettu piste on suurin mahdollinen Pac Manissa, koska yllä esitetty vika (C-koodissa, joka on toiminnallisesti samanlainen kuin itse pelin Z80-koodi) kirjoittaa hyödytön roskapostin suurelle osalle näyttöä, korvaa pisteet, jotka pelaajan on tarkoitus syödä. Toisessa vastauksessa todetaan, mitä tapahtuu näkyvästi pisteiden rajoittamiseksi, mutta yllä oleva osoittaa (teknisesti ajatteleville lukijat) miksi se tapahtuu (ja viittaa siihen, että 256-tason rajoitusta ei luultavasti tarkoitettu ’ tarkoituksella, vaan se johtuu valvonnasta).
- Molemmat vastaukset täydentävät kysymystä erittäin hyvin.
100000000
binaarissa) tallennetaan muistiin, joka on varattu sisältämään vain 8 bittiä. Ensimmäinen on siis kirjoitettu muistiin, joka on osoitettu jollekin muulle, mikä turmelee olennaisesti koko pelin.