Tetris néhány kilobájtban?
A nyolcvanas években a Commodore 64 nemcsak játékplatform volt, hanem programozási játszótér is. A BASIC interpreter azonnal rendelkezésre állt bekapcsolás után, így egy teljes játék – akár egy Tetris-szerű logikai program – is elkészíthető volt pusztán néhány száz sor kódból.
Egy Tetris megírása BASIC-ben természetesen kompromisszumokat igényelt. A grafika gyakran karakteres módban készült, a pályát egyszerű karakterek rajzolták ki, és a blokkok mozgását ciklusok vezérelték.
0 12--REM *** FIREFOX *** 10 PRINT "**** MINI TETRIS ****" 20 PRINT "LEFT: A RIGHT: D" 30 PRINT "DROP: S ROTATE: W" 40 PRINT 50 FOR Y=1 TO 20 60 PRINT ". . . . . . . . . ." 70 NEXT Y 80 PRINT 90 PRINT "PRESS RUN TO START" 100 X=5 110 Y=1 120 PRINT "BLOCK AT ";X;",";Y 130 FOR T=1 TO 5 140 Y=Y+1 150 PRINT "FALLING TO ";X;",";Y 160 NEXT T 170 PRINT "BLOCK LANDED" 180 PRINT "GAME OVER"
A Tetris alaplogikája BASIC-ben viszonylag egyszerű: egy változó tárolja a blokk pozícióját, egy ciklus folyamatosan növeli az Y koordinátát, és minden iteráció után a képernyő újrarajzolódik.
Az alábbi rövid BASIC listing nem egy teljes Tetris játék, inkább egy demonstráció arra, hogyan lehet egy leeső blokk logikáját megvalósítani. [...]
123