Programování hry v Pascalu na gymplu, část 2.,Qex Soft.

Kategorie >>Programování>> Programování hry v Pascalu na gymplu, část 2.,Qex Soft.


První část obrázků a info je možno shléhnout zde.


 


Pár dalších obrázků, dal jsem do kupy většinu, bohužel nějaké pěkné obrázky jsou nenávratně pryč....


461_4A.jpg


Třída 4.A - tam jsem pobýval já..


 


461_4A-B-BUF.jpg


Chodba v přízemí - vstup do tříd (včetně 4.A), bufetu a tělocvičny.


 


461_BUFET.jpg


Bufet vevnitř, bez paní bufetářky a hvězdiček za pár haléřů.


 


461_DVUR.jpg


Dvůr gymplu, dříve i vstup pro žáky do školy.


 


461_FY-PC-KA.jpg


Fyzikální kabinet v přízemí gymnázia bez exponátů.


 


461_FYZ-PC.jpg


Chodbička k fyzikálnímu kabinetu, počítačové učebně a fyzikální učebně.


 


461_HRAZIN.jpg


Restaurace Na Hrázi včetně zabijáka, pana Cimburka a nahodilých hostů. Tradiční stánek jičínských studentů LG a SPŠ.


 


461_INVENTOR.jpg


Inventář pro předměty - zde je třeba dodat, že se jednalo o adventuru stylu Agent Mlíčňák.


 


461_JICIN.jpg


Prvoobrázek k menu hry.


 


461_K_AULE.jpg


Joskova geniálně rozložená perspektiva.


 


461_MAPA.jpg


Rychlá zmenšená izometrická mapka pro rychlejší přesun z bodu A do bodu B.


 


461_MENU.jpg


Lepší menu pro hru..


 


461_MENUX.jpg


Rychlé přesun bez mapky..


 


461_NASTENKA.jpg


Nástěnka s informacemi, úkoly, atp.


 


461_OBSLUHA.jpg


Rychlé meníčko ve hře.. Rychlá navigace.


 


461_PC-FYZ-K.jpg


Druhá část matematicko-fyzikálního kabinetu - sídla učitelů Zbyndi Fejka, Mádlíka, pana Bureše a dalších.


 


461_PKOSE.jpg


Tělocvična - autor obrázku uplně jasný jičínský malíř..


 


461_POCITACE.jpg


Počítačová učebna, zde jsme začínali a já i skončil :) na pár let, do pozdějších chvilkových pokusů s assemblerem.


 


461_POSILOV_.jpg


Vstup do posilovny, obrázek má chybu, z diskety jsem jej v lepším stavu nedokázal dostat..


 


461_PRLG02.jpg


Před Lepařovým gymnáziem.


 


461_PRLG-POS.jpg


Lepařovo gymnázium - pohled z části dvora se vstupem do posilovny a schody ne do nebe, nýčko na hřiště.


 


461_SBOR-KAN.jpg


Sborovna, kancelář ředitele a sekretářky (původní pozice) a kopírka.


 


461_UVOD02.jpg


Úvodní promluvení do duše hráče a nepříliš jasné seznámení s jeho funkcí ve hře.


 


461_WC.jpg


Záchodky v prvním patře budovy LG.


 


461_WC-KNIH.jpg


Lavička vedle záchodků z předchozího obrázku.


 


461_ZAC01DOM.jpg


Informatické zprávy po splnění úkolu, při přesunech, apod. Tento oznamuje momentální pozici v občerstvovně Na hrázi.


 


Trénigovej deník při programování hry:


 


Nocnik(poznamky pro pozdejsi nepouziti)

9.12.1995 :
zatim 715+40=755 radku;je 22.10 pokracuju ...
dnes sem rozchodil cast :obsluha esc klavesy odchod(hra de pouzit jako
demoverze)
velikost .exe souboru je 17712b(malo co??)musime Maxnout...
dodatek :vyresen castecne problem obsluha>mapa
velikost .exe = 18800b
Malem sem zapomel > >> koupil sem 32 MB EDO RAM !!!
chyby pri mackani esc > obsluha kursor mysi nekdy nezmizi

10.12.
rano 8.54:nic moc skoro sem prisel pozde na dejepis(zasral sem si kalhoty
od kola (nemam blatniky))
17:velikost zvetsena na 18880b
vyresen problem mackani tlacitka mapa
vyresen problem button2 > obsluha2 castecne
DU to ukazat Joskoj - prinutit ho nakreslit asi 3 obrazky
ostatni obrazky potrebujou silne dodelat a nakreslit dalsi
>Joska nakresli chodba_aula

21.47:
pridana pred lg-posilovnou (dorysovat)
velikost souboru 19072b /zitra padne 20000B/
32561 bytes OF CODE
2,626,101 bytes in 29 Pcx files
22.03.55 presne schluss

12.12.
19.59: start po kratkem odreagovani v OMF
19264bytes
udelat satny,kabinet u PC'S ,riditelna, !>>u auly<
22.46.45
19456bytes konec dne u PC(kabinet skoro hotov)

