{"id":7125,"date":"2025-01-14T19:31:40","date_gmt":"2025-01-14T19:31:40","guid":{"rendered":"https:\/\/howtogeek.blog\/pl\/?p=7125"},"modified":"2025-01-14T19:31:40","modified_gmt":"2025-01-14T19:31:40","slug":"exploring-doom-and-tetris-embedded-within-a-pdf-document","status":"publish","type":"post","link":"https:\/\/howtogeek.blog\/pl\/exploring-doom-and-tetris-embedded-within-a-pdf-document\/","title":{"rendered":"Eksploracja DOOM i Tetris osadzonych w dokumencie PDF"},"content":{"rendered":"<h2>Odkrywaj fascynuj\u0105cy \u015bwiat gier PDF: graj w Tetrisa i DOOM-a w plikach PDF!<\/h2>\n<p>Wiele os\u00f3b postrzega pliki PDF jako statyczne pliki do wy\u015bwietlania tekstu i obraz\u00f3w, ale ostatnie post\u0119py przekszta\u0142ci\u0142y je w interaktywne \u015bcie\u017cki do gier. Odkryj, jak klasyczne gry, takie jak Tetris i DOOM, mo\u017cna teraz gra\u0107 w dokumentach PDF dzi\u0119ki innowacyjnym skryptom PDF i technologii przegl\u0105darek.<\/p>\n<h2>Uruchamianie Tetrisa w przegl\u0105darce z plikiem PDF<\/h2>\n<p>Thomas Rinsma, oddany analityk bezpiecze\u0144stwa i programista, by\u0142 pionierem pomys\u0142u w pe\u0142ni funkcjonalnej wersji Tetrisa, kt\u00f3ra dzia\u0142a w pliku PDF. To wyj\u0105tkowe do\u015bwiadczenie jest dost\u0119pne w popularnych przegl\u0105darkach internetowych, takich jak Google Chrome (i inne przegl\u0105darki oparte na Chromium), a tak\u017ce Mozilla Firefox. Ciekawi? Wypr\u00f3buj <a href=\"https:\/\/th0mas.nl\/downloads\/pdftris.pdf\" target=\"_blank\">plik PDF Rinsmy<\/a> .<\/p>\n<figure class=\"wp-block-image\"><img alt=\"Zrzut ekranu Tetrisa w formacie PDF\" class=\"wp-image\" decoding=\"async\" height=\"905\" loading=\"lazy\" src=\"https:\/\/cdn.howtogeek.blog\/wp-content\/uploads\/2025\/01\/clipboard-jan-14-2025-at-2-24-pm.webp\" title=\"Zrzut ekranu Tetrisa w formacie PDF\" width=\"1245\"\/><figcaption>Ekscytuj\u0105cy zrzut ekranu przedstawiaj\u0105cy uruchomionego Tetrisa w pliku PDF.<\/figcaption><\/figure>\n<p>W swoim informacyjnym wpisie na blogu Rinsma omawia cz\u0119sto pomijane mo\u017cliwo\u015bci plik\u00f3w PDF w nowoczesnych \u015brodowiskach. Podczas gdy jeste\u015bmy przyzwyczajeni do przegl\u0105dania plik\u00f3w PDF jako dokument\u00f3w tylko do odczytu, istnieje w nich znaczny potencja\u0142 skryptowy \u2014 szczeg\u00f3lnie przy u\u017cyciu PDFium (u\u017cywanego przez Chromium) lub PDF.js (dla Firefoksa).<\/p>\n<h3>Zrozumienie mo\u017cliwo\u015bci skryptowania PDF<\/h3>\n<ul>\n<li><strong>Dynamiczna zawarto\u015b\u0107:<\/strong> pliki PDF mog\u0105 obs\u0142ugiwa\u0107 elementy formularzy, przyciski i pola wyboru, co pozwala na tworzenie interaktywnych tre\u015bci.<\/li>\n<li><strong>Integracja JavaScript:<\/strong> Dzi\u0119ki w\u0142\u0105czeniu obs\u0142ugi JavaScript, zdarzenia mog\u0105 by\u0107 wyzwalane w wyniku interakcji u\u017cytkownika z tymi elementami, co powoduje dynamiczn\u0105 modyfikacj\u0119 zawarto\u015bci pliku PDF.<\/li>\n<li><strong>Projekt oparty na siatce:<\/strong> R\u00f3\u017cnorodna funkcjonalno\u015b\u0107 dzia\u0142a jak siatka gry, w kt\u00f3rej przyciski pe\u0142ni\u0105 funkcj\u0119 \u201epikseli\u201d, kt\u00f3re gracze mog\u0105 kontrolowa\u0107, klikaj\u0105c je lub wprowadzaj\u0105c dane z klawiatury w polach tekstowych.<\/li>\n<\/ul>\n<h2>O\u017cywianie DOOM-a w pliku PDF<\/h2>\n<p>Rinsma nie zatrzyma\u0142 si\u0119 na Tetrisie; podj\u0105\u0142 si\u0119 ambitnego zadania przeniesienia legendarnej gry FPS DOOM do formatu PDF. Ten projekt bazuje na inicjatywie <a href=\"https:\/\/github.com\/wojciech-graj\/doom-ascii\" target=\"_blank\">DOOM-ASCII<\/a> , kt\u00f3ra umo\u017cliwia grywalno\u015b\u0107 w DOOM w \u015brodowiskach wy\u0142\u0105cznie tekstowych przy u\u017cyciu znak\u00f3w ASCII. Rinsma wykorzysta\u0142 WebAssembly wraz z <a href=\"https:\/\/emscripten.org\/\" target=\"_blank\">Emscripten<\/a> , aby skompilowa\u0107 to pod k\u0105tem zgodno\u015bci z przegl\u0105dark\u0105.<\/p>\n<p>Wypr\u00f3buj DOOM PDF osobi\u015bcie, odwiedzaj\u0105c <a href=\"https:\/\/doompdf.pages.dev\/doom.pdf\" target=\"_blank\">DoomPDF<\/a> . Na razie dzia\u0142a p\u0142ynnie w przegl\u0105darkach Chrome i Chromium.<\/p>\n<figure class=\"wp-block-image\"><figcaption>Intensywny moment uchwycony w grze DOOM uruchomionej w pliku PDF.<\/figcaption><\/figure>\n<h3>Wyzwania i ograniczenia gier PDF<\/h3>\n<p>Chocia\u017c port DOOM daje intryguj\u0105cy wgl\u0105d w potencja\u0142 gier w plikach PDF, istniej\u0105 pewne ograniczenia. Na przyk\u0142ad gra obecnie dzia\u0142a z grafik\u0105 monochromatyczn\u0105, zamiast zawiera\u0107 kolorowe przedstawienia, kt\u00f3re mo\u017cna znale\u017a\u0107 w oryginalnych wersjach. Jak zauwa\u017cy\u0142 Rinsma, \u201eNawet dla ekranu GameBoya (160x144x3) obejmuje to prawie 70 000 p\u00f3l, co znacznie spowalnia wydajno\u015b\u0107\u201d.<\/p>\n<h2>Dalsze eksploracje dzi\u0119ki zasobom GitHub<\/h2>\n<p>Dla zainteresowanych stron\u0105 techniczn\u0105 Rinsma udost\u0119pni\u0142 kod \u017ar\u00f3d\u0142owy zar\u00f3wno <a href=\"https:\/\/github.com\/ThomasRinsma\/pdftris\" target=\"_blank\">PDF Tetris,<\/a> jak i <a href=\"https:\/\/github.com\/ThomasRinsma\/pdfdoom\" target=\"_blank\">DoomPDF<\/a> na GitHub. Ta wiedza b\u0119dzie nieoceniona dla programist\u00f3w aspiruj\u0105cych do tworzenia interaktywnych plik\u00f3w PDF.<\/p>\n<h3>Ostatnie przemy\u015blenia i przysz\u0142o\u015b\u0107 gier PDF<\/h3>\n<p>To prze\u0142omowe podej\u015bcie otwiera drzwi dla bardziej z\u0142o\u017conych gier PDF w przysz\u0142o\u015bci. Zrozumienie ogranicze\u0144 i mo\u017cliwo\u015bci skryptowania zapewnia obiecuj\u0105c\u0105 perspektyw\u0119 dla deweloper\u00f3w zainteresowanych przesuwaniem granic tradycyjnych zastosowa\u0144 PDF.<\/p>\n<p>\u0179r\u00f3d\u0142o: <a href=\"https:\/\/th0mas.nl\/2025\/01\/12\/tetris-in-a-pdf\/\" target=\"_blank\">Thomas Rinsma<\/a><\/p>\n<h2>Cz\u0119sto zadawane pytania<\/h2>\n<h3><strong>1. Czy w te gry mo\u017cna gra\u0107 na dowolnej przegl\u0105darce?<\/strong><\/h3>\n<p>Obecnie pliki PDF Tetris i DOOM dzia\u0142aj\u0105 najlepiej w Google Chrome i innych przegl\u0105darkach opartych na Chromium, a tak\u017ce w Mozilla Firefox. Inne przegl\u0105darki mog\u0105 nie obs\u0142ugiwa\u0107 wymaganych funkcji skryptowych.<\/p>\n<h3><strong>2. Czy istniej\u0105 jakie\u015b specjalne wymagania dotycz\u0105ce uruchamiania gier PDF?<\/strong><\/h3>\n<p>Nie jest potrzebne \u017cadne specjalne oprogramowanie poza nowoczesn\u0105 przegl\u0105dark\u0105 internetow\u0105 obs\u0142uguj\u0105c\u0105 skrypty PDF. Upewnij si\u0119 tylko, \u017ce masz zainstalowan\u0105 najnowsz\u0105 wersj\u0119 przegl\u0105darki, aby uzyska\u0107 najlepsze wra\u017cenia.<\/p>\n<h3><strong>3. Czy mog\u0119 modyfikowa\u0107 kod \u017ar\u00f3d\u0142owy w moich w\u0142asnych projektach?<\/strong><\/h3>\n<p>Oczywi\u015bcie! Kod \u017ar\u00f3d\u0142owy zar\u00f3wno Tetrisa, jak i adaptacji PDF DOOM jest dost\u0119pny na GitHub. Mo\u017cesz go wykorzysta\u0107 jako podstaw\u0119 dla w\u0142asnych projekt\u00f3w lub dalej rozwija\u0107 te gry.<\/p>\n<p><a class=\"xiaomi\" href=\"https:\/\/www.howtogeek.com\/doom-tetris-pdf-ports\/\" rel=\"noopener noreferrer nofollow\" target=\"_blank\">\u0179r\u00f3d\u0142o i obrazy<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Odkrywaj fascynuj\u0105cy \u015bwiat gier PDF: graj w Tetrisa i DOOM-a w plikach PDF! Wiele os\u00f3b postrzega pliki PDF jako statyczne pliki do wy\u015bwietlania tekstu i obraz\u00f3w, ale ostatnie post\u0119py przekszta\u0142ci\u0142y je w interaktywne \u015bcie\u017cki do gier. Odkryj, jak klasyczne gry, takie jak Tetris i DOOM, mo\u017cna teraz gra\u0107 w dokumentach PDF dzi\u0119ki innowacyjnym skryptom PDF [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[149,858,176,9],"class_list":["post-7125","post","type-post","status-publish","format-standard","hentry","category-how-to","tag-pdf","tag-video-games","tag-web","tag-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/howtogeek.blog\/pl\/wp-json\/wp\/v2\/posts\/7125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/howtogeek.blog\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/howtogeek.blog\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/pl\/wp-json\/wp\/v2\/comments?post=7125"}],"version-history":[{"count":1,"href":"https:\/\/howtogeek.blog\/pl\/wp-json\/wp\/v2\/posts\/7125\/revisions"}],"predecessor-version":[{"id":7126,"href":"https:\/\/howtogeek.blog\/pl\/wp-json\/wp\/v2\/posts\/7125\/revisions\/7126"}],"wp:attachment":[{"href":"https:\/\/howtogeek.blog\/pl\/wp-json\/wp\/v2\/media?parent=7125"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/howtogeek.blog\/pl\/wp-json\/wp\/v2\/categories?post=7125"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/howtogeek.blog\/pl\/wp-json\/wp\/v2\/tags?post=7125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}