Fejtörő (2017-2018)

Mókás, de direkt dögnehéz programozási feladványok Spectrumra...
Avatar
csege
Speccyalista
Hozzászólások: 195
Csatlakozott: 2012.01.06. 15:15
Tartózkodási hely: Föld.Naprendszer.Tejút

Re: Fejtörő (2017-2018)

Hozzászólás Szerző: csege » 2018.01.07. 15:19

[troll on]
na jó, de hol van a ZENE?!
Pgyuri köszöntői eddig színesek-szagosak, zenések voltak!
[troll off]
(már is hiányzik a Speccyalista tudástár! kerestem volna a rendszerváltozók listáját, de sem a ROM listában, sem az Ada-Winter könyvben nem leltem. ilyenkor lenne jó a nagy zöld könyvekben megnézni, de éppen most nincsenek, hála a M$ trollkodásának. így jártam!)

Szépen ott figyelnek a változó értékek a BASIC program után közvetlenül.
Gondoltam: egy for ciklussal milyen szép kiíratást lehetne prezentálni!
Hát nem ennyire egyszerű az élet! minden változó három "szemét" byteot is tartalmaz: a neve a hossza és 00.
ja, és a for kezdő értéket is jó lett volna 'tudományosan', egy rendszer-változóból megtudni, (hogy hol is van a változóterület kezdete, mert minden programváltoztatáskor elmászik valamerre).

A beepelő editálást úgy lehet kikapcsolni, hogy az edit sorba lehívott program első utasítását töröljük, "elszaladunk" a Run-ig, töröljük, enter.
második lépésben visszaírjuk a Border utasítást. és run!
és ott is vannak a változók! pókolás nélkül. :)

(szerk: és, hogy a saját trollkodásomnak is eleget tegyek, a változók hosszát kibeepelve még akusztikus ingerkeltés is törpénik :) )

Avatar
Bali
Site Admin
Hozzászólások: 1820
Csatlakozott: 2012.01.06. 13:34
Tartózkodási hely: Budapest III.
Kapcsolat:

Re: Fejtörő (2017-2018)

Hozzászólás Szerző: Bali » 2018.01.07. 19:57

Bali írta:
2018.01.02. 12:47
Nahát eddig én nem találtam ezen fogást, az merült fel bennem igazából, hogy nincs is mit. :)
Végül is hol volt az leírva, hogy ki kell ezt javítani, a program működik, a jó kívánság olvasható a listában!
Hát én továbbra sem vagyok biztos abban, hogy kell-e módosítani a programot, hiszen működik, szép színes szilveszteri hangulatot ád. :) A jókívánságot megkaptam köszönettel, hiszen elolvashattam a program listában. Mondjuk, ezzel az erővel persze egy REM-ben is lehetnének, na de az túl egyértelmű lenne, így inkább stringként kerültek be.

Mindenesetre PRINT b$ !!!

Szóval az én megfejtésem, hogy köszönöm a szilveszteri progit, nekem megfelel így is, megértettem a jókívánságokat is! :)
(Magyarán nincs mit megfejteni :))
-= Bali =-
(c) 1983-2017 Evil-Soft

csaba
Speccyalista
Hozzászólások: 176
Csatlakozott: 2012.01.09. 19:18
Rádióamatőr hívójel: HG5BMU
Tartózkodási hely: Surány
Kapcsolat:

Re: Fejtörő (2017-2018)

Hozzászólás Szerző: csaba » 2018.01.08. 09:29

Még egy utolsó, változóterület beolvasással
használata:

LOAD "patch3"
MERGE "fejtoro"
DIM V$(1,1)
GOTO 1
a hibaüzenet után:
GOTO 10
patch3.tap
(312 bájt) Letöltve 5 alkalommal.
scr3.JPG

Avatar
Zozosoft
Speccyalista
Hozzászólások: 715
Csatlakozott: 2012.01.06. 14:03
Kapcsolat:

Re: Fejtörő (2017-2018)

Hozzászólás Szerző: Zozosoft » 2018.01.08. 10:02

