ANA SAYFA          YARDIM      KAYNAK      HAZIRLAYANLAR                                                                                       <|  1  2  3  |>  
 

KONULAR

 

  DERSLER

  HAZIR DÖK.

  UYGULAMA_PRO.

  PÜF NOKTALAR

  DÖNGÜ_KOM.

  COMPANET DOW.

  APİLER

  LİNKLER

  HACKER

  BAZI_KOMUTLAR

 

 

   DERS ANLATIMI  OYUN

OYUN

MSDos' a göre Windows' ta oyun yazmak oldukça kolaydir. Oyun yazilirken esas olarak DirectX.Pas dosyasina ihtiyaç duyariz.Bu dosyanin avantaji oyundaki bazi efectleri kendisinin yapmasidir. Örnegin DirectXSound' u ele alalim. Bize 2 avantaji vardir.
* Bir sesi belli bir anda oynatmamizi saglar. Bir oyun olusturdugumuzu ve 2 karekterin temas ettikleri anda bir ses çikartmasi gerektiginde çarpisacak sekil ile sesin ayni anda çikmasi gerekir. Bu sesi oynatmamiz istedigimiz anda oynatmamiza olanak verir.
* DirectSound ayni anda 2 veya daha fazla sayida ses oynatmamizi olanak verir.

NOT : DirectX özelliklerini kullanmak istiyorsak bunun için DirectX.pas dosyalari satin alinmasi gerekir. Uzman bir sekilde oyun yazmak istiyorsaniz DirectX' i kullanmaniz gerekir.
DIRECTX KULLANILMADAN YAPILABILECEK OYUNLAR
Delphinin kendi komutlarini kullanarak yapabileceginiz oyunlardir. Örnegin DXBall ve ateri gibi oyunladir. Bunladan bir Ateri oyununu inceleyelim.
ÖRNEK : Basit bir oyun.
KODU : Bu oyun için 17 tane Image resmi kullanildi. Ve bu resimlerin hareketleri ayri ayri saglanmistir.2 Imagelein açiklamalari.
ADI : Virus
Kodadi
: Image1
ADI : AntiVirus
Kodadi
: Image2
ADI : System Dosyasi
Kodadi
: Image3

procedure TForm2.Timer1Timer(Sender: TObject);
var

s:byte;
begin
// 2. image basi ---------------------------------------

Image2.left:=Image2.left-10;// Ilk baslangiçta soldan 10 br. bosluk birakir.
if image1.Left=image2.Left-30 then //Virüsün yiyecegi nesne önüne geldi ise
begin
if image1.Top=image2.Top then // Karsisinda ise
begin
Image2.left:=650; // Virüsün yedigi nesneyi ilk basa gönder.
c:=c-1; // Canini 1 düsür.
mediaplayer1.FileName:='ölüm.wav'; // Media Player' de Ölüm.Wav atanir.
mediaplayer1.Open; //Ölüm.Wav açilir.
mediaplayer1.Play; // Ölüm.Wav çalistirilir.
label4.Caption:=inttostr(c);//Oyundaki can kismi azalir.
if c=0 then // Can 0 ' a esitse
begin
form2.Close;//Form2 kapatilir.
s:=0; //Puan sifirlanir.
showmessage('OYUN BITTI !!!');// Oyun bitti mesaji verir.
end;
end;

if image1.Top-20=image2.Top then //Antivirus 20 br üstünde ise
begin
Image2.left:=650; // Virüsün yedigi nesneyi ilk basa gönder.
c:=c-1; // Canini 1 düsür.
mediaplayer1.FileName:='ölüm.wav';// Media Player' de Ölüm.Wav atanir.
mediaplayer1.Open;//Ölüm.Wav açilir.
mediaplayer1.Play; // Ölüm.Wav çalistirilir.
label4.Caption:=inttostr(c); //Oyundaki can kismi azalir.
if c=0 then // Can 0 ' a esitse
begin
label4.Caption:=inttostr(c); //Oyundaki can kismi azalir
form2.Close;//Form2 kapatilir.
s:=0; //Puan sifirlanir.
showmessage('OYUN BITTI !!!'); // Oyun bitti mesaji verir.
end;
end;

if image1.Top+20=image2.Top then // Virüsün yedigi nesneyi ilk basa gönder.
begin
Image2.left:=650; // Virüsün yedigi nesneyi ilk basa gönder.
c:=c-1; // Canini 1 düsür.
mediaplayer1.FileName:='ölüm.wav'; // Media Player' de Ölüm.Wav atanir.
mediaplayer1.Open; //Ölüm.Wav açilir.
mediaplayer1.Play; // Ölüm.Wav çalistirilir.
label4.Caption:=inttostr(c); //Oyundaki can kismi azalir.
if c=0 then // Can 0 ' a esitse
begin
c:=3;
label4.Caption:=inttostr(c); //Oyundaki can kismi azalir
form2.Close;//Form2 kapatilir.
s:=0; //Puan sifirlanir.
showmessage('OYUN BITTI !!!');// Oyun bitti mesaji verir.
end;
end;
end;

if image2.Left<13 then //virus anti vürüse yakalanmadiysa
begin
Image2.left:=650;// Virüsün yedigi nesneyi ilk basa gönder.
for a:=1 to 11 do //1 'den 11'e kadar dolan
x:=random(a);//1-11 arsinda bir sayi seç
x:=x*40;// Seçtigin sayiyi 40 ile çarp
image2.Top:=X; //Form2' nin üzerinde o yükseklige yerlestir.
end;
if image1.top<0 then image1.top:=400; //virüs asagidan en yukari çikarsa asagi gönder
if image1.top>400 then image1.top:=0;//virüs yukaridan en asagii inerse yukari gönder
if image1.left<10 then image1.left:=670;
// Soldan en saga giderse soldan çikar

// 3. image basi ---------------------------------------
.
.
.

 

İSTEK, YAYINLANMASINI İSTEDİĞİNİZ PROG.  VE ŞİKAYETLERİNİZİ delphikursu@delphikursu.com MAİL ATINIZ