.
Anmeldung | Registrieren | Hilfe
in Suchen

vb.net Ansteuern eines Pixels

Letzter Beitrag 25. Mai 2010 13:41 von gfoidl. 4 Antworten.
Seite 1 von 1 (5 Treffer)
Beiträge sortieren: Zurück Weiter
  • 21. Mai 2010 9:44

    • FrankLue
    • Top 500 Mitwirkender
    • Registriert am 21. Mai 2010
    • Beiträge 2
    • Punkte 55

    vb.net Ansteuern eines Pixels

    Hallo,

    ich bin neu hier und habe auch gleiche eine Frage die mich verzweifeln lässt.

    Ich habe die aufgabe ein Mühle spiel üer GDI zu Programmieren.

    Nun stellt sich mir die Frage wie frage ich ab wo welches stein ist (Des jeweiligen Spielers)

    ich wollte einen Sub schreiben der die jeweiligen vorher bekannten pixel ausliest  und die farbe speichern z.B. spieler 1 z.B. rot und spieler 2 Blau. Kann mir jemand sagen wie das geht?

     

    Vielen Dank und Vorraus

    Frank

    • IP-Adresse ist Registriert
  • 21. Mai 2010 10:19 Antwort zu

    • Timo Rehl
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 05. Mai 2009
    • Wald-Michelbach
    • Beiträge 591
    • Punkte 10.140

    vb.net Ansteuern eines Pixels

    Hallo Frank,

    auch wenn Du das so sicherlich jetzt nicht von mir hören willst, muss ich sagen, dass ich Dein Konzept ungünstig finde. Ich würde ein Mülspiel folgendermaßen konzipieren:

    - Eine Klasse "MuehleLogik", die all die Logik enthält, um die Regeln von Mühle abzubilden
    - Eine Klasse "Spielbrett", die das Spielbrett zeichnet und die verschiedenen möglichen Positionen in einem Raster vorgibt (z.B. oben links ist dann A1, das Feld oben mitte ist dann A2 ...
    - Eine Klasse "Spielstein", das dann den Besitzer und die Position in der "MuehleLogik" registriert usw.

    Ich will es eigentlich jetzt gar nicht ausführlicher beschreiben, ich hoffe es ist klar worauf ich hinaus will?

    Um dann eine konkrete Antwort zu Deiner Frage zu geben, mit demo. genannten Konzept musst Du dann bei einem Benutzerklick mit der Maus nur die Position auf dem Spielbrett bestimmen, in die Rasterposition (A1, A2...,C3..) auflösen, in der "MuehleLogik" nachschauen, ob und was sich dort für ein Spielstein befindet und dementsprechend reagieren.

    Die von Dir angestrebte Lösung über einen konkreten Pixel zu gehen, und dessen Farbe auszuwerten halte ich für sehr ungünstig und wird Dich über kurz oder lang in Schwierigkeiten bringen.

    Ich hoffe Du bist mir nicht böse über "die harten Worte", und verstehst, dass ich Dir hier wirklich nur helfen will.

    Grüße
    Timo
    - theres no place like 127.0.0.1 -
    • IP-Adresse ist Registriert
  • 22. Mai 2010 9:07 Antwort zu

    • FrankLue
    • Top 500 Mitwirkender
    • Registriert am 21. Mai 2010
    • Beiträge 2
    • Punkte 55

    vb.net Ansteuern eines Pixels

    Vielen Dank für deine schnelle Antwort,

    Was du da sagst klingt zwar viel besser als das was ich vor habe. ich würde es gerne so umsetzten auch wenn ich mich mit Klassen nicht so stark beschäftigt habe. Allerdings ist dies eine Aufgabe aus meiner schule und es muss alles in einer Klasse gehandelt werden und ich wüste nicht wie es sonst gehen müsste. Allerdings habe ich jetzt noch ne 2 Frage wie frage ich Position der MAus ab wenn man links klick mache das würde mir evtl. das mit den Pixeln auch ersparen.

    Danke

    Frank

    • IP-Adresse ist Registriert
  • 25. Mai 2010 9:54 Antwort zu

    • Timo Rehl
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 05. Mai 2009
    • Wald-Michelbach
    • Beiträge 591
    • Punkte 10.140

    vb.net Ansteuern eines Pixels

    Hallo Frank,

    sorry, dass ich erst jetzt wieder so spät antworte. Trotzdem gibt es für Deine Frage eine einfache Antwort:

    Verwende einfach das MouseClick-Ereignis. Wenn Du auf das Ereignis reagierst, dann kannst Du mittels der übergebenen Parameter auch die Mausposition überprüfen:

    Private Sub Control1_MouseClick(sender as Object, e as MouseEventArgs) _ 
         Handles Control1.MouseClick
    
        Dim messageBoxVB as New System.Text.StringBuilder()
        messageBoxVB.AppendFormat("{0} = {1}", "Button", e.Button)
        messageBoxVB.AppendLine()
        messageBoxVB.AppendFormat("{0} = {1}", "Clicks", e.Clicks)
        messageBoxVB.AppendLine()
        messageBoxVB.AppendFormat("{0} = {1}", "X", e.X)
        messageBoxVB.AppendLine()
        messageBoxVB.AppendFormat("{0} = {1}", "Y", e.Y)
        messageBoxVB.AppendLine()
        messageBoxVB.AppendFormat("{0} = {1}", "Delta", e.Delta)
        messageBoxVB.AppendLine()
        messageBoxVB.AppendFormat("{0} = {1}", "Location", e.Location)
        messageBoxVB.AppendLine()
        MessageBox.Show(messageBoxVB.ToString(),"MouseClick Event")
    
    End Sub


    Einzige "Herausforderung" ist es das Control zu bestimmen, was letztendlich das Event wirft (ist es Deine Form, eine PictureBox, ...)? Also das Control, welches Dein Spielbrett zeichnet, das ist das gefragte Control.

    Ich hoffe, ich konnte Dir weiterhelfen?

    Grüße
    Timo
    - theres no place like 127.0.0.1 -
    • IP-Adresse ist Registriert
  • 25. Mai 2010 13:41 Antwort zu

    • gfoidl
    • Top 25 Mitwirkender
      Männlich
    • Registriert am 07. Okt 2008
    • Waidring / Tirol
    • Beiträge 174
    • Punkte 3.125

    vb.net Ansteuern eines Pixels

    Hallo Frank,

    Crossposts sind unfair denn sie erzeugen unnötige Arbeit. Siehe auch in den Foren-Regeln.


    mfG Gü
    Programming today is a race between the programmers and software engineers to create better
    and more idiot-proof programs, and the universe, creating bigger and better idiots. So far,
    the universe is winning". - Rich Cook
    • IP-Adresse ist Registriert
Seite 1 von 1 (5 Treffer)

WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum