2 D Spiel, 2 Fragen / bitte helfen

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
RECK
Beiträge: 1
Registriert: Mo 16. Mai 2011, 19:20

2 D Spiel, 2 Fragen / bitte helfen

Beitrag von RECK »

Hi Leute, ich habe vor kurzem wieder angefangen zu programmieren und wollte mir erstmal zum wieder einsteigen ein bissin älteres Programm (Clickspiel) neu programmieren es heißt (Clickspiel Erweiterung) (sehr kreativ ich weiß ^^) / ich habe jetzt auch schon über 1,2k Zeilen und es werden noch mehr.
Allerdings habe ich jetzt das Problem, das ich hier grade nicht weiter komme...
Undzwar habe ich 2 kl. Probleme
1ten Ich habe auf der Unit 6: "Namen erstellen" ein Edit feld und einen Button der den Namen bestätigen soll und auf form2.label1 übertragen soll
so das hat auch geklappt, allerdings kann man jeden Beliebigen Namen und Zahlen eingeben...
Meine Frage ist nun: wie kann ich machen, das wenn jemand zB. "[GM]Tester" eingibt, soll nun eine (error) Showmessage erscheinen und dann wird der Prozess mit dem Namen auch nicht klappen...
Es soll bei diesen Sachen so sein: ( ) [ ] / - _ > < " ' { } §
So dazu schonmal vielen Dank im Vorraus.

Nun zur meiner Zweiten und etwas schwereren Frage:
ich habe auf Form2 4 Labels
Label1 = Name
Label2 = Level
Label3 = benötigte EP
Label4 = EP
Button1 = Drücken (Level Button)

Ich möchte nun, das wenn ich Button1 drücke, soll
Label2 = 1 sein (das mit dem Level und Label 1+2 brauchen wir nun nicht mehr)
Label3 soll dann zB '100' sein
Label4 soll dann '0' haben
nun Drücke ich den Button1
Label3 = '90'
Label4 = '10'
(klappt soweit)
jetzt
Label3 = '0'
Label4 = '100'
Label2 = '2'
____________________
so und jetzt habe ich allerdings, das es so angezeigt wird:
Label2 = '2'
Label3 = '100' (schon von Level 2)
Label4 = '100'
Nun Drücke ich und
Label2 = '2'
Label3 = '90'
Label4 = '110'

also die EP (Label4) ist momentan noch die Gesamt EP und nicht nur die EP vom jeweiligen Level

also das Level (Label2) springt um 1 höher
benötigte EP (Label3) wird zu zB 500
EP wird auf 0 gesetzt (allerdings von dem jeweiligen Level)

(also wie bei den MMORPG´s wie WoW, Metin2, Last Chaos, etc. halt)

VIELEN DANK
Mit freundlichen Grüßen
RECK

edit: ps: ich bin mir nicht ganz sicher, ob das jetzt der richtige bereich ist, da ich eben schon einen extra Bereich für Einsteiger gesehen habe (hoffe das das nicht so schlimm ist)

klausi1305
Beiträge: 35
Registriert: Mo 1. Jul 2013, 21:30
OS, Lazarus, FPC: Win 7 Laz 1.0.10
CPU-Target: 32 Bit
Wohnort: Leipzig

Re: 2 D Spiel, 2 Fragen / bitte helfen

Beitrag von klausi1305 »

Wenn du die Editfelder nicht dynamisch erstellst, kannst du problemlos über das Event OnKeyDown oder KeyPress des Editfeld jede einzelne Eingabe abfangen und prüfen...

Code: Alles auswählen

 
procedure TForm4.Edit1OnKeyDown(Sender: TObject; var Key: Char);
begin
  if not (Key in ['[', ']') then  ...........mach was
 
end;
 
procedure TForm4.Edi1tKeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9']) then   //nur Zahlen zulassen
    Key := #0;
end;

Antworten