Szerintem egyébként itt a lényeg: "Remélem nem lesz senki, aki egy kukkot se ért belőle."
Nem kell mindent érteni, csak mindenki felfedezi a saját nyelvén írt Boldog új évet szöveget a listában, és örül neki :-)

Avatar
csege
Speccyalista
Hozzászólások: 195
Csatlakozott: 2012.01.06. 15:15
Tartózkodási hely: Föld.Naprendszer.Tejút

Re: Fejtörő (2017-2018)

Hozzászólás Szerző: csege » 2018.01.08. 11:10

Azért kíváncsi leszek, hogy miután Pgyuri elárulja a megoldást, el mer-e jönni a következő találkozás(ok)ra?
mennyi lehet az elévülési idő? egy év a következő furfang kibocsátásáig?

Többen feltételeztek Mátrixs megoldást: "nincs kanál' után szabadon: az a feladat, rájöjjünk:Nincs feladat
Pgyuri azt mondta: Nem bíz semmit a véletlenre, ezért, hogy ne legyen senki, ki egy kukkot sem ért belőle, elég sok nyelven leírta, hogy buék!
De azt is mondta, hogy ennél cifrább a megoldás!
Csaba átpókolta a programját, csinált háromféle kiíratást. de
Pgyuri azt mondta, nem poke-vadászat volt a célja (és zokon vette a patch kifejezést, mivel szerinte a programja jó, és nem kell foltozni!)
Aa harmadik patch (add-on? :) ) egészen lerövidült az elsőhöz képest és már a pók sem kell bele,
de a V$ üzenetét beáldozta emiatt.
Valószínűleg nem errefelé leszlészen a megoldás

hiányos háttértudásom nem válaszol arra a kérdésre, hogy mi történik akkor, ha egy utasítássor hosszabb, mint a parancs puffere?
merthogy a soreditor a nagy beepelés közepette enged még egynéhány byteot hozzáadni a programsorhoz. kiesik az utolsó? (így ignorálva a sorvégi runt? (kipróbáltam, a FUSE minden további nélkül megette a plusz INK RND*7: hozzáírását is.)

játszottunk a ramtop álltásával, kerestünk rejtett szekvenciákat az adatokban, a színekben, az RND-ben, semmi, csak elfojtott kuncogás Pgyuri felől...

Én polgármesteri hivatal nélkül maradtam. (régen úgy mondták: tanácstalan vagyok)

csory
Speccyalista
Hozzászólások: 49
Csatlakozott: 2012.01.06. 17:42
Tartózkodási hely: Pomáz

Re: Fejtörő (2017-2018)

Hozzászólás Szerző: csory » 2018.01.08. 12:16

"...aki egy kukkot sem ért belőle!"

Kukk = PEEK, hátha itt van valami nekünk elrejtve...

Csak hogy én is beleszóljak :)
- Csory -

gyurco
Speccyalista
Hozzászólások: 41
Csatlakozott: 2017.06.13. 15:20

Re: Fejtörő (2017-2018)

Hozzászólás Szerző: gyurco » 2018.01.08. 13:59

Arra gondoltam, hogy szándékosan van a RUN használva, hogy törölje a változókat? Vagy lenne valami mellékhatása, amit ki kellene használni?

Alternatív megoldás: IM2-es rutint írni, ami a változóterületet kiprinteli :)
De még ez sem jó - a PAUSE közben már üres a változóterület. És ahogy nézem, a ROM elég jól ki is takarítja minden egyes RUN-nál, nem marad ott "szemét"ként sem.

gyurco
Speccyalista
Hozzászólások: 41
Csatlakozott: 2017.06.13. 15:20

Re: Fejtörő (2017-2018)

Hozzászólás Szerző: gyurco » 2018.01.08. 15:03

Biztos vagyok benne, hogy ez sem a megoldás, de:
- Hívjuk le az EDITálni a programsort
- Nyomjuk meg a fel (vagy le) nyilat

És egy érdekes effektben ott az összes jókívánság - igaz, kicsit nehezen olvashatóan :)

Avatar
Pgyuri
Speccyalista
Hozzászólások: 478
Csatlakozott: 2012.01.06. 13:34

Re: Fejtörő (2017-2018)

Hozzászólás Szerző: Pgyuri » 2018.01.09. 19:08

