Logik Hilfe [C#]
Übersicht

![]() |
SYSThernBetreff: Logik Hilfe [C#] |
![]() Antworten mit Zitat ![]() |
---|---|---|
hey community,
da ich mich zurzeit nicht mit blitz sonder mit c# beschäftige und dort ein spiele schreibe ![]() hab ich eine frage: also ich hab ein spielbrett in dem man sozusagen verschieden farbige "steinchen hinenwerfen kann" wie 4 gewinnt nun möchte ich aber alle steinchen die aneinander liegen überprüfen ob sie die selbe farbe haben oder nicht und wenn es mehr als 2 sind löschen: ich hab schon viel ausprobiert löschen funktioniert auch nur dass es immer einen auslässt bzw mehr:( ich hoffe ihr versteht mich ![]() meine überlegung war von der position des wegzuklickenden steinchen nach link recht oben unten überprüfen ob ein gleiches steinchen vorhanden is ... das blöde ist das man bedenken muss dass auch solche gebilde über prüft werden müssen (o=steinchen gleicher farbe) ooooo o o oooo o o ooo oo oo o als beispiel ich hoffe ihr könnt mir helfen ![]() mfg SYSThern |
||
Tools and Programms
-------------------- www.systhern.de |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du denn schon einen Code?
Würde sicherlich helfen. Kannst ja auch mal das Projekt Uploaden. MFG |
||
![]() |
SYSThern |
![]() Antworten mit Zitat ![]() |
---|---|---|
natürlich ![]() Code: [AUSKLAPPEN] Panel obj = ((System.Windows.Forms.Panel)sender);
objP = obj.Location; if (e.Button == MouseButtons.Right) { foreach (Panel p in panel1.Controls) { if (obj != null) { if (p.Location.X == objP.X +40 && p.BackgroundImage == obj.BackgroundImage) { pP = p.Location; p.Dispose(); obj.Dispose(); } if (p.Location.X < pP.X && p.BackgroundImage == obj.BackgroundImage) { if (p.Location.X == pP.X + 40) { pP = p.Location; p.Dispose(); } } } } erklärung obj=der stein der geklickt wurde objP=die location/koordinaten(zwischen gespeicher) und in pP speicher ich die location von jenen stein der die xkoordianten +40(steinbreite) hat dispose=löschen ein pseudo bzw code in blitzbasic oder verweis wäre auch praktisch |
||
Tools and Programms
-------------------- www.systhern.de |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde überlegen ein 2D-Array mit Spielsteinobjekten zu machen.
Dann fällt die Abfrage leichter und du kannst durch überprüfen von unten nach oben die Steine weiter fallen lassen. Aber ich verstehe dein Problem nicht so ganz. Vielleicht mal nen Screen was passiert und was passieren sollte. Ich bin heute schwer von Begriff ![]() EDIT: Achso das soll ganricht fallen. ICh komm solangsam dahinter was du meinst ![]() Und jetzt versteh ich auch warum dir das so Probleme macht... Ich werde drüber nachdenken. MFG |
||
![]() |
SYSThern |
![]() Antworten mit Zitat ![]() |
---|---|---|
fallen soll es schon nur das tut es bereits das ist nicht das problem
aber der algorithmus zum überprüfen ob ein gleicher stein neben einen liegt und dann diesen über prüfen ob neben dem einer liegt und soweiter und am ende jeden stein auf den es zutraf löschen |
||
Tools and Programms
-------------------- www.systhern.de |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sieht für mich nach einem Rekursiv lösbarem Problem aus. Also die selbe Funktion auf die Nachbarfelder anwenden, so lange bis du alle Felder der gleichen Farbe markiert hast. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group