'QBasic Source for Paper RPG
'Wartosci:
'Nazwa$ - imie gracza
'ATAKSILA - sila ataku pdst.
'UNIKSILA - sila uniku
'ATAK1SILA - sila 1. specjala
'ATAK2SILA - sila 2. specjala
'ATAK3SILA - sila 3. specjala
'ATAK1USE - l. uzyc 1. specjala
'ATAK2USE - l. uzyc 2. specjala
'ATAK3USE - l. uzyc 3. specjala
'HP - zycie gracza
'WybranyAtak - wybrany atak:
'1 - atak
'2 - unik
'3 - 1. specjal
'4 - 2. specjal
'5 - 3. specjal
'TURN - kolejka
'KOSC - rzut koscia'
'Wartosci dla gracza maja dopisek GRACZ np.
'ATAKSILAGRACZ'
'Initializacja gry'
10 CLS
RANDOMIZE TIMER
LOCATE 7, 25
PRINT -----------------------
LOCATE 8, 25
PRINT | Paper RPG |
LOCATE 9, 25
PRINT -----------------------
LOCATE 10, 25
PRINT | (C) 2014 by Adrian |
LOCATE 11, 25
PRINT |Wcisnij Enter by grac|
LOCATE 12, 25
PRINT -----------------------
LOCATE 20, 25
PLAY MB C C < A B > C < B > MF
COLOR 4, 0
INPUT Wpisz nazwe gracza: , Nazwa$
COLOR 7, 0
CLS
LOCATE 10, 25
PRINT Wybierz klase CPU
LOCATE 11, 25
COLOR 1, 0
PRINT 1 - robot
LOCATE 12, 25
COLOR 2, 0
PRINT 2 - kosmita
COLOR 3, 0
LOCATE 13, 25
PRINT 3 - czlowiek
LOCATE 14, 25
COLOR 4, 0
PRINT 4 - wlasna
LOCATE 15, 25
COLOR 7, 0
PRINT ? - twoj wybor
LOCATE 15, 24
INPUT , Klasa
PLAY C
IF Klasa = 1 THEN
ATAKSILA = 1
UNIKSILA = 2
ATAK1SILA = 2
ATAK2SILA = 2
ATAK3SILA = 3
ATAK1USE = 3
ATAK2USE = 2
ATAK3USE = 2
HP = 1150
END IF
IF Klasa = 2 THEN
ATAKSILA = 1
UNIKSILA = 3
ATAK1SILA = 3
ATAK2SILA = 2
ATAK3SILA = 2
ATAK1USE = 2
ATAK2USE = 4
ATAK3USE = 2
HP = 1250
END IF
IF Klasa = 3 THEN
ATAKSILA = 2
UNIKSILA = 2
ATAK1SILA = 1
ATAK2SILA = 3
ATAK3SILA = 3
ATAK1USE = 3
ATAK2USE = 2
ATAK3USE = 1
HP = 1000
END IF
IF Klasa = 4 THEN
CLS
INPUT Podaj sile ataku podstawowego: , ATAKSILA
PLAY C
COLOR 4, 0
PRINT Sila uniku 0 grozi zgon... nie, to po prostu psuje gre
COLOR 7, 0
INPUT Podaj sile uniku: , UNIKSILA
PLAY C
INPUT Podaj sile ataku specjalnego 1: , ATAK1SILA
PLAY C
INPUT Podaj sile ataku specjalnego 2: , ATAK2SILA
PLAY C
INPUT Podaj sile ataku specjalnego 3: , ATAK3SILA
PLAY C
INPUT Podaj liczbe uzyc ataku specjalnego 1: , ATAK1USE
PLAY C
INPUT Podaj liczbe uzyc ataku specjalnego 2: , ATAK2USE
PLAY C
INPUT Podaj liczbe uzyc ataku specjalnego 3: , ATAK3USE
PLAY C
COLOR 4, 0
PRINT Radzilbym wybrac ci wartosc powyzej 1000 dla HP
COLOR 5, 0
INPUT Podaj zycie CPU: , HP
PLAY C
END IF
CLS
PRINT Teraz podaj wartosci dla gracza
SLEEP 3
INPUT Podaj sile ataku podstawowego: , ATAKSILAGRACZ
PLAY C
COLOR 4, 0
PRINT Sila uniku 0 grozi zgon... nie, to po prostu psuje gre
COLOR 7, 0
INPUT Podaj sile uniku: , UNIKSILAGRACZ
PLAY C
INPUT Podaj sile ataku specjalnego 1: , ATAK1SILAGRACZ
PLAY C
INPUT Podaj sile ataku specjalnego 2: , ATAK2SILAGRACZ
PLAY C
INPUT Podaj sile ataku specjalnego 3: , ATAK3SILAGRACZ
PLAY C
INPUT Podaj liczbe uzyc ataku specjalnego 1: , ATAK1USEGRACZ
PLAY C
INPUT Podaj liczbe uzyc ataku specjalnego 2: , ATAK2USEGRACZ
PLAY C
INPUT Podaj liczbe uzyc ataku specjalnego 3: , ATAK3USEGRACZ
PLAY C
COLOR 4, 0
PRINT Radzilbym wybrac ci wartosc powyzej 1000 dla HP
COLOR 7, 0
INPUT Podaj zycie gracza: , HPGRACZ
PLAY C
TURN = 0
'Gra wlasciwa (od DO... LOOP)
DO
CLS
SELECT CASE Klasa
CASE 1
PRINT Robcio - Robot
PRINT Atak --- 1
PRINT Unik --- 2
PRINT Laser -- 2;
PRINT ATAK1USE
PRINT Rakieta 2;
PRINT ATAK2USE
PRINT Bomba -- 3;
PRINT ATAK3USE
PRINT
COLOR 4, 0
PRINT HP
COLOR 7, 0
CASE 2
PRINT Koma - Kosmita
PRINT Atak --- 1
PRINT Unik --- 3
PRINT Zap ---- 3;
PRINT ATAK1USE
PRINT Banka -- 2;
PRINT ATAK2USE
PRINT Ogien -- 2;
PRINT ATAK3USE
PRINT
COLOR 4, 0
PRINT HP
COLOR 7, 0
CASE 3
PRINT Chief - Czlowiek
PRINT Atak --- 2
PRINT Unik --- 2
PRINT Shotgun 1;
PRINT ATAK1USE
PRINT Granat - 3;
PRINT ATAK2USE
PRINT Maszynow 3;
PRINT ATAK3USE
PRINT
COLOR 4, 0
PRINT HP
COLOR 7, 0
CASE 4
PRINT ??? - Klasa Wlasna
PRINT Atak --- ;
PRINT ATAKSILA
PRINT Unik --- ;
PRINT UNIKSILA
PRINT Atak1 -- ;
PRINT ATAK1SILA;
PRINT ;
PRINT ATAK1USE
PRINT Atak2 -- ;
PRINT ATAK2SILA;
PRINT ;
PRINT ATAK2USE
PRINT Atak3 -- ;
PRINT ATAK3SILA;
PRINT ;
PRINT ATAK3USE
PRINT
COLOR 4, 0
PRINT HP
COLOR 7, 0
CASE ELSE
PLAY ML C16 E4
PRINT TTTT
PRINT TTTT
PRINT TT RAFIL CI SIE CHYBA JAKIS ERROR!
PRINT TT
PRINT TT
PRINT Paper RPG nie moze odczytac danych klasy;
PRINT Klasa;
PRINT !
END
END SELECT
PRINT
PRINT VS.
PRINT
PRINT Nazwa$;
PRINT - Gracz
PRINT Atak --- ;
PRINT ATAKSILAGRACZ
PRINT Unik --- ;
PRINT UNIKSILAGRACZ
PRINT Atak1 -- ;
PRINT ATAK1SILAGRACZ;
PRINT ;
PRINT ATAK1USEGRACZ
PRINT Atak2 -- ;
PRINT ATAK2SILAGRACZ;
PRINT ;
PRINT ATAK2USEGRACZ
PRINT Atak3 -- ;
PRINT ATAK3SILAGRACZ;
PRINT ;
PRINT ATAK3USEGRACZ
PRINT
COLOR 4, 0
PRINT HPGRACZ
COLOR 7, 0
SLEEP
LOCATE
KOSC = INT(RND * 6 + 1)
SELECT CASE TURN
CASE 0
LOCATE 17, 55
PRINT Wartosc Kosci: ; KOSC
LOCATE 18, 55
INPUT Wybierz atak (1-5), WybranyAtakGRACZ
SELECT CASE WybranyAtakGRACZ
CASE 1
PLAY C16 D16 C4
LOCATE 19, 55
COLOR 4, 7
CLS
PRINT Atakujesz - Atak!
HP = HP - (ATAKSILAGRACZ * KOSC)
SLEEP 2
COLOR 7, 0
CLS
CASE 2
PLAY C16 D16 E16
LOCATE 19, 55
COLOR 2, 7
CLS
PRINT Unikasz!
HPGRACZ = HPGRACZ + (UNIKSILAGRACZ * KOSC)
SLEEP 2
COLOR 7, 0
CLS
CASE 3
IF ATAK1USEGRACZ > 0 THEN
PLAY C16 D16 C4
LOCATE 19, 55
COLOR 5, 7
CLS
PRINT Uzywasz Ataku 1!
HP = HP - (ATAK1SILAGRACZ * KOSC)
ATAK1USEGRACZ = ATAK1USEGRACZ - 1
SLEEP 2
COLOR 7, 0
CLS
END IF
CASE 4
IF ATAK2USEGRACZ > 0 THEN
PLAY C16 D16 C4
LOCATE 19, 55
COLOR 5, 7
CLS
PRINT Uzywasz Ataku 2!
HP = HP - (ATAK2SILAGRACZ * KOSC)
ATAK2USEGRACZ = ATAK2USEGRACZ - 1
SLEEP 2
COLOR 7, 0
CLS
END IF
CASE 5
IF ATAK3USEGRACZ > 0 THEN
PLAY C16 D16 C4
LOCATE 19, 55
COLOR 5, 0
CLS
PRINT Uzywasz Ataku 3!
HP = HP - (ATAK3SILAGRACZ * KOSC)
ATAK3USEGRACZ = ATAK3USEGRACZ - 1
SLEEP 2
COLOR 7, 0
CLS
END IF
SLEEP
END SELECT
TURN = 1
CASE 1
WybranyAtak = INT(RND * 5 + 1)
SELECT CASE WybranyAtak
CASE 1
PLAY C16 D16 C4
LOCATE 6, 55
COLOR 4, 7
CLS
PRINT Wrog Atakuje - Atak!
HPGRACZ = HPGRACZ - (ATAKSILA * KOSC)
SLEEP 2
COLOR 7, 0
CLS
CASE 2
PLAY C16 D16 E16
LOCATE 6, 55
COLOR 2, 7
PRINT Wrog Unika!
HP = HP + (UNIKSILA * KOSC)
SLEEP 2
COLOR 7, 0
CLS
CASE 3
IF ATAK1USE > 0 THEN
PLAY C16 D16 C4
LOCATE 6, 55
COLOR 5, 7
PRINT Wrog Uzywa Ataku 1!
HPGRACZ = HPGRACZ - (ATAK1SILA * KOSC)
ATAK1USE = ATAK1USE - 1
SLEEP 2
COLOR 7, 0
CLS
END IF
CASE 4
IF ATAK2USE > 0 THEN
PLAY C16 D16 C4
LOCATE 6, 55
COLOR 5, 7
PRINT Wrog Uzywa Ataku 2!
HPGRACZ = HPGRACZ - (ATAK2SILA * KOSC)
ATAK2USE = ATAK2USE - 1
SLEEP 2
COLOR 7, 0
CLS
END IF
CASE 5
IF ATAK3USE > 0 THEN
PLAY C16 D16 C4
LOCATE 6, 55
COLOR 5, 0
PRINT Wrog Uzywa Ataku 3!
HPGRACZ = HPGRACZ - (ATAK3SILA * KOSC)
ATAK3USE = ATAK3USE - 1
SLEEP 2
COLOR 7, 0
CLS
END IF
SLEEP
END SELECT
TURN = 0
END SELECT
IF HPGRACZ < 0 THEN
CLS
COLOR 4, 0
PRINT Przegrales. Sprobuj jeszcze raz...
PLAY C < B > C
COLOR 7, 0
PRINT
PRINT Wcisnij dowolny klawisz...
SLEEP
GOTO 10
END IF
IF HP < 0 THEN
CLS
COLOR 2, 0
PRINT Wygrales! Sprobuj wygrac z trudniejszym przeciwnikiem!
PLAY E4E4F4G4G4F4E4D4C4C4D4D4E4D4C4C4
COLOR 7, 0
PRINT
PRINT Wcisnij dowolny klawisz...
SLEEP
GOTO 10
END IF
LOOP