AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Spieleideen für ein lustiges Spiel für die Schule ...
Thema durchsuchen
Ansicht
Themen-Optionen

Spieleideen für ein lustiges Spiel für die Schule ...

Ein Thema von Ayslynn · begonnen am 15. Dez 2006 · letzter Beitrag vom 7. Jan 2007
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#21

Re: Spieleideen für ein lustiges Spiel für die Schule ...

  Alt 3. Jan 2007, 14:14
Ach du bist das.

Die TProgressBar befindet sich auf dem Reiter "Win32".

Einen Fortschrittsbalken kannst du auf verschiedene Art und Weise lösen. Eine anschauliche wäre beispielsweise diese hier:

Delphi-Quellcode:
var
  Form1: TForm1;
  Counter_Sec: Integer = 0;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ProgressBar1.Max := 120;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  inc(Counter_Sec);
  ProgressBar1.Position := Counter_Sec;

  if Counter_Sec = 120 then
  begin
    // The End
  end;
end;
Wenn du mit dem Canvas umgehen kannst, dann kannst du auch auf diesem deine eigene (schönere) zeichnen.
  Mit Zitat antworten Zitat
Ayslynn

Registriert seit: 25. Nov 2006
18 Beiträge
 
Delphi 5 Professional
 
#22

Re: Spieleideen für ein lustiges Spiel für die Schule ...

  Alt 3. Jan 2007, 14:39
ah danke schön nein ich kann nicht mit canvas umgehen aber mit progressbar geht es ^^
  Mit Zitat antworten Zitat
Ayslynn

Registriert seit: 25. Nov 2006
18 Beiträge
 
Delphi 5 Professional
 
#23

Re: Spieleideen für ein lustiges Spiel für die Schule ...

  Alt 4. Jan 2007, 13:12
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  jpeg, ExtCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Image1: TImage;
    ImLaura: TImage;
    ImFee1: TImage;
    ProgressBar1: TProgressBar;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  vx, vy: integer;
  Counter_Sec: Integer = 0;
  StopTimer: boolean = false;

implementation

{$R *.DFM}

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  case Key of
    VK_LEFT: begin
      ImLaura.Left := ImLaura.Left - 5;
      Key := 0;
    end;
    VK_RIGHT: begin
      ImLaura.Left := ImLaura.Left + 5;
      Key := 0;
    end;
    VK_UP: begin
      ImLaura.Top := ImLaura.Top - 5;
      Key := 0;
    end;
    VK_DOWN: begin
      ImLaura.Top := ImLaura.Top + 5;
      Key := 0;
    end;
  end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin

  if not StopTimer then

begin
ImFee1.visible:=true;
ImFee1.Left := ImFee1.Left + vx;
  ImFee1.Top := ImFee1.Top + vy;
   inc(Counter_Sec);
  ProgressBar1.Position := Counter_Sec;
  ProgressBar1.Perform($0409, 0, clTeal);

  if (ImFee1.Left > ClientWidth - ImFee1.Width - 1) or (ImFee1.Left < 1) then
    vx := vx * -1;
  if (ImFee1.Top > ClientHeight - ImFee1.Height - 1) or (ImFee1.Top < 1) then
    vy := vy * -1;
   if Counter_Sec = 10 then
  begin
  ImFee1.visible:=false;
  ImLaura.visible:=false;
  Timer1.Interval:=0;
  Form1.Caption:=('Spiel ist vorbei');
  end;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
vx := -10 + Random(50);
vy := -10 + Random(50);
ProgressBar1.Max := 10;

end;


procedure TForm1.FormClick(Sender: TObject);
begin

  StopTimer := true;
  ImFee1.Visible := false;

end;



end.
Brauche wieder Hilfe ich weiß nicht wie ich zählen soll also die Icons/images die angeklickt wurden und wie ich das nun ausgebe?!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#24

Re: Spieleideen für ein lustiges Spiel für die Schule ...

  Alt 4. Jan 2007, 13:18
Irgendwie komm ich nicht hinter das Spieleprinzip. Wie ich das sehe, hast du nun ein Image, das sich da umherbewegt und sobald du irgendwohin auf das Formular klickst, verschwindet es. Ich würde eher ein Zielobjekt erstellen, bzw mehrere (evtl. in einer eigenen Klasse, falls du das kannst), die sich unabhängig voneinander bewegen und alle das selbe OnClick-Ereignis besitzen. Da kannst du dann die Treffer zählen und auch die Images ausblenden (freigeben).
  Mit Zitat antworten Zitat
Ayslynn

Registriert seit: 25. Nov 2006
18 Beiträge
 
Delphi 5 Professional
 
#25

Re: Spieleideen für ein lustiges Spiel für die Schule ...

  Alt 4. Jan 2007, 13:22
