Hi Stepke, hast du auf der hersteller seite geschaut? hier ( http://denkovi.com/usb-relay-board-four-channels-for-home-automation ) haben sie code beispiele ganz am ende der seite....

das sollte weiter helfen.

...zur Antwort

Ich verstehe nicht ganz was du machen moechtest, aber du kannst ein EventHandler nutzen der von dein thread getriggert wird.... diese event handler kann dann dein sendkeys uebernehmen.

...zur Antwort

Hallo, in deinem beispiel musstest du das spielfeld an dein snake object uegeben... das kann so in etwas aussehen:

    public class Spielfeld
    {
        public int Weite { get; set; }
        public int Höhe { get; set; }

        public void abmessungSpielfeld(int weite, int höhe)
        {
            this.Weite = weite / 20;
            this.Höhe = höhe / 20;
        }
    }

    public class Snake
    {
        private Spielfeld spielfeld;
        public Snake(Spielfeld spielfeld)
        {
            this.spielfeld = spielfeld;
        }

        public void neuerPunkt()
        {
            Random r = new Random();
            int zahl1 = r.Next(0, spielfeld.Weite);
            int zahl2 = r.Next(0, spielfeld.Höhe);
        }
    }

ich persoenlich bin kein fan von umlauten im code... und wuerde eher davon abraten, aber das ist geschmackssache....

schau dir das untere beispiel von ein vereinfachte darstellung von ein spielfeld an, vielleicht regt das zu ein paar idden an....

    public class Spielfeld
    {
        private int[,] board;

        public int Breite
        {
            get { return board.GetLength(1); }
        }

        public int Höhe
        {
            get { return board.GetLength(0); }
        }

        public Spielfeld(int height, int width)
        {
            this.board = new int[height, width];
        }

        public bool IsFieldOccupied(int x, int y)
        {
            return this.board[x, y] == 0;
        }

        public void OccupyField(int x, int y)
        {
            this.board[x, y] = 1;
        }

        public void UnOccupyField(int x, int y)
        {
            this.board[x, y] = 0;
        }

    }

    public class Snake
    {
        private Random r = new Random();
        private Spielfeld spielfeld;
        public Snake(Spielfeld spielfeld)
        {
            this.spielfeld = spielfeld;
        }

        public void SetRandomPosition()
        {
            int x = r.Next(0, spielfeld.Breite);
            int y = r.Next(0, spielfeld.Höhe);
            spielfeld.OccupyField(x, y);
        }
    }

    public class Game
    {
        
        public void StartGame() {
            Spielfeld feld = new Spielfeld(10, 10);
            Snake snake = new Snake(feld);
            snake.SetRandomPosition();

        }
    }
...zur Antwort

Schmeiss doch einfach dein code hier rein, da koennen wir dann gerne helfen.

Das wird wahrscheinlich mehr bringen da du wahrscheinlich infos bekommst wieso es manchmal besser ist sachen etwas anderes zu machen.

rgds

...zur Antwort

hi default3punkt0, in c# gibt es die lambda methoden von linq Max und Min. Du misstest nur deine zahlen in ein array setzen, hierfuer benoetigst du keine if abfragen, schleifen oder sortier functionen.

int[] numbers = new int[] { 1, 2, 8, 3, 10, 25, 4 };
var maxResult = numbers.Max();
var minResult = numbers.Min();  
...zur Antwort

Ein SMS der laenger als 160 zeichen ist (dies unterscheidet sich in verschiedene laender) wird mit der concatenated SMS technik versendet. Hier werden sogenannte header informationen mit versendet damit dein geraet weis das mehrere sms nachrichten zusammen gehoeren, damit diese dann als eine auf dein display erscheint....

fuer mehr infos kannst du hier nachschauen: http://en.wikipedia.org/wiki/Concatenated_SMS

es kann naturlich sein das ein geraet so eingestellt ist das laendere nachrichten als mms versendet werden.... vielleicht ist es bei deine mutter so. Aber dies ist nicht der regel fall.

...zur Antwort

Wenn du eine List verwendest kannst du ganz einfach contains() verwenden:

    static void Main(string[] args)
    {
        int numberOfRandomNumbers = 8;
        List<int> randomNumbers = new List<int>();
        Random random = new Random();
        while (randomNumbers.Count < numberOfRandomNumbers + 1)
        {
            int randomInt = random.Next(0, 46);
            if (!randomNumbers.Contains(randomInt))
            {
                randomNumbers.Add(randomInt);
            }
        }
        randomNumbers.Sort();
        foreach (var number in randomNumbers)
        {
            Console.WriteLine(number);
        }
    }
...zur Antwort

Hi hier ein stwas andere ansatz... in dem vectoren ueberprueft werden...

    public enum Cell { EMPTY, BLUE, RED }

    class Vector
    {
        public int i;
        public int j;
        public Vector(int i, int j) { this.i = i; this.j = j; }
    }

    private static List<List<Vector>> winTemplates = new List<List<Vector>>
    {
        Enumerable.Range(0, 4).Select(x => new Vector(x, 0)).ToList(),
        Enumerable.Range(0, 4).Select(x => new Vector(0, x)).ToList(),
        Enumerable.Range(0, 4).Select(x => new Vector(x, x)).ToList(),
        Enumerable.Range(0, 4).Select(x => new Vector(4 - x - 1, x)).ToList()
    };

    private static int boardHeight = 8;
    private static int boardWidth = 8;
    private static Cell[,] board = new Cell[boardHeight, boardHeight];

    private static Func<Tuple<Cell, List<Vector>>> findWinOnBoard = () => Enumerable.Range(0, boardHeight - 4)
            .SelectMany(i => Enumerable.Range(0, boardWidth - 4).Select(j => new Vector(i, j)))
            .Select(p => getWinFromPosition(p))
            .FirstOrDefault();

    private static Func<Vector, Tuple<Cell, List<Vector>>> getWinFromPosition = p => winTemplates
            .SelectMany(winTemplate => winTemplate
                .Select(q => new Vector(p.i + q.i, p.j + q.j))
                .GroupBy(v => board[v.i, v.j])
                .Where(g => g.Key != Cell.EMPTY && g.Count() == 4)
                .Select(g => Tuple.Create(g.Key, g.ToList())))
            .FirstOrDefault();

    static void Main(string[] args)
    {
        // dein spiel code here...

        var win = findWinOnBoard();
        if (null != win)
        {
            Console.WriteLine("Das {0] team hat gewonnen", win.Item1.ToString());
        }
    }
   
}
...zur Antwort

