Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Delphi: Igra na foru Bounca

[es] :: Pascal / Delphi / Kylix :: Delphi: Igra na foru Bounca

Strane: 1 2

[ Pregleda: 4774 | Odgovora: 22 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Delphi: Igra na foru Bounca28.03.2006. u 16:01 - pre 220 meseci
Pisao sam par jednostavnih igara u temi

http://www.elitesecurity.org/t...adno-pa-sam-napravio-malu-igru

Imas jednu u kojoj se igrac krece kroz lavirint i treba da gura kuglice. Mozda je to ono sto ti treba bar kada je kretanje u pitanju.
 
Odgovor na temu

Remo
Dejan Remetic
Beograd

Član broj: 88687
Poruke: 39
*.ppp-bg.sezampro.yu.



Profil

icon Re: Delphi: Igra na foru Bounca28.03.2006. u 22:18 - pre 220 meseci
@badam
Nije losa ideja, kada bih radio svaku kocku posebno, ali je kod mene to sve jedna mreza 400x400 napravljena u Paintu.
Mada bih mogao da promenim da ne bude mreza vec da imam par elemenata npr Imagea
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
*.stcable.co.yu.



+2 Profil

icon Re: Delphi: Igra na foru Bounca28.03.2006. u 23:34 - pre 220 meseci
Ovaj kod sam probao sa lavirintom nacrtanim u Paintu. Ucitan je u Image1. Image1 left i top treba da su 0, a ako ne, potrebno je preracunati.
Code:

function TForm1.proveri(smer:integer):integer;
var i,j:integer;
    Moze:Boolean;
begin
  Result:=0;
  Moze:=False;
  case smer of
    1:begin          //Levo
      for i:=1 to 5 do
      begin
        for j:=Image2.Top to Image2.Top+Image2.Height do
        begin
          if Image1.Canvas.Pixels[Image2.left-i,j]<>clWhite then
            Moze:=True
          else
          begin
            Moze:=False;
            break
          end
        end;
          if Moze then
            Result:=i
          else
            break
      end
    end;
    2:begin                //Gore
      for i:=1 to 5 do
      begin
        for j:=Image2.Left to Image2.Left+Image2.Width do
        begin
          if Image1.Canvas.Pixels[j,Image2.Top-i]<>clWhite then
            Moze:=True
          else
          begin
            Moze:=False;
            break
          end
        end;
        if Moze then
          Result:=i
        else
          break
      end
    end;
    3:begin          //Desno
      for i:=1 to 5 do
      begin
        for j:=Image2.Top to Image2.Top+Image2.Height do
        begin
          if Image1.Canvas.Pixels[Image2.left+Image2.Width+i,j]<>clWhite then
            Moze:=True
          else
          begin
            Moze:=False;
            break
          end
        end;
          if Moze then
            Result:=i
          else
            break
      end
    end;
    4:begin                //Dole
      for i:=1 to 5 do
      begin
        for j:=Image2.Left to Image2.Left+Image2.Width do
        begin
          if Image1.Canvas.Pixels[j,Image2.Top+Image2.Height+i]<>clWhite then
            Moze:=True
          else
          begin
            Moze:=False;
            break
          end
        end;
        if Moze then
          Result:=i
        else
          break
      end
    end
  end
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  DoubleBuffered:=True;
  case Key of
     37: Image2.Left:=Image2.Left-proveri(1);
     38: Image2.Top:=Image2.Top-proveri(2);
     39: Image2.Left:=Image2.Left+proveri(3);
     40: Image2.Top:=Image2.Top+proveri(4);
  end;
  if Image2.Top>395 then
    image2.Top:=-5;
  if image2.Left>395 then
    Image2.Left:=-5;
  if Image2.Top<-5 then
    image2.Top:=395;
  if image2.Left<-5 then
    Image2.Left:=395
end;
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Delphi: Igra na foru Bounca

Strane: 1 2

[ Pregleda: 4774 | Odgovora: 22 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.