Delphi-PRAXiS
Seite 9 von 14   « Erste     789 1011     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Minesweeper (https://www.delphipraxis.net/184385-minesweeper.html)

Mavarik 26. Mär 2015 11:42

AW: Minesweeper
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Bjoerk (Beitrag 1294902)
Bleibt abzuwarten ob TE den Code versteht. Ich denke aber mal ja, hat ja schon viel Vorarbeit geleistet und ich hab ja versucht mich so eng an seinen Code anzulehnen wie möglich.

Es sollte generell hier unser bestreben sein, helfen aber nicht "vorsagen".

Mavarik

BadenPower 26. Mär 2015 11:50

AW: Minesweeper
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Mavarik (Beitrag 1294901)
Sicher? Hab das noch nicht gesehen...

Ganz sicher, habe es gerade nochmals getestet.

Habe 2 Klicks gemacht:
1. Blauer Pfeil auf geglicktes Feld => Blau aufgeangen
2. Roter Pfeil auf geglicktes Feld => rot aufgeangen

Im roten Bereich sind sogar 2 diagonale Angrenzungen in diesem Beipiel, welche alle sich nur durch den klick auf das mit dem roten Pfeil markierten Feld geöffnet haben.

Bjoerk 26. Mär 2015 11:55

AW: Minesweeper
 
Zitat:

Zitat von Mavarik (Beitrag 1294904)
Es sollte generell hier unser bestreben sein, helfen aber nicht "vorsagen".Mavarik

Klar, bin ja nicht erst seit gestern hier? Anyway, keine Regel ohne Ausnahme.. :zwinker:

Popov 26. Mär 2015 11:58

AW: Minesweeper
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, ich hab auf die Schnelle den MineSweeper programmiert, wobei ich mich streng an den von saii vorgegebenen Stil gehalten habe. Ich hab aber nicht nur das was saii bereits vorgegeben hat so weiter gemacht, sondern auch Neues in dem Stil programmiert. So habe ich aus TStringList einen Stack gebastelt, statt das zu nehmen was Delphi bietet. Ich meine wenn man schon das Feld aus Panelen bastelt und über Koordinaten im Namen "P_07_10' anspricht, dann muss man TStringList für den Stack nehmen :-D

Trotzdem, auch wenn das Spiel nun funktioniert, komplizierter als mit Panelen kann man es nicht machen. Sicher, wenn man sich die Mühe macht, kann man es optiomieren, aber trotzdem.

Wie gesagt, das Spiel funktioniert, ist aber noch nicht ganz fertig.

Bjoerk 26. Mär 2015 12:49

AW: Minesweeper
 
Was soll das hier werden? Postet jetzt jeder seinen Minensucher? Mavarik hatte doch schon mich (und wie ich im nachhinein finde völlig zurecht und was mir nur aus Begeisterung passierte) darauf aufmerksam gemacht, daß es in den allermeisten Fällen nicht hilfreich ist, ganze units zu posten? Sorry, ist nicht persönlich gemeint.

Popov 26. Mär 2015 13:35

AW: Minesweeper
 
@Bjoerk

Ich könnte das nun politisch machen und das Grundgesetz zitieren, aber das wäre dann doch ein Overkill. Aber lass mich dann doch klein wenig den Geist unserer Verfassung hier einbringen, in dem da wäre: kein Mensch sollte sich über den anderen erheben.

Das hier ist ein Forum. Das hier ist keine Moodle- oder andere Lern-Platform, die den Sinn hat den Leuten etwas beizubringen. Wer hier postet hat ein Problem und möchte gerne eine Lösung. Wer hier ein Problem postet, der macht es nicht um zu diskutieren, sondern um etwas zu erfahren. Er will eine Lösung.

Wenn ein Anfänger die Aufgabe vom Lehrer bekommt ein Programm zu schreiben, und er kommt mit der Aufgabe nicht klar, so dass er hier postet, dann liegt es an jedem User hier ob er ihm hilft oder nicht. Aber eines werde ich garantiert nicht machen - ich werde mich nicht über den Anfänger erheben und versuchen einen Delphi-Lehrer zu spielen. Ich werde mir nicht das Recht nehmen zu sagen: wenn ich ihm den ganzen Code gebe, dann lernt er nichts. Ich bin nicht seine Mama, ich bin nicht sein Papa, ich bin auch nicht sein Lehrer. Er ist ein freier Mensch der selbst entscheiden muss wie er glücklich wird. Und wenn ich aus Langeweile die Lösung programmiere und hier poste, dann liegt es an dem Fragersteller ob er das beachtet oder nicht. Oder ob er vielleicht dann doch lieber die kleinen Hinweise hat und selbst an das Ziel zu kommen. Dieses Recht werde nicht ich für ihn ausüben, denn wer bin ich denn, dass ich mir das Recht nehme über jemand anders zu entscheiden?

Also, entweder ist das hier ein Lehrer-Forum wo Programmierer die Probleme haben etwas lernen können. Dann sollten sich aber bitte alle dann auch so verhalten und didaktisch korrekt lehren. Oder es ist ein Problem Forum, d. h. jeder der Probleme hat darf sie posten und drauf hoffen, dass einer antwortet. Und wie einer drauf antwortet, das sollte jedem selbst überlassen werden.

Aber wo wir schon dabei sind - es gibt im Grunde zwei Arten wie einer etwas lernen kann: man lernt an einem Tag das A, am zweiten das B, am dritten das C usw. Irgendwann nach Wochen hat man so viel gelernt, dass man daraus ein Wort bilden kann. Die zweite Methode ist gleich mit dem Wort anzufangen, z. B. "Apfel". Danach nimmt man sich die einzelnen Buchstaben durch.

Wie gesagt, das hier ist kein Lehrer-Forum, sondern ein Hilfe-Forum. Deshalb ist es eigentlich unhöflich einem der Hilfe braucht nur ein Schlagwort zu liefern mit dem Gedanken - so lernt er es besser. Wer es so machen will, kann es so machen. Da ich aber hier kein Lehrer bin, entscheide ich gelegentlich einfach den ganzen Code zu geben. Weil es mir einfach egal ist ob er was lernt. Es ist seine Entscheidung. Es ist anmaßend diese Entscheidung für ihn zu übernehmen. Wenn einer am ertrinken ist, dann retten man ihn, man ruft ihm vom Strand nicht zu wie man schwimmen lernen kann.

Sir Rufo 26. Mär 2015 13:55

AW: Minesweeper
 
Zitat:

Zitat von Bjoerk (Beitrag 1294918)
Was soll das hier werden? Postet jetzt jeder seinen Minensucher? Mavarik hatte doch schon mich (und wie ich im nachhinein finde völlig zurecht und was mir nur aus Begeisterung passierte) darauf aufmerksam gemacht, daß es in den allermeisten Fällen nicht hilfreich ist, ganze units zu posten? Sorry, ist nicht persönlich gemeint.

Ja, Nein, Jain ...

Hier im Forum kann man nicht erwarten fertigen Source zu bekommen -> es besteht keinerlei Anspruch durch den Fragenden (weder rechtlich noch moralisch).

Es ist aber nicht verboten (weder rechtlich noch moralisch)!

Was zugesichert wird ist, dass sich die (hier sehr aktive) Gemeinschaft die Frage anschaut und je nach Lust und Laune (es besteht keinerlei Verpflichtung, weder rechtlich noch moralisch) darauf etwas (mehr oder minder) Konstruktives antwortet.

Also wer will darf Source posten. Jeder den das stört darf sich dazu äussern. Jeder der sich an dieser Äußerung stört, darf sich auch äußern ... usw. usw. solange alle freundlich und beim Thema bleiben ist alles in Butter :stupid:

PS: Der Lerneffekt ist proportional zur Eigeninitiative, darum ist Vorsagen/Abschreiben von Komplett-Lösungen zwar kurzfritig hilfreich, langfristig betrachtet allerdings relativ wertlos.

BadenPower 26. Mär 2015 14:00

AW: Minesweeper
 
Zitat:

Zitat von Bjoerk (Beitrag 1294918)
Was soll das hier werden? Postet jetzt jeder seinen Minensucher?

Warum nicht?
100 Minensucher, welche nahezu identisch aussehen, aber garantiert gleichzeitig 90 verschiedene Lösungsansätze in den Internas.

Durch solch einen Vergleich stellt man erst einmal fest, wieviele Wege, welche man machmal gar nicht in Betracht gezogen hatte, nach Rom führen.

Auch der Vergleich von kompletten Programmen kann durchaus lehrreich sein.

Sir Rufo 26. Mär 2015 14:11

AW: Minesweeper
 
Um nochmal zu den Aufdeck-Regeln zu kommen:

Wenn ein Feld aufgedeckt wird, dass keine Mine im Nachbarfeld hat, dann werden auch alle Nachbarfelder aufgedeckt.
Delphi-Quellcode:
procedure TSpiel.DeckMichAuf( Feld : TFeld );
var
  LNachbar : TFeld;
begin
  if Feld.Aufgedeckt then
    Exit;

  Feld.Aufgedeckt := True;
 
  if Feld.HatMine then
    Exit;

  if Feld.AnzahlNachbarMinen = 0 then
  begin
    for LNachbar in NachbarnVon( Feld ) do
      DeckMichAuf( LNachbar );
  end;
end;

BUG 26. Mär 2015 14:16

AW: Minesweeper
 
Zitat:

Zitat von BadenPower (Beitrag 1294931)
Warum nicht?

Weil es dieses Thema "vermüllt" :mrgreen:
Es wäre imho günstiger, ein neues Thema unter Projekte zu erstellen und mit diesem dann gegenseitig zu verlinken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:09 Uhr.
Seite 9 von 14   « Erste     789 1011     Letzte »    

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