Laden...

Forenbeiträge von OddN3ss Ingesamt 15 Beiträge

24.03.2017 - 11:06 Uhr

Guten Morgen,

Ich würde da etwas anders herangehen und das PreviewMouseDown Event abfangen.
Dort kannst du deine Abfrage tätigen und, wenn der "Click" abgebrochen werden soll einfach e.Handled = true; setzen.

Dann wird der Klick auf den Toggle Button nicht ausgeführt.

Lg

08.02.2016 - 22:30 Uhr

Ich befürchte, dass mir da an einigen Stellen ein Fehler mit dem Index unterlaufen ist 😃
Hätte nur gedacht, dass es evt. eine Möglichkeit gibt, leichter mit den Bonbons zu arbeiten.

Viel kann man mit den Bonbons nicht machen. Sind mindestens 3 oder mehr Bonbons der gleichen Farbe horizontal oder vertikal nebeneinander, so verschwinden sie. Es gibt dann noch Bonusbonbons, aber die spieler erstmal keine Rolle.

08.02.2016 - 22:00 Uhr

Guten Abend,

Ich arbeite nebenbei an einem kleinem Projekt um mich allgemein mit Bot's zu beschäftigen. C# mag dazu nicht die beste Lösung sein, das ist mir durchaus bewusst, da ich allerdings beruflich mit WPF/C# arbeite fühle ich mich damit recht wohl 😃

So nun zu meinem momentanen Stand der Dinge.

Problem, welches es zu lösen gibt:
Siehe Anhang

Regel:
Wie üblich bei solchen Spielen müssen min. 3 gleiche Bonbons in eine Reihe Horizontal oder Vertikal gebracht werden damit sie verschwinden.

Was mein Bot bis jetzt kann:

  • Prüft ob das Gameboard still steht und nicht mehr in bewegung ist
  • Erkennt alle Bonbons im Spielfeld und kann ihnen eine Farbe zuweisen
  • Ein kleiner verbuggter algo, der versucht 3 Bonbons der gleichen Farbe nebeneinander zu bringen

Mein Problem:
-> Wie organisiere ich die Bonbons in meinem Code, um leicht mit ihnen arbeiten zu können und wie finde ich am schnellsten heraus, welches Bonbon verschoben werden müsste?

Momentan habe ich eine einfache Liste mit den Bonbons (Klasse mit Farbe und Koordinaten). Anhand iherer Position in der Liste kenne ich ihre "position" auf dem Spielfeld. Ich gehe zunächt horizontal Reihe für Reihe druch und suche 2 gleichfarbige Bonbons in einem Bereich von 3. Ist das der Fall so schaue ich ob in der nähe des anderstfarbigen Bonbons nicht ein Bonbon ist, welches zu den anderen beiden passt. Ist das der Fall, so schiebe ich das Bonbon an seine neue Stelle.

Nunja was soll ich sagen durch die ganzen Zählerschleifen und abfragen habe ich mich ganz schön verzettelt und teilweise werden Bonbons am rand ignoriert.

Wäre cool, wenn mir jemand da etwas auf die Sprünge helfen könnte.

Mfg OddN3ss

04.11.2015 - 16:10 Uhr

Hinweise

Zitat von: Trackbar
The TrackBar is a scrollable control similar to the ScrollBar control.You can configure ranges through which the value of the Value property of a track bar scrolls by setting the Minimum property to specify the lower end of the range and the Maximum property to specify the upper end of the range.

The LargeChange property defines the increment to add or subtract from the Value property when clicks occur on either side of the scroll box.The track bar can be displayed horizontally or vertically.

You can use this control to input numeric data obtained through the Value property.You can display this numeric data in a control or use it in code.

--> Du kannst die Range einstellen und deine Werte daran orientieren.

24.10.2015 - 15:06 Uhr

Hallo,

danke für eure Antworten.

Es hat an der HTTP Activation gelegen, habe diese Option vorher immer übersehen 😄

Vielen Dank

24.10.2015 - 14:24 Uhr

Hallo,

Ich habe einen kleinen Windows Server 2012.

Zunächst einmal habe ich einen FTP Seite angelegt um Applications mit ClickOnce zu updaten. Dies funktioniert einwandfrei.

Nun wollte ich für ein ganz simples Lizenssystem einen WCF Service mit IIS einbinden. Dies stellt momentan ein unüberwindbares Hindernis für mich da, da meine Erfahrung in diesem Bereich bzgl. Setup etc. gegen NULL tendieren 😃

Ich habe also eine neue FTP Page angelegt und einen Ordner zugewiesen. Ich nehme meinen local entwickelten WCF Service und veröffentliche diesen auf meinen FTP, kopiere die Files in den Ordner der neuen Page und versuche zum Service zu connecten.