Üdv,

Először is köszönöm mindenkinek, aki a fejtörővel eljátszott. Ebben idén élenjártak a "cs" betűsök, Csaba és Csege, de a többiektől is voltak próbálkozások.

Csaba nagyon sokat dolgozott vele, már-már többet, mint a fejtörő kitalálója. Az biztos, hogy nem jött ki még a BASIC gyakorlatából. Kicsit talán feltörésként értelmezve a fejtörést, de láthatóan nagyon kereste az értelmet a programban.

Csege ellenben logikai úton gondolkozott és közben frissült BASIC szakmai tudása. Gyanakodott mindenre, ami egy fejtörőnél nagyon helyes. Vicces, hogy talán ő járt a legközelebb a megoldáshoz, csak nem érzett rá.

Nem titok, van értelme a programnak, ami burkoltan jelent meg. Nem tettem fel kérdést, nem adtam utasítást, mert most önmaga a program mutatta, hogy valami rejtély övezheti működését. A fejtörő megfogalmazása sok utalást tett, sajnos nem használtatok fel minden információt a leírásból, így a megoldás idén elbújva maradt mindeddig :)

Lássuk hát!

Megoldás:
Ha azon szerencsések közé tartozol, akik a karácsonyfa alatt egy Currah microSpeech interface-t találtak vagy esetleg már korábban születésnapodra kaptál, akkor elég csatlakoztatnod a Spectrumodhoz (emulátorodban engedélyezni), betöltened a fejtörőt és máris nem mondhatod, hogy: "egy kukkot se értek belőle!".

Illetve hát tényleg nem értheted a kis robothangot, de mégis csak neked kíván "boldog uj evet".


Magyarázat:
Ez az interface azt a megoldást választotta a beszéd Spectrumhoz illesztésére, hogy szerkesztő üzemmódban minden lenyomott gombot kimond, de a program futása közben nagyon figyeli az S$ változó értékadását és ha LET utasítással értéket kap, akkor a benne tárolt szöveget "kimondja". Jó-jó, magyarul nem tökéletesen, de furán is nézett volna ki a kódban, ha tele lett volna a kiejtést segítő ismétlő hangzókkal, jelzésekkel.

Háttér finomságok:
A program azért lett egysoros és sorszáma szerint az 1-es, hogy ne lehessen elé beírni bármit is normál módon. De ha valaki mégis ebben gondolkozott volna, akkor azért RUN a vége, hogy azt végleg értelmetlenné tegye.

BORDER, PAPER, CLS kellett, hogy szép színes legyen ... végül is új év!

PAUSE 99 már fontos, mert ha túl gyorsan kap értéket az S$, akkor a kimondás pufferelődik és a kimondott szöveg folyamatos zagyvasággá áll össze, ami nem szép megoldás. Így pont annyit vár, hogy legyen elég ideje kimondani és egyben azért 99, hogy az egysoros program pont a maximális hosszú legyen anélkül, hogy szerkesztésénél hibajelzést adjon, vagyis szabályosan begépelhető.

A többi nyelven szereplő jókívánság próbált a megoldás felé terelni, hiszen láthatóan értelmetlen módon volt az értékadás megoldva, használható programhoz a tömb lett volna megfelelő. Nyom volt az is, hogy miért pont az S$ változóba került a magyar köszöntés.


Konklúzió:
Aki annak idején megnézte (volna) a JoyHero programom (CSSCGC, azaz vacak játékok versenye 2013), egyből rájött (volna) a helyes megoldásra!

Pgyuri

Avatar
mezei
Speccyalista
Hozzászólások: 377
Csatlakozott: 2012.01.06. 14:52

Re: Fejtörő (2017-2018)

Hozzászólás Szerző: mezei » 2018.01.09. 21:15

Hogy ez milyen egyszerű lehetett volna :) De a fenébe, pont nem volt csatlakoztatva a Currah microSpeechem!

bollo uzs emme bollo uzs emme bollo uzs emme bollo uzs emme bollo uzs emme bollo uzs emme bollo uzs emme bollo uzs emme bollo uzs emme bollo uzs emme...
fanzix.hu

Válasz küldése

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég