< Linux

Fordítás forrásból

Szerző: Sallai András

Copyright © 2018, Sallai András

Szerkesztve: 2018, 2019

Licenc: CC BY-SA 4.0

Web: https://szit.hu

Star Traders

Legyen a példa kedvéért egy játék, a Star Trader

https://www.zap.org.au/software/trader/ (2018)

Letöltjük az aktuális verziót:

wget https://ftp.zap.org.au/pub/trader/unix/trader-7.12.tar.xz

Kicsomagoljuk:

unxz trader-7.12.tar.xz
tar -xf trader-7.12.tar

Szükséges csomagok telepítése:

apt install build-essential libncurses5-dev libncursesw5-dev

A libncursesw5-dev nélkül lefordul, de magyar nyelven olvashatatlan szöveget kapunk.

Fordítás:

cd trader-7.12
./configure
make

Telepítés:

make install

Problémák: A program tud, magyarul, de a magyar nyelvű környezetben az ékezetes karakterek helytelenül jelennek meg.

2048-cli

Git tároló:

https://github.com/tiehuis/2048-cli

Letöltés:

git clone https://github.com/tiehuis/2048-cli.git

Van Makefile, így nem kell készíteni, mehet a fordítás.

cd 2048-cli
make

Indítás:

./2048

Irányítás:

hjkl és wasd – alapértelmezettként

q – kilépés

myman

Egy PacMan klón.

Webhely:

https://myman.sourceforge.io/ (2018)

Letöltés:

https://sourceforge.net/projects/myman/

Letöltés után egy ehhez hasonló fájlt kapunk:

myman-wip-2009-10-30.tar.gz

Kicsomagolás:

tar -xzf myman-wip-2009-10-30.tar.gz

Fordítás:

cd myman-wip-2009-10-30
make

lunar-lander

Git tároló:

https://github.com/lfuelling/lunar-lander

Letöltés:

git clone https://github.com/lfuelling/lunar-lander.git

Fordítás:

cd lunar-lander
make

Önnek landolnia kell egy űrkapszulával. A rakéták számítógépes vezérlése elromlott, ezért kézzel kell beállítani azok teljesítményét. A rakéták égési sebességét 10 másodpercenként, kell állítani.

Értékek:

0 szabadesés

200 maximális rakéta hajtás

SnakeC

Szükséges csomagok:

apt install build-essential libncurses5-dev

Beszerzés:

git clone https://github.com/Entalpi/SnakeC

Javítás:

nano main.c

Vegyük fel a következő sort:

#include <time.h>

Fordítás:

cd SnakeC
make

Indítás:

./snake

tetris-term

Adott a következő tároló:

https://github.com/Gjum/tetris-term

Beszerzés:

git clone https://github.com/Gjum/tetris-term.git

Fordítás:

make

snake-game

Szükséges ncurses:

apt install libncurses5-dev

Git tároló:

https://github.com/invzhi/snake-game

Beszerzés:

git clone https://github.com/invzhi/snake-game.git

Fordítás:

make

Futtatás:

./snake

A program nem teljes.

nano

A nano egy szövegszerkesztő. Legújabb verzióját leszedhetjük a github.com szerverről:

git clone git://git.savannah.gnu.org/nano.git
cd nano
./autogen.sh
./configure
make
make install

Függőségek

A függőségek telepítése:

apt install pkgconf libncursesw5-dev texinfo

Hogyan derülhet ki, hogy ezek a függőségek?

Lehetséges probléma:

configure: error:
*** The pkg.m4 macros are missing.
*** The pkg-config package needs to be installed when building from git.
*** After fixing this problem, rerun ./autogen.sh.

Megoldás:

apt install pkgconf

Következő lehetséges probléma:

./configure: line 39143: syntax error near unexpected token `NCURSESW,'
./configure: line 39143: `	PKG_CHECK_MODULES(NCURSESW, ncursesw,'

Újból futtatjuk:

./autogen.sh
./configure

/home/andras/id/nano/missing: sor: 81: makeinfo: parancs nem található
WARNING: 'makeinfo' is missing on your system.

apt-file search makeinfo

apt install texinfo

Végül make:

make

Tamagotchi

Github:

https://github.com/Gwennyphar/Tamagotchi

git clone https://github.com/Gwennyphar/Tamagotchi.git

ASCII-pong

Webhely:

https://github.com/ReneHSZ/ascii-pong

Klónozás:

git clone https://github.com/ReneHSZ/ascii-pong.git

2048.c

https://github.com/mevdschee/2048.c

git clone https://github.com/mevdschee/2048.c.git

cd 2048.c
cc -o 2048 2048.c

BattleShipsTerminal

https://github.com/hailstorm75/BattleShipsTerminal

hangman_game

apt install build-essential

git clone https://github.com/anirudh1200/hangman_game.git

cd hangman_game
cc hangman.c

Futtatás:

./a.out

2048Haskell

Ahogy a neve is mutatja Haskell nyelven íródott.

Szükségünk van egy stack parancsra. Telepítsük:

apt install haskell-stack

A program használja az ncurses programozói könyvtárakat ezért telepítsük:

apt install libncurses5-dev libncursesw5-dev

git clone https://github.com/8Gitbrix/2048Haskell.git
git 2048Haskell
stack setup
stack build
stack exec 2048Haskell

cli-blackjack

Java program

Szükséges csomagok telepítése:

apt install git grandle openjdk-8-jdk

git clone https://github.com/GuttermanA/cli-blackjack.git

cd cli-blackjack
grandle build

Ellenőrzött telepítés

Néhány forrásból telepített program nem biztosít eltávolítási lehetőséget (uninstall).

Ezért használjunk a checkinstall programot. A checkinstall program a vele azonos nevű csomagban található. Debian 10 rendszeren csak backports-ból telepíthető.

apt install checkinstall

Ha telepítettük a checkinstallt, forráskód telepítése a következő módon történik:

tar -zxvf source-app.tar.gz
cd source
./configure
make
checkinstall

A checkinstall úgy telepíti a forrásból fordított programot, hogy előbb készít egy .deb csomagot belőle (ez hosszú időt vehet igénybe), majd azt telepíti. A .deb formában telepített csomag bármikor leszedhető.

Utólag

A telepítő utólag is létrehozható. Lépjünk be a forrás könyvtárába, majd:

checkinstall -D --fstrans=no make install

Ez telepítés nélkül létrehozza a .deb csomagot. Telepítsük, majd távolítsuk el.

btop

git clone https://github.com/aristocratos/btop

Fordítás:

make

Futtatás:

bin/btop

Link

https://github.com/topics/terminal-game (2019)