AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schiffe versenken

Ein Thema von huefte · begonnen am 18. Jul 2005 · letzter Beitrag vom 24. Jul 2005
Antwort Antwort
huefte

Registriert seit: 2. Feb 2005
Ort: Illingen
50 Beiträge
 
Delphi 7 Enterprise
 
#1

Schiffe versenken

  Alt 18. Jul 2005, 18:47
Hallo zusammen

Ich habe letzte WOche mit nem Freund zusammen das Spiel "Schiffe versenken" programmiert!
Da es jetzt noch in der Anfangsphase ist, kann man nicht sagen, dass es was tolles ist!

Worum es mir geht:
Wie mache ich, dass mir angeziegt wird, wenn ich ein Schiff versenkt habe? Also ich schieße drauf und es werden auch Treffer gemeldet, aber wenn ich dann das Schiff komplett zerstört habe, kommt halt nichts!
Hier weiß ich nicht weiter! Weiß nicht, wie ich das programmieren soll!

Kann mir vielleicht jemand helfen?

Gruß huefte

PS: Habe in ähnlichen Thread gesucht, aber dabei nicht wirklich was gefunden!
Pascal Schmitt
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Schiffe versenken

  Alt 18. Jul 2005, 18:48
Jedes Schiff hat eine bestimmte Anzahl an Trefferpunkten( Felder ), bei jedem Treffer überpüfst du ob alle Felder getroffen worden sind, wenn ja....
Felix K.
Zitat:
Siehst du diesen Park da unten?
Jeden Tag lernen sich leute kennen und verlassen einander, und du hast dein ganzes Leben Zeit darin zu gehen!
  Mit Zitat antworten Zitat
huefte

Registriert seit: 2. Feb 2005
Ort: Illingen
50 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Schiffe versenken

  Alt 18. Jul 2005, 18:50
Ja so vom Prinzip hab ich mir das auch gedacht, aber ich weiß nicht wie ichs umsetzen soll! Er muss sich ja dann jedes Schiff bzw. die entsprechenden Felder merken! Und dann erst kann er rpüfen ob alle getroffen sind!
Pascal Schmitt
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: Schiffe versenken

  Alt 18. Jul 2005, 19:06
Ich nehme an, dein Feld ist X*Y Gross. Dein Schiff ist durch eine menge von Punkten definiert, nehme ich auch an.
So, in etwa:
Delphi-Quellcode:
type MyFied=array[0..MAX_WIDTH,0..MAX_HEIGHT]of integer;
MYShiff=record
definition:array of TPoint;
live:integer;
end;
Nun jetzt, wenn auf eine x,y Koordinate geschossen wird, prüft man ob sich ein Schiff bzw derren Teil dort befindet. Wenn ja dann ist: GetroffeneSchiff.Live := GetroffeneSchiff.Live - 1; Und wennGetroffeneSchiff.Live=0 whar ist , dann ist dein Schiff komplet gesunken.
Wichtig:
Am Anfang des Spieles muss man Live Variable richtig setzen, d.h., sollte ein Schiff aus 4 Punkten bestehen, dann ist entsprechende Live Variable auf 4 zu setzen.
Hofe, das hilft weiter...
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
huefte

Registriert seit: 2. Feb 2005
Ort: Illingen
50 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Schiffe versenken

  Alt 18. Jul 2005, 19:07
Das ist ja schon mal was. Leider sieht alles etwas anders aus. Naja ich muss mal in diese Richtung überlegen und wenn ich dann weiter eure Hilfe brauch, meld ich mich wieder, zusammen mit dem Quellcode
Pascal Schmitt
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Schiffe versenken

  Alt 18. Jul 2005, 21:11
Ich hab auch mal ein Schiffeversenken programmiert und eignetlich ist das kein Problem. Wahre einfach die Objektorientierung. Ich hab einfach ein Spielfeld gehabt welches Schiffe besitzt. Wenn ein Schiff an eintsprechender Stelle war wurde dem Schiff-Object mitgeteilt an welcher Stelle es getroffen wurde. Und da Schiffobject hat in dem Zug gleich selbst geprüft ob es versenkt wurde oder nicht und dementsprechend ein Event gewurfen.

Quelltext auszug:
Delphi-Quellcode:
if Assigned(fOnShipDone) and (GetHits = ShipSize) then
 fOnShipDone(Self, ShipSize, RotateVal, GetShipRect.TopLeft);
Kurz und Knapp: Bau das ganze Objectorientiert und die Probleme lösen sich von selbst
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
huefte

Registriert seit: 2. Feb 2005
Ort: Illingen
50 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Schiffe versenken

  Alt 24. Jul 2005, 13:26
Hallo

Hatte noch keine Zeit mich um das Problem zu kümmern! Wollte noch den Quellcode nachreichen! Aber ich bin kein so guter Programmierer! Liegt aber weniger an mir, sondern eher an unserer Lehrerin, die selbst oftmals keine Ahnung hat!
Angehängte Dateien
Dateityp: rar schiffe_675.rar (180,5 KB, 49x aufgerufen)
Pascal Schmitt
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:34 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