| Autor |
Beitrag |
sandro
Hält's aus hier
Beiträge: 13
|
Verfasst: Di 19.02.08 17:20
Hallo ich muss für die schule ein programm schreiben. es soll ein schwarzes labyrinth sein, der weg soll weiß sein. das labyrinth an sich darf mit paint erstellt werden (das habe ich sogar geschafft) hehe. dann kommt aber der Haken: wir sollen mit delphi5 eine maus erstellen, die einen käse sucht...mit welchen anweisungen sollte ich es versuchen, und wie beginne ich?
Moderiert von Christian S.: Topic aus Dateizugriff verschoben am Di 19.02.2008 um 17:20
Zuletzt bearbeitet von sandro am Di 19.02.08 18:13, insgesamt 1-mal bearbeitet
|
|
DecKeL
      
Beiträge: 22
Windows XP
D7, D4 - Professional
|
Verfasst: Di 19.02.08 17:22
das hört sich ja so an, als sollte es hier einen geben, der dir dein ganzes Programm zusammenbaut.....
Den Ansatz solltest du dir schon selber überlegen, wenn du dann "gezieltere Fehler" hast, dann denke ich das mann dir besser helfen kann.
|
|
Chryzler
      
Beiträge: 1097
Erhaltene Danke: 2
|
Verfasst: Di 19.02.08 17:30
Du kannst zum Beispiel mittels eines TImage die Maus darstellen. Damit die Maus nicht durch die Wände des Labyrinthes gehen kann, musst du immer prüfen, ob an der Stelle, an der die Maus hinläuft, nicht eine Mauer ist, also schwarz ist.
DecKeL hat folgendes geschrieben: | das hört sich ja so an, als sollte es hier einen geben, der dir dein ganzes Programm zusammenbaut.....
Den Ansatz solltest du dir schon selber überlegen, wenn du dann "gezieltere Fehler" hast, dann denke ich das mann dir besser helfen kann. |
Finde ich nicht. Er frägt doch konkret "Wie fange ich an?". Und wieso sollte man nicht nach einem Ansatz fragen dürfen? 
|
|
Tarry
      
Beiträge: 213
Erhaltene Danke: 1
|
Verfasst: Mi 20.02.08 18:05
Und Mit imMaus.Top und imMaus.Left kannst du die Position der "Maus" ändern, so, als ob sie "laufen" würde...
Gruß
Tarry
_________________ "Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
|
|
sandro 
Hält's aus hier
Beiträge: 13
|
Verfasst: Mo 03.03.08 14:43
Die genaue Aufgabe lautet:
| Zitat: | Eine Image-Komponente muss nicht leer sein. Man kann gleich zu Beginn ein existierendes Bild laden (über Picture-Eigenschaft). Erzeugen Sie mithilfe eines Zeichenprogramms ein Labyrinth, indem Sie in eine schwarze Fläche einen weißen Weg zeichnen. Laden Sie dieses Bild in die Image-Komponente und setzen Sie eine "Maus" (ein kleines Rechteck) irgendwo auf diesen "Weg". Platzieren sie an anderer Stelle einen gelben "Käse".
Die Farbe "vor der Maus" zulässig bestimmen, indem Sie die Pixel-Eigenschaft an dieser Stelle "befragt" wird:
If Bild.Pixels[..,..]= clWhite then ...
Lassen Sie die Maus den Käse suchen, indem diese eine geeignete Strategie anwendet: z.B. "immer nach links" vor einer Wand.
Prüfen Sie, für welche Labyrinthe welche Strategie erfolgreich ist. Können Mäuse "lernen"? |
Ich hoffe es ist kein Problem für euch mir dabei ein bisschen zu helfen.
Ich würde mich sehr darüber freuen.
Könntet ihr mir vllt einen Tipp geben, welche procedures ich benutzen könnte? Wäre es eine sinnvolle Idee einen Timer mit einzubauen, oder wäre das nur komplizierter?
Mein Code bis jetzt:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72:
| unit Labyrinth1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtDlgs, ExtCtrls;
type TLabyrinth = class(TForm) Labyrinth1: TImage; procedure FormCreate(Sender: TObject); private public end; type tCheese=class x, y: Single; farbe: tColor; end;
type tMaus= class x, y, vx, vy, r: Single; farbe: tColor; end; var Labyrinth: TLabyrinth; Cheese: tCheese; Mouse: tMouse ; implementation
{$R *.DFM}
procedure tMouse.Init (fNeu: tColor; xNeu,yNeu,vxNeu,vyNeu,rNeu: Single); begin farbe := fNeu; r := rNeu; x := xNeu; y := yNeu; vx := vxNeu; vy := vyNeu; end;
procedure tMouse.ZeigeDich; begin with Labyrinth.Image1.Canvas do begin brush.color := Farbe; Square; end;
procedure TLabyrinth.FormCreate(Sender: TObject); begin with Bild.Canvas do
begin pen.width:= 5; Brush.Color:=clNavy;
pen.width:= 2; brush.Style := bsSolid; pen.Mode := pmNOTXOR; end; Cheese.Init(clFuchsia,Random(Image1.Width-50)+25, Random(Image1.Height-50)+25, Random(9)-4, Random (9) -4,20); Cheese.ZeigeDich; end;
end. |
MfG
Alida
Moderiert von Tino: Code- durch Delphi-Tags ersetzt
--- Moderiert von Narses: Beiträge zusammengefasst---
ich bin bei meiner recherche mehrmals über den begriff array gestolpert. nun habe ich ganz viele definitionen gelesen, die mich sehr verwirren. wo ist der unterschied zw string und array und wann benutze ich array?
wäresuper wenn mir jemand ein kurzes statement geben könnte.
|
|
sandro 
Hält's aus hier
Beiträge: 13
|
Verfasst: Mi 30.04.08 08:10
Titel: geschafft
tja, ich danke allen, die mir ihre unterstützung gegeben haben (wenn man das so sagen kann...), jedenfalls habe ich mein bestes gegeben und bin zu diesem ergebnis gekommen.
zugegeben, es ist nicht das beste, aber für meine verhältnisse schon mal nicht schlecht. es ist mein 2. programm!!! also leutz, thank you!!!
Einloggen, um Attachments anzusehen!
|
|
|