Also
a) ich wollte zuerst mit einer Figur die Feen einsammeln deswegen auch das Hotkey verfahren
b) dann wurde mir das zu kompliziert und ich hab das ganze mit der Maus angefangen...

Nu redest du für mich von böhmischen Dörfern. Ich wollte nach und nach dann die anderen Feen einfügen ... wäre zwar sehr lang geworden aber ich weiß h alt es nit anders. Ich weiß auch nit wie ich das hinkriege das diese Icons keinen weißen Hintergrund haben. Ich hab von so vielem keinen Peil .. und dabei brauch ich die Note sehr sehr dringend.!!!! Sonst hätte ich längst aufgegeben. Ich suche stundenlang in Google rum wie man in Delphi zählt und krieg irgendwie nix gebacken.

Eigentlich soll man feen fangen und wenn man ne bestimmte anzahl an feen hat kann man das nächste level machen. *seufz*
  Mit Zitat antworten Zitat
Benutzerbild von Lun
Lun

Registriert seit: 4. Feb 2006
122 Beiträge
 
Delphi 2005 Professional
 
#26

Re: Spieleideen für ein lustiges Spiel für die Schule ...

  Alt 4. Jan 2007, 13:56
Hi Ayslynn,

ich verstehe auch noch nicht so ganz wie das Spielprinzip sein soll, aber versuche dir mit dem was du zählen willst zu helfen.

Ich habe mal in c++ einen Shooter gemacht in dem man einen Roboter abschießen musste, und wenn man diesen 10 mal getroffen hatte lief er schneller. (ein level weiter).

Du könntest es so machen mit dem zählen, das du eine Public Variable vom Typ Integer nimmst z.B highscore : Integer;

Und jedes mal wenn du so eine Fee fängst, dann rufst du eine funktion auf die deine highscore variable beispielsweise erhöht um 1 oder 10.
(Habe bei mir noch eine funktion drin gehabt die beim daneben schießen den highscore wieder verkleinert hat, machte es was schwieriger.)


So, hoffe habe verstanden was du wolltest und dir hilft das weiter.

greetz Lun

P.S: viel Erfolg
  Mit Zitat antworten Zitat
Ayslynn

Registriert seit: 25. Nov 2006
18 Beiträge
 
Delphi 5 Professional
 
#27

Re: Spieleideen für ein lustiges Spiel für die Schule ...

  Alt 4. Jan 2007, 14:10
Das bringt mich immernoch nicht weiter was ist ne Puplic Variable .. *total verwirrt ist* Leute ich hab ne 4 und ne 5 in zwei Arbeiten über Delphi geschrieben ... ich bin kein Genie *verzweifelt ist*
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#28

Re: Spieleideen für ein lustiges Spiel für die Schule ...

  Alt 4. Jan 2007, 14:27
Auch wenn du 20 bist, würde ich dir das Buch "Delphi für Kids" ans herz legen. Da werden solche Sachen bestens erklärt. Auch wie man Klassen vereinbart etc. Wenn du dich dann noch ein Bisschen über TCanvas schlau machst (delphi-hilfe), solltest du sicher in der lage sein so ein spiel zu programmieren.
  Mit Zitat antworten Zitat
Benutzerbild von Lun
Lun

Registriert seit: 4. Feb 2006
122 Beiträge
 
Delphi 2005 Professional
 
#29

Re: Spieleideen für ein lustiges Spiel für die Schule ...

  Alt 4. Jan 2007, 15:01
Also setzte deine highscore:Integer Variable hier hin.
Delphi-Quellcode:
var
  Form1: TForm1;
  vx, vy: integer;
  Counter_Sec: Integer = 0;
  StopTimer: boolean = false;
  highscore : Integer = 0;
dahin die funktion

Delphi-Quellcode:
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClick(Sender: TObject);
    procedure sethighscore(Sender : TObject);

  private
    { Private-Deklarationen }
die definition

Delphi-Quellcode:

implementation

procedure Tform1.setHighscore(Sender : Tobject)
begin
  highscore := highscore + 10;
end;
Aufruf:

ich denke mal hier fängst du die Fee

Delphi-Quellcode:
procedure TForm1.FormClick(Sender: TObject);
begin

  StopTimer := true;
  ImFee1.Visible := false;
  setHighscore();

end;
So in etwa ist jetzt aus dem steh greif da ich nicht so viel zeit habe, hoffe das es so deutlicher ist.


greetz Lun

P.S: Für die Ausgabe, ein Label auf das form und dann Label1.Text := IntToStr(highscore);

Aber würde mir an deiner stelle auch mal ein paar Tutorials angucken.
  Mit Zitat antworten Zitat
Ayslynn

Registriert seit: 25. Nov 2006
18 Beiträge
 
Delphi 5 Professional
 
#30

Re: Spieleideen für ein lustiges Spiel für die Schule ...

  Alt 4. Jan 2007, 15:10
Danke *seufz* werd ich machen ^^
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz