Entwickler-Ecke
Freeware Projekte - Zielscheiben - Schießen
DelphiProgrammer97 - So 20.12.09 17:03
Titel: Zielscheiben - Schießen
Hallo
Ich habe vor ca. 1 Monat angefangen zu programmieren, ich habe jetzt informatik, da ich in die 7. Klasse gehe. Da habe ich dann mitbekomen dass es eine AG Programmiersprachen gibt
Da bin ich dann eben hingegangen und mir machts Spaß
programmieren tue ich alles momentan mit Delphi 6, was ich von meinem Lehrer bekommen habe
Nachdem ich etwas mit Variablen und der Visible Funktion experimentiert habe, möchte ich euch ein kleines Spiel vorstellen, was von mir stammt: Zielscheiben - Schießen nenne ich es
Das Programm ist nur schlappe 400Kb groß und einfach zu bedienen.
Also viel spaß(mehr oder weniger, ich bin noch kein spieleentwickler).
Moderiert von
Narses: Programm als Anhang hochgeladen.Moderiert von
Narses: Topic aus Open Source Units verschoben am So 20.12.2009 um 23:09Moderiert von
Narses: Topic aus Open Source Projekte verschoben am Mo 21.03.2011 um 17:50
jaenicke - So 20.12.09 17:16
Hallo und :welcome:
Unter Open Source Units bist du ja etwas in der falschen Sparte gelandet, denn erstens ist es ein Programm und zweitens ohne Quelltext. ;-)
Du kannst die Datei auch einfach mittels "Dateianhang hinzufügen" unter dem Eingabefeld hier im Forum anhängen.
Zum Programm selbst:
Das funktioniert soweit gut, aber ist das so gewollt, dass keine Meldung oder ähnliches kommt, wenn man fertig ist?
Und ein Tipp: Wie wäre es, wenn du bei Klicks mit dem Satz des Pythagoras schaust, ob man wirklich in den Kreis geklickt hat und nicht in eine Ecke des Quadrats? ;-)
DelphiProgrammer97 - So 20.12.09 17:25
oh entschuldigung für den falschen ort
naja es ist bereits ca 1 woche her dass ich das programm fertig habe
ich arbeite gerade daran dass eine messagebox deine zeit anzeigt, wenn du fertig bist
Quelltext:
Delphi-Quelltext
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: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122:
| var Form1: TForm1; zeit1 : integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Schieß so schnell wie möglich die Zielscheiben ab! Viel Spaß!'); end;
procedure TForm1.Button2Click(Sender: TObject); begin Button1.Visible:=False; Button2.Visible:=False; Button3.Visible:=True; Button4.Visible:=True;
Shape1.Visible:=True; Shape2.Visible:=True; Shape3.Visible:=True; Shape4.Visible:=True; Shape5.Visible:=True; Shape6.Visible:=True; Shape7.Visible:=True; timer1.Enabled:=true; zeit1:=0;
end;
procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Shape1.Visible:=False; end;
procedure TForm1.Shape2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Shape2.Visible:=False; end;
procedure TForm1.Shape5MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Shape5.Visible:=False; end;
procedure TForm1.Shape3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Shape3.Visible:=False; end;
procedure TForm1.Shape4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Shape4.Visible:=False; end;
procedure TForm1.Shape7MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Shape7.Visible:=False; end;
procedure TForm1.Shape6MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Shape6.Visible:=False end;
procedure TForm1.Button3Click(Sender: TObject); begin if (Shape1.Visible=False) and (Shape2.Visible=False) and (Shape3.Visible=False) and (Shape4.Visible=False) and (Shape5.Visible=False) and (Shape6.Visible=False) and (Shape7.Visible=False)
then Shape1.Visible:=True; Shape2.Visible:=True; Shape3.Visible:=True; Shape4.Visible:=True; Shape5.Visible:=True; Shape6.Visible:=True; Shape7.Visible:=True;
zeit1:=0;
end;
procedure TForm1.Button4Click(Sender: TObject); begin Button1.Visible:=True; Button2.Visible:=True; Button3.Visible:=False; Button4.Visible:=False;
Shape5.Visible:=False; Shape5.Visible:=False; Shape5.Visible:=False; Shape5.Visible:=False; Shape5.Visible:=False; Shape5.Visible:=False; Shape5.Visible:=False;
timer1.Enabled:=false; end;
procedure TForm1.Button5Click(Sender: TObject); begin Application.Terminate; end;
procedure TForm1.Timer1Timer(Sender: TObject); begin
zeit1:=zeit1+1; label2.Caption:=IntToStr (zeit1); end;
end. |
Moderiert von
Narses: Delphi-Tags hinzugefügt
Hugo343 - So 20.12.09 18:07
du kannst auch mit ...
Delphi-Quelltext
1:
| if image1.canvas.Pixels[x,y]=clred then |
...eine farbüberprüfung machen.
dann bräuchtest du nur noch ein TImage auf dem du dann deine kreise zeichnen lässt.
Mitmischer 1703 - Sa 03.04.10 09:05
Könnte man da nicht im OnMouseUp des Formulars das Formularcanvas nehmen und mit den Koordinaten weiterarbeiten? Dann müsste man nur selber zeichnen...
essaah - Mo 21.03.11 16:42
kannst du mal den quelltext hochladen? ich wollte sowas ähnliches schreiben und komm aber zu keine anfang
bfelix - Mo 21.03.11 20:50
Das mit dem Zeit zählen kannst du so machen:
Beim Spielstart:
Wenn fertig:
ende-start ergibt dann die Zeit dazwischen in Millisekunden
Moderiert von
Narses: Delphi-Tag repariert.
elundril - Mi 23.03.11 00:45
Statt GetTickCount würde ich eher zum PerformanceCounter raten, der ist ein bisschen genauer. Such mal im Forum nach QueryPerformanceCounter. ;)
lg elundril
jaenicke - Mi 23.03.11 07:15
Die paar Millisekunden sollten als Zeitmessung in solche einem Spiel wohl egal sein. :lol: ;-)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!