http://1**.*..*8/Service1.svc.

Dann erhalte ich folgende Fehlermeldung:> Fehlermeldung:

HTTP-Fehler 404.17 - Not Found
Der angeforderte Inhalt ist offenbar ein Skript und kann vom Handler für statische Dateien nicht angezeigt werden.

Ich habe schon das gesamte Internet nach Lösungen durchsucht und schon mehrere Stunden damit verbracht den Fehler zu finden. Nun... es hat bis jetzt nichts gebracht, oder ich mache etwas grundlegend Falsch.

Hat jemand damit schonmal Erfahrung gemacht, kann mir helfen oder es sich sogar über TeamViewer mal das ganze anschauen?

mfg OddN3ss

07.09.2015 - 11:14 Uhr

Wird evtl. am DropShadowEffect liegen, wie es in
>
auch der Fall war.
SnapsToDevicePixels gilt IIRC für Linien und Co, aber nicht für Text.

Ok... Hääääääääääääääääää
Also jetzt bin ich verdammt verwirrt. Entferne ich aus beiden Applications den DropShadowEffect ist kaum ein Unterschied mit bloßem Auge erkennbar. Nur wie kann es sein, dass sich der Effect in beiden Applications so drastisch unterscheidet?

07.09.2015 - 10:47 Uhr

Du könntest mal mit
>
schauen ob das Element noch irgendwelche Stile erbt.

negativ, ich verwende ja noch weitere Textblöcke. Bei allen anderen ist die erscheinung in beiden App's identisch und wie erwartet, nur eben dieser eine Block schaut verschwommen aus.

07.09.2015 - 10:21 Uhr

suche immernoch nach einer Lösung!

12.08.2015 - 12:34 Uhr

Nein, in keiner der beiden Projekte.

lg OddN3ss

07.08.2015 - 08:53 Uhr

Guten Morgen 😃

Situation:
Ich habe 2 Anwendungen. Beide haben den selben Background (#FF282828). Beide "MainWindow's" senden eine Anfrage an einen WCF-Service, um dessen Status zu erfragen. Das Ergebnis wird via Binding in der View dargestellt.

**Problem: **
Das Verhalten der Anwendung 'Links' ist wie erwartet, wohingegen Anwendung 2 den Text verschwommen darstellt. Aufbau des XAML-Codes ist identisch. Ein Style für den Textblock ist in beiden Anwendungen enthalten. Er regelt lediglich Foreground,Font und FontSize.

BILD SIEHE ANHANG
Links OK!, rechts verschwommen

XAML-Code beider Anwendungen für diesen Abschnitt:

        <!--Connection Status-->
        <StackPanel Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Center" Grid.Row="2" Grid.Column="1">
            <TextBlock Text="Server: " Foreground="White" FontSize="20" FontFamily="Calibri" >
                <TextBlock.Effect>
                    <DropShadowEffect ShadowDepth="4" Direction="330" Opacity="0.5" BlurRadius="4" Color="Black"/>
                </TextBlock.Effect>
            </TextBlock>
            <TextBlock Text="{Binding connectionStatus}" Foreground="{Binding connectionColor}" FontSize="20" FontFamily="Calibri" >
                <TextBlock.Effect>
                    <DropShadowEffect ShadowDepth="4" Direction="330" Color="Black" Opacity="0.5" BlurRadius="4" />
                </TextBlock.Effect>
            </TextBlock>
        </StackPanel>

Jemand eine Idee, was das sein könnte?

Mfg OddN3ss

20.05.2015 - 15:58 Uhr

Bei mir sieht das ganze immer so aus, evt. hilft es dir ja weiter.


        private ICommand _goToChatErstellenCommand;
        public ICommand goToChatErstellenCommand
        {
            get 
            {
                if (_goToChatErstellenCommand == null)
                {
                    _goToChatErstellenCommand = new RelayCommand(param => goToChatErstellenCommand_ExecuteCommand(param));
                }
                return _goToChatErstellenCommand; 
            }
            set { _goToChatErstellenCommand = value; }
        }



        private void goToChatErstellenCommand_ExecuteCommand(object param)
        {
               //Do Something
        }

RelayCommand Class

   public class RelayCommand : ICommand
    {
        readonly Action<object> _execute;
        readonly Predicate<object> _canExecute;

        public RelayCommand(Action<object> execute)
            : this(execute, null)
        {
        }

        public RelayCommand(Action<object> execute, Predicate<object> canExecute)
        {
            if (execute == null)

                throw new ArgumentNullException("execute");

            _execute = execute;
            _canExecute = canExecute;
        }

        public bool CanExecute(object parameter)
        {
            return _canExecute == null ? true : _canExecute(parameter);
        }



        public event EventHandler CanExecuteChanged
        {
            add { CommandManager.RequerySuggested += value; }
            remove { CommandManager.RequerySuggested -= value; }
        }

        public void Execute(object parameter)
        {
            _execute(parameter);
        }
    }

Mfg OddN3ss

01.03.2015 - 17:50 Uhr

Hallo,
Also folgender Stand:

Ich habe eine Anwendung, die einen Screenshot erstellt und diesen dann auswertet und die Koordinaten eines bestimmten Farbwertes sucht.

Da er allerdings den Kompletten screen durchsucht, dauert das ganze zu lange.

Ich möchte gerne nur einen Bereich um die aktuelle Mausposition durchsuchen.
Mit Bitmap etc habe ich noch nicht so viel gearbeitet und ich weis nicht wirklich, wie ich das ganze dann angebe.

Anbei der Code (Aktueller Stand):

Screen vom gesammten Bildschirm

        private Bitmap CaptureScreen()
        {
            //Point a = new Point();
            //a = Control.MousePosition;


            Bitmap b = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
            using (Graphics g = Graphics.FromImage(b))
            {
                g.CopyFromScreen(new Point(0, 0), new Point(0, 0), b.Size);
            }

            return b;
        }

Auswertung des Screens

        public Point GetPixelPosition(Color SearchColor, bool IgnoreAlphaChannel)
        {
            //Point a = new Point();
            //a = Control.MousePosition;


            _ColorFound = false;
            Point PixelPt = new Point(0, 0);

            using (Bitmap b = CaptureScreen())
            {
                for (int i = 0; i < b.Width; i++)
                {
                    if (this._ColorFound)
                        break;

                    for (int j = 0; j < b.Height; j++)
                    {
                        if (this._ColorFound)
                            break;

                        Color tmpPixelColor = b.GetPixel(i, j);
                        if (((tmpPixelColor.A == SearchColor.A) || IgnoreAlphaChannel)
                            && (tmpPixelColor.R == SearchColor.R)
                            && (tmpPixelColor.G == SearchColor.G)
                            && (tmpPixelColor.B == SearchColor.B)
                            )
                        {
                            PixelPt.X = i;
                            PixelPt.Y = j;
                            this._ColorFound = true;
                        }
                    }
                }
            }

            return PixelPt;
        }

Kann mir da jemand auf die Sprünge helfen?

#EDIT#

Habe mein Problem gelöst bekommen:

public Point GetPixelPosition(Color SearchColor, bool IgnoreAlphaChannel, int pixelsToSearchAround)
    {
        Point mousePosition = Cursor.Position;

        _ColorFound = false;
        Point PixelPt = new Point(0, 0);

        using (Bitmap b = CaptureScreen())
        {
            int minX = mousePosition.X - pixelsToSearchAround;
            int maxX = mousePosition.X + pixelsToSearchAround;
            int minY = mousePosition.Y - pixelsToSearchAround;
            int maxY = mousePosition.Y + pixelsToSearchAround;
            if(minX < 0) minX = 0;
            if(minY < 0) minY = 0;
            if(maxX > b.Width) maxX = b.Width;
            if(maxY > b.Height) maxY = b.Height;

            for (int i = minX; i < maxX; i++)
            {
                if (this._ColorFound)
                    break;

                for (int j = minY; j < maxY; j++)
                {
                    if (this._ColorFound)
                        break;

                    Color tmpPixelColor = b.GetPixel(i, j);
                    if (((tmpPixelColor.A == SearchColor.A) || IgnoreAlphaChannel)
                        && (tmpPixelColor.R == SearchColor.R)
                        && (tmpPixelColor.G == SearchColor.G)
                        && (tmpPixelColor.B == SearchColor.B)
                        )
                    {
                        PixelPt.X = i;
                        PixelPt.Y = j;
                        this._ColorFound = true;
                    }
                }
            }
        }

        return PixelPt;
    }
25.02.2015 - 14:37 Uhr

Musst du deinem NotifyPropertyChanged(); nicht noch etwas übergeben?
Ich bin es so gewohnt:
NotifyPropertyChanged("ChatContent");

Allerdings kann ich auch gerade auf der völlig falschen Spur sein 😃

25.02.2015 - 13:57 Uhr

Warum fragst du nicht einfach ab, ob gespeichert werden kann, bevor du die Daten des neuen Header lädst? Wenn die Daten korrigiert werden müssen brichst du einfach den Ladevorgang des angeklickten headers ab.

Um auf den alten zurück zu kommen, könntest du da nicht einfach eine art Klick simulieren? (Header aktiv). Dann könntest du dir einfach in einer variable den alten Header merken.

Mfg OddN3ss

PS: Bin mir nicht ganz sicher ob ich dein Vorhaben richtig verstanden habe 😉