19.12.1997
:vyresena pisma,pohyb predmetu
velikost .exe: 22224byte{slu#sn|y docela ne?}
font s carkama a hackama hotof

20.12.
program urychlen pri prechazeni mezi mistnostmi(obrazek se pri mackani
nacita jen jednou)
blbosti vytahnuty >velikost .exe:20304bytes

22.12.
velikost .exe:20688bytes
celkem 22 mistnosti

3.1.1998
konecne doma z Sumavy
celkem 24 lokaci
velikost : .exe >21024bytes
2,784,563 bytes in 43 files
odpoledne:
.exe: 21904bytes
nakresleny predmety
hotov zakl. scenar
chybi zatim asi 5 misnosti (celkem jich bude pres 30)
vecer :
veci nakresleny
.exe: 27408 bytes
doresit asi prerusenim casovace :mys jede po predm.-napis
za asi 15 minut bylo doreseno!!!!!!!!uspech,uspech,Thanks SPACE ENERGY
.exe:27456 -n|apis Mas Pullitr

4.1.1998
.exe:27936 -n|apis Mas Klic
sere me to tak ze bych rozmlatil zeleznou tycej monitor , snad najdu jednu
z mnoha chyb co sem kdy udelal>>Mammm tooo mamamamammm tooooo
>chyba >prepisuji si tAk array[0..550,0..15] na array[0..15,0..550]!blbost!
dnes koncim udelal sem dost prace
.exe :29,136 bytes

7.1.1998
vcera mi to moc neslo
podle napadu pepy sem predelal gameTpu > gameTpu2
za pouziti ne tak moc slozite struktury:
room=record
..
..
end;
rooms[1..25]of room;
ktera umozni pri prejizdeni mysi pres predmet vypsat resezec
predmetu muze byt kolik chci - pointer
ted to du cely predelat , da to asi praci
vyhody> snadnejsi operace s hrou, rychlejsi a mensi kod hry
skoro hotovo prochazeni
test:ok
drobna chyba(spletl sem si obrazky - jina mistnost)
well done soldier
hovno
zastranej kram

podarilo se ale asi po 5 hodinach hledani nekolika malych chyb
musim , #zenou me do postele lezet (chripka)

asi 8.1.1998
podarilo se vse co sem chtel zatim udelat(Landa za to muze)
UKOLY:
grafika:
zlepsit font(neni peknej),zlepsit napisy(ostuda),dokreslit mistnosti
zkusit sehnat proc. setBank > rychlou pomoci I/O portu ;{na Internetu}
postava+pohyby postavy
ovladnout svet preruseni>pohyby ostatnich(motyl)
sound:
naucit se s DMA >- Soundblaster
nahrat zvuky
zkusit hudbu (mid,...)
program:
zkusit po inicializaci grafiky pomoci assembleru prejit do chraneneho modu
-mozna nebude za potrebi(neni zas tak velky stack,data ..)
ale jiste bude zapotrebi pri dalsi hra

hra:
udelat protected game > no copies
(na install disketu si zapsat neco+na nainstalovany program si neco zapsat)
zacit delat reklamu asi 2 mesice pred ukoncenim--->
vyvola davove silenstvi


>asi bude potreba prejit do PROTECTED MODU
program: max mnozs.v realu 127 mistnosti
a to tam zatim neni vse takze asi 40 misnosti
napsal sem kecy ..
.exe :28,416 bytes

11.1.
text vycentrovan
.exe: 29,040 bytes

2.2.
podarili se pokusy s int vectory

6.2.
.exe :29.904 bytes
.exe :29.872 bytes ;urychlen kod (neprepisuje se writePalette...)
je nutno dodelat >mapa/pohyb mysi+ukazovani to co je na kurzoru
.exe 30.112bytes
.exe 30.272bytes
musi se odstranit inc(pocetkecu)
30.672

7.2.
bytes:
30.768
32.976 :cely .EXE
33.216

29.3.
po kolizi a oprave HDD :
1681 code lines
.exe :22,192 BYTES
1699 code lines
.exe :22,768 bytes

2.4.
1759 code
.exe 23,536

6.4.
1783 code
23 712bytes
vraceni predmetu ok

7.4.
1783 lines code
24 032b
1789 l
24 064 b
!!!hotova prace se skovavanim predmetu!!!

16.4.
po pisemkach sloh vcera a dnes english >KO<
1846 l
24 352b


17.4. ! zapomel jsem : prodana 8x CD-ROM Samsung za 2000 !
David je nemocen
1879 l
24 704b
1919 l
25 136b ;prace s over OK!
s demem , vyber: 26 432b

18.4.
1937 l
26 160b ; s DEMEM: 27 424b

22.4.
predelavam vse na ver 1.05 > setreni Mem

23.4. PENDEPON !!!
1946 l
25 248b ;nacita se vzdy jen 1 mistnost

1970 l
25 296b ;well done soldier

1971 l
25 392b -funguje pouziti predmety

24.4.
kresleny obrazky,ASM,..

25.4.

1967 l
25 504b{the 16th nejvetsi}
pridana INVENTORY screen;zlepseny some pictures
**************************************************
2000 LINES OF CODE !!!!!
25 888 Bytes Of Exe File

27.4.

2529l
24 624b - assembler-zrychleno,zmenseno
2635l
26 288b
trochu to padalo - nedostatek mem,musi se release(hranice)
2679l
27 440b {13.nejvetsi}y


 


 


 




Ukázka další jednotky pro naši hru...


 


Unit GameTpu5;
{$F+}
interface
uses gr,mouse,fontX,pom5,s5,sys,deklar;

(* procedures *)

procedure Ngame;

implementation

var
nazev :string[12];
const
C01 =40;
{****************************************************************************}

(***********************************************************)
function Intro:boolean;var xx,yy:integer;pok:boolean;begin
(***********************************************************)
flushKeyb;intro:=true;Marray(570,404,618,459);
loadPcx('uvod02.pcx',palette);
writePalette(palette,255);Men(590,447,xx,yy,c01);
{570,404;618,431 and 570,437;597,459}
if (xx=-1)or(yy=-1) then intro:=false;
if ((yy>=404)and(yy<=431))then intro:=false;
END;{****************************************************************************}


{****************************************************************************}
{****************************************************************************}
{ Hlavni procedura }
procedure MistnostX;
{****************************************************************************}
{****************************************************************************}
var
pocM,cislo,oC :byte;
mx,my :integer;
konec :boolean;
cBarva :byte;

begin

cislo:=19;oC:=0;
marray(5,5,635,475);

pismo2mem;

Mpos(120,120);konec:=false;

repeat
if(oC<>cislo)then begin
release(Hranice1);{odstranim z pameti zbytecnosti}
initOver(cislo);
initPredmety(cislo);
IniTVeci(cislo);
NactiTelevizi(cislo,cBarva);
oC:=cislo;
writePalette(palette,255);
end;


if (getVysM(cislo,mx,my,cBarva)=1)then konec:=true{kdyz neni zmena misnosti}
{1 = exit the game my Lord ?!.}
else{zmena};

until konec;
end;

{****************************************************************************}
function Menu:byte;
var cinnost:boolean;x1,y1,x2,y2:integer;begin
repeat
Marray(507,294,609,406);
loadpcx('menu.pcx',palette);writePalette(palette,255);
x1:=540;y1:=320;
repeat
Men(x1,y1,x1,y1,12);
{ New game : 294-315
Load game: 325-345
Info : 355-375
End : 385-406}
cinnost:=false;
if((y1>294)and(y1<315))then begin menu:=1;cinnost:=true;end;
if((y1>325)and(y1<345))then begin menu:=2;cinnost:=true;end;
if((y1>355)and(y1<375))then begin menu:=3;cinnost:=true;end;
{if (keypressed) then ch:=readkey;}
if (je_v_buf(1,27))then begin cinnost:=true;menu:=0;end;
until(((y1>294)and(y1<315))or((y1>325)and(y1<345))or((y1>385)and(y1<406)))or(cinnost);

if ((y1>385)and(y1<406))then begin menu:=0;cinnost:=true;end;

until cinnost;
flushKeyb;
end;

{**********************nova hra****************************}
function NewGame:boolean;var co:byte;go:boolean;xx,yy:integer;err:string;begin
clrscrX('x',1);go:=true;NewGame:=true;
{wrt(0,1,'*********************************************************************',4);}
wrt(1,2,'Qex Soft , 1995 - 98',11);
if(INITstruc(err,pocetPredmetu))then wrt(1,3,'INIT predmetu,veci,rooms... Ok',1)
else begin wrt(1,3,err,13);go:=false;newGame:=false;end;
{wrt(0,24,'*********************************************************************',4);}
delay(400);
if go then begin
initxtended; {640x480 256}
initmouse;
{ if Intro then begin
loadPcx('zac01dom.pcx',palette);fadeIN(palette,2);delay(0);
end;{intro,newgame}

repeat
flushKeyb;
{ co:=menu;
}

co:=1;
case co of
1:mistnostX;
end;
co:=0;
until co=0;

end;
flushKeyb;
end;
{$F-}

procedure Ngame;begin
release(heapOrg);{vycistim prostor}
if not(newGame)then begin
wrt(1,4,'Init False',12);
end
else begin grafika(2);
wrt(1,1,'Qex Soft 1995-98',12);
wrt(1,2,'Version 1.05',13);
end;
flushkeyb;
release(heapOrg);
wrt(0,6,'Back to system >',7);
cursorON;gXY(1,7);
end;
end.






Vloženo: 08.01.2009 16:50
Přečteno:4089
Autor: David Mizera

Hlasů: 4 Hodnocení(jako ve škole): 1.25
 

Komentáře (0)

   -     Nový Komentář