wenn du mehrer parameter verwendest, kann ich diese commandline parser lib in dein project empfehlen... man muss das rad nciht zwei mal erfinden...

http://commandline.codeplex.com/

hier ein beispiel vom projekt seite:

// Define a class to receive parsed values
class Options {
  [Option('r', "read", Required = true,
    HelpText = "Input file to be processed.")]
  public string InputFile { get; set; }

  [Option('v', "verbose", DefaultValue = true,
    HelpText = "Prints all messages to standard output.")]
  public bool Verbose { get; set; }

  [ParserState]
  public IParserState LastParserState { get; set; }

  [HelpOption]
  public string GetUsage() {
    return HelpText.AutoBuild(this,
      (HelpText current) => HelpText.DefaultParsingErrorsHandler(this, current));
  }
}

// Consume them
static void Main(string[] args) {
  var options = new Options();
  if (CommandLine.Parser.Default.ParseArguments(args, options)) {
    // Values are available here
    if (options.Verbose) Console.WriteLine("Filename: {0}", options.InputFile);
  }
}

um deine parameter dann weiter zu geben im cmd:

deinprogramm.exe -r "c:\bla.txt" -v false

oder auch:

deinprogramm.exe --read "c:\bla.txt" --verbose false

...zur Antwort

Clientseitig wurde SilverLight bisher nicht genannt.... wobei es selten genutzt wird um vollstaendige seiten zu realisieren...

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.