Autor |
Beitrag |
Webo
      
Beiträge: 577
Erhaltene Danke: 14
Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
|
Verfasst: Di 09.02.10 17:31
Luckie hat folgendes geschrieben : | Ich frage mich gerade, wer hier eigentlich das Programm schreibt. |
Nachdem ich mir die CrossPosts mal komplett durchgelesen habe, geht es mir ähnlich ...
_________________ Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
|
|
guinnes
      
Beiträge: 182
Erhaltene Danke: 14
|
Verfasst: Di 09.02.10 17:47
|
|
VerdammtVerzweifelt 
      
Beiträge: 16
|
Verfasst: Mo 15.02.10 16:51
Vielen Dank,
wir probieren den Code morgen aus.
Hoffentlich funktioniert es 
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Mo 15.02.10 20:35
|
|
VerdammtVerzweifelt 
      
Beiträge: 16
|
Verfasst: Di 16.02.10 14:28
"Operator ist auf diesen Operandentyp nicht anwendbar"
& nun?
außerdem haben wir noch das Problem, dass wieder zwischen Spieler 1 & 2 gewechselt werden muss.
Moderiert von Gausi: Versehentliches Dreifach-Posting entfernt.
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Di 16.02.10 14:36
Regeln -> Pushen erst nach 24h erlaubt.
Die Fehlermeldung heißt grob, dass du einen Operator verwendet hast, der nicht zum Typ passt, wenn du z. B. versuchst, zwei Strings zu multiplizieren. Tritt meistens auf, wenn du z. B. irgendwo ein StrToInt() vergessen hast (oder einen Cast). Mit anderen Worten: zeig mal deinen Quellcode.
Wie zwischen den Spielern gewechselt werden muss, habt ihr doch nun mehr als genug gehört, oder? -> Quellcode
|
|
VerdammtVerzweifelt 
      
Beiträge: 16
|
Verfasst: Di 16.02.10 14:54
1. Dieses "pushen" (wie ihr es nennt) war nicht absichtlich um das mal klar zu stellen.
2. Die Fehlermeldung hat sich gegessen.. Wir haben das Problem behoben.
Allerdings hat sich ein neues eingestellt: Die Kugeln werden immer noch nicht fallen gelassen. (Quelltext von Webo zur Hilfe genommen) Haben auch versucht "LueckeVorhanden" mit einzubauen, aber es will einfach nicht klappen..
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Di 16.02.10 15:00
Hey,
das liegt daran, dass Webo in seinem Quelltext vergessen hat das y weiterzuzählen. Also muss da noch ein inc(y) rein. Wo verrat ich aber nich, das bekommt ihr sicher selbst raus
MfG Bergmann
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
guinnes
      
Beiträge: 182
Erhaltene Danke: 14
|
Verfasst: Di 16.02.10 15:21
Bergmann89 hat folgendes geschrieben : | Hey,
das liegt daran, dass Webo in seinem Quelltext vergessen hat das y weiterzuzählen. Also muss da noch ein inc(y) rein. |
Das hatte Webo auch in seinem Text geschrieben, dass es nicht gehen kann, wenn man Y oder X nicht verändert
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Di 16.02.10 15:29
sry, hatte mir nur den Code angeguckt 
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
VerdammtVerzweifelt 
      
Beiträge: 16
|
Verfasst: Di 16.02.10 15:30
Haben gerade unseren Lehrer mit diesem Problem konfrontiert und der hat uns den selben "Tipp" gegeben. 
|
|
Webo
      
Beiträge: 577
Erhaltene Danke: 14
Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
|
Verfasst: Di 16.02.10 15:37
_________________ Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
|
|
ffgorcky
      
Beiträge: 573
WIN XP/2000 & 7Prof (Familie:Win95,Win98)
|
Verfasst: So 21.02.10 18:12
Also wenn ich Euer Problem jetzt richtig verstanden habe, dann möchtet Ihr Euren Stein immer noch fallen lassen.
Ich würde das ganze auch mit einem Timer-Event machen, mit dem Ihr dann das in etwa so schreibt (mit einem Intervall von 100):
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure TimerLassFallenOnTimer(Sender:TObject); begin FallenZuLassenderStein.Top:=ZuFallenLassenderStein.Top+1; if angekommen then TimerLassFallen.Enabled:=false; end; |
Damit das ganze so funktioniert, müsstet Ihr vorher eine Form-Variable deklarieren
also zum Beispiel so: Delphi-Quelltext 1: 2:
| var FallenZuLassenderStein:TImage; |
Das mit dem Image wäre aus meiner Sicht die einfachste Möglichkeit, wie ihr Eure fallen zu lassenden "Steine" bauen könntet und farbig - z.B. mit Kreisen drauf - markieren.
Und ihr müsstet den Begriff "angekommen" natürlich mit einer boolschen Abfrage ersetzen, wie sie bei Euch passt.
Ihr müsstet dann natürlich auch vorher erst mal den Start-Punkt festlegen - das fände ich am einfachsten, indem ihr da auch Buttons hinbaut, die Ihr nur anclicken braucht und damit dann den Start-Punkt festlegt - also dann so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| FallenZuLassenderStein:=new Image(Form4Gewinnt); if spieler1GleichTrueSpieler2GleichFalse then begin FallenZuLassenderStein.Picture.LoadFromFile('GelberStein.bmp'); end; else begin FallenZuLassenderStein.Picture.LoadFromFile('RoterStein.bmp'); end; FallenZuLassenderStein.Left:=TButton(Sender).Left; FallenZuLassenderStein.Top:=TButton(Sender).Top+10; TimerLassFallen.Enabled:=true; |
So, ich hoffe, dass ich hier nicht gerade "irgendwelchen Murks" erzähle - ich kann es leider im Moment wieder nicht nachprüfen.
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Mo 22.02.10 01:17
Hey,
muss das Ganze den grafisch Sichtbar sein? Wenn nich, dann is deine Methode ser kompilziert. Ne einfache Whileschleife tuts auch. Bsp.: wenn das Feld als Array aufgebaut ist, oben links is (0,0) und jeweils den Index des Spielers enthält, der den Stein besitzt (0 wenn kein Stein, 1 bei Spieler 1, 2 bei Spieler 2). Dann is ne while-Schleife noch die einfachste Lsg: Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| var Pos: TPoint; var j: Integer; var Feld: array[0..9, 0..9] of Byte; j := 0; while (j < High(Feld[Pos.X])) and (Feld[Pos.X, Pos.Y] = 0) do dec(Pos.Y); |
Jetz enthält Pos die Koordinaten des am Boden liegenden Steins...
MfG Bergmann.
p.s.: Im 1. Codeblock Zeile 3 hast du dich verschrieben 
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
VerdammtVerzweifelt 
      
Beiträge: 16
|
Verfasst: Di 23.02.10 14:41
Wie ist es möglich ein MainMenu zu erstellen in dem Neues Spiel, Spielanleitung, Highscore usw. Enthalten sind ? 
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Di 23.02.10 14:44
Moin!
bitte erstelle für jede deiner Fragen ein separates Topic, da die Diskussion mehrerer Fragen in einem Topic für gewöhnlich für Verwirrung und Durcheinander sorgt. Daher:
*geschlossen*
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|