Ping Überwachung / Verfügbarkeitscheck

MyProg, Projekte, Software No Comments

Hallo wieder mal!

Ich hab heute aus gegebenen Anlass ein kleines .NET-Programm entwickelt, welches eine Statistik der Onlineverfügbarkeit berechnet.

Dabei versucht das Programm zunächst den Router (einstellbare IP-Adresse, kann auch auf 127.0.0.1 gesetzt werden) zu pingen. Nur wenn die Verbindung zum Router steht, werden die erfolgreichen/fehlgeschlagenen Ping-Versuche aufgezeichnet (es ergibt ja keinen Sinn die Verfügbarkeit zu testen wenn man nicht zu Hause ist). Anschließend wird eine Erfolgsquote berechnet.

Ping Überwachung

Die Antwortzeit des Pings wird in der Statusleiste des Programmes angezeigt. Weiters wird ein Logfile geführt, in welchem die Antwortzeit geloggt wird. Das Programm kann per Knopfdruck in den Autostart gelegt werden und besitzt ein Tray-Icon, in welchen es verschwindet wenn man das Programm minimiert. Das Programm arbeitet mit Threads und wird somit nicht blockiert, wenn ein Ping mal länger dauert.

Folgende Einstellungen können derzeit vorgenommen werden:

  • Logfile-Name/Pfad (z.B. ping.log)
  • PingURL  (z.B. www.google.at)
  • RouterIP (z.B. 192.168.1.1)
  • RefreshTime in Sekunden (z.B. 1)
  • Timeout in Millisekunden (z.B. 4000)

Bei dem Programm handelt es sich noch um eine Betaversion! Ich mich über konstruktive Kritik, Vorschläge und sonstige Rückmeldungen freuen!

Download: Ping Überwachung (56)

Achtung: Unter Einstellungen ist höchstwahrscheinlich die Routeradresse auf 192.168.0.1 (oder wie installiert) zu ändern!

PoorNothing specialWorth readingPretty coolAwesome! (No Ratings Yet)
Loading ... Loading ...

Sudoku

Fun, Game, MyProg, Projekte, Software No Comments

Im Oktober 2006 habe ich Sudoku mit WinAPI und C programmiert. Die bekannten Rätsel aus Zeitschriften können am Computer viel leichter gelöst werden. Es werden (optional) nämlich alle verbleibenden Möglichkeiten in den Feldern angezeigt. Außerdem werden Fehler sofort rot gekennzeichnet.

Die Software kann auch JEDES lösbare Rätsel selbst lösen. Dazu gibt es 2 Optionen: durch Logik (geht selten) und durch Probieren. Das Try&Error-Prinzip leistet hier gute Dienste und liefert nach wenigen Sekunden (je nach Füllung) bereits ein korrektes Ergebnis.

Sudoku Screenshot

Sudoku Screenshot

Auch zum Erstellen solcher Rätsel eignet sich dieses Programm gut. Unter “Expert” findet man Möglichkeiten zufällige Zusammensetzungen zu produzieren. Weiters kann man sich ein Rätsel lösen lassen (Bearbeiten -> Auflösen, Alles(Try&Error)) und dann Durcheinanderbringen (Expert->Durcheinanderbringen). Mit Expert->Felder entfernen kann dann ein neues Rätsel erzeugt werden. Um das Ganze schwieriger zu gestalten sind manuelle Nachbearbeitungen möglich.

Die Rätsel können gespeichert und geladen werden ;-)

Download: Sudoku (172) (35 kB, Sudoku.rar)

PoorNothing specialWorth readingPretty coolAwesome! (1 votes, average: 5.00 out of 5)
Loading ... Loading ...

Tetris

Fun, Game, MyProg, Projekte, Software No Comments

Dieses Tetris habe ich 2005 mit MFC / C++ programmiert. Bei den Spielsteinen selbst handelt es sich um WinAPI-Funktionen.

Tetris Screenshot

Tetris Screenshot

Es unterstützt entsprechend die Optionen “Geschwindigkeit” und “Vorschau anzeigen” sowie für jede Schwierigkeitsstufe eine Highscoretabelle. Auch 6 Midi-Songs sind dabei und werden auf Wunsch abgespielt.

Download: Tetris (152) (165 kB, Tetris.rar)

PoorNothing specialWorth readingPretty coolAwesome! (No Ratings Yet)
Loading ... Loading ...

Neues Projekt: Browsergames

Game, Internet, MyProg, News, Projekte, Software 1 Comment

Ich habe kürzlich begonnen ein größeres Browsergame zu programmieren. Eigentlich handelt es sich ja um die Grundstruktur für Browsergames, in welche man ohne größeren Aufwand fast jede beliebige Spielidee einbauen kann. Im Moment lehne ich das Projekt an ein bestehendes Onlinespiel an, dessen “Quellcode”, “Bilder” und “Texte” laut Impressum dem Websitebetreiber gehören. Meiner Meinung nach ist eine angelehnte Idee, welche selber programmiert und desigt ist, daher legal.

Wo soll es laufen? Während der Entwicklung läuft die Software bei mir am Notebook, auf welchen aus dem Internet zugegriffen werden kann. Anschließend werde ich eine Beta-Version auf einem PHP/MySQL-Server laufen lassen. Die Programmierung wird derzeit auf folgende Punkte ausgelegt:

  • Traffic sparen (kein unnötiges Seitennachladen (ajax, javascript), Kompression)
  • MySQL-Abfragen cachen (um die max. Connections Grenze von MySQL nicht zu erreichen und mehr Geschwindigkeit zu bieten)
  • Einfache Wartung und Umgestaltung (aus der Sicht des Administrators)
  • Sicherheit (gegen Bots, gegen SQL-Injection, …)

Sobald das Ganze etwas ansehnlicher wirkt werde ich nähere Informationen sowie Screenshots veröffentlichen ;-)

PoorNothing specialWorth readingPretty coolAwesome! (No Ratings Yet)
Loading ... Loading ...

Mandelbrot-Menge

Bilder, MyProg, Software, Wissenschaft No Comments

Wer kennt sie nicht? Mathematische Fraktale… Unendliche Computersimulationen… Die Mandelbrotmenge… Die Julia-Menge...

Mir hat die Mandelbrot-Menge sehr gut gefallen. Ich muss gestehen, dass ich den Algorithmus dahinter nicht ganz verstehe… aber ich habe den Pseudocode nach C#.NET transferiert und an die Sprache optimiert. Der eingeschränkte Zoombereich meines Programmes ist auf die normalerweise beschränkte Auflösung von Gleitkommazahlen zurückzuführen. Zunächst aber ein kleiner Überblick über mein neues Programm:

MandelbrotMenge (Programm)

Der größte Bereich (links oben) stellt das Fraktal dar. Klickt man mit der linken Maustaste hinein, wird die Ansicht dorthin eine Stufe tiefer gezoomt (vergrößert). Klickt man mit der rechten Maustaste, so wird herausgezoomt (verkleinert). Man kann wie beim Markieren mit den gängigen File-Explorern (z.B. Windows Explorer) einen Bereich des Bildes auswählen (der markierende Rahmen ist leider nicht sichtbar), woraufhin der markierte Bereich vergrößert wird.

Darunter befinden sich zwei Fortschrittsbalken, welche den Fortschritt des Zeichenvorganges (Redraw -> neu Zeichnen) bzw. des Exports (welcher längere Zeit in Anspruch nehmen kann). Rechts neben den Fortschrittsbalken befinden sich zwei Buttons, mit welchem die Berechnungsthreads abgebrochen werden können.

In der Mitte des Programmes befinden sich Schaltflächen zum Navigieren. “Reset View” bringt den Bildschirm zur Anfangsposition zurück. “Zoom Out” behält die Position bei, aber zoomt ganz heraus (verkleinert). Mit den Pfeilen bzw. “up” und “down” kann man die Position in alle Himmelsrichtungen verschieben. Mit Plus und Minus kann man Ein- und Auszoomen.

Am rechten Rand befinden sich in einer Tabkonfiguration zwei PropertyEditoren, mit welchen man Eigenschaften des Zeichenpanels und Eigenschaften des Exports frei definieren kann. Dabei ist allerdings Vorsicht geboten –> Wenn’s schief geht bitte das Programm neu starten oder Einstellungen rückgängig machen ;-)

Download: Mandelbrot (198)

Auch dieses Programm benötigt .NET 2.0 (welches unter XP afaik wiederum ServicePack 2 voraussetzt). Wenn das Programm nicht ausführbar ist, bitte ich Sie zu überprüfen, ob eine aktuelle Version von .NET installiert ist.

PoorNothing specialWorth readingPretty coolAwesome! (No Ratings Yet)
Loading ... Loading ...

Hexxagon

MyProg, Projekte, Software, Technik 2 Comments

Aus privatem Interesse heraus habe ich das Spiel Hexxagon (nach-)programmiert. Zusätzlich habe ich das Spiel mit einer kleinen KI versehen, welche jedoch je nach Schwierigkeitsstufe exponentiell langsamer wird. Das Ganze basiert auf Microsoft .NET. Sollte sich die entpackte Datei also nicht ausführen lassen, so bitte ich Sie das ServicePack2 für Windows XP sowie eine aktuelle Version von Microsoft .NET zu installieren (oder gleichwertiges SP eines anderen Betriebssystemes).

Download: Hexxagon (118) - 14.2 KB

Hexxagon Screenshot

Dies ist die erste Veröffentlichung dieser Software -> Fehlermeldungen und Verbesserungsvorschläge sind willkommen :-) Viel Spaß!!!

PoorNothing specialWorth readingPretty coolAwesome! (1 votes, average: 5.00 out of 5)
Loading ... Loading ...

Speed: Geschwindigkeitsmessung per Checkpoint

MyProg, Projekte, Software 1 Comment

Kurzfristig hat mich ein Freund gebeten ihm ein kleines Programm zum Testen seiner Autohardware (Tacho :-) ) zu programmieren. Damit ist es möglich, per Mausklick die Stempel an der Straßenseite im vorbeifahren zu markieren und so die Geschwindigkeit abzuschätzen. Ich hoffe es funktioniert ;-)

Einzugeben ist der Abstand zwischen den Checkpoints in Metern. Dann sollte man den Beifahrer bitten, während der Fahrt zu den gewünschten Zeitpunkten auf “Checkpoint” zu klicken. Ab dem zweiten Klick wird die Geschwindigkeit und der Durchschnitt der letzten 10 Messungen angezeigt. In der Liste sieht man die History, welche ebenfalls in einer Datei geloggt wird.

Sicherheitshinweis: Das Programm sollte der Beifahrer bedienen!

Download: Speed (112)

PoorNothing specialWorth readingPretty coolAwesome! (1 votes, average: 5.00 out of 5)
Loading ... Loading ...

Memory

Easteregg, Game, Internet, MyProg, Projekte, Software 2 Comments

Heute – nachdem der Schulstress vorübergehend zu Ende geht – war mir etwas langweilig :-)

Schließlich erfuhr ich, dass in einer anderen Abteilung unserer Schule gerade die Aufgabe Memory mit JavaScript zu programmieren herumschwirrt. Nach kurzer Überlegung – Memory mit JavaScript ist ja gar keine schlechte Idee – beschloss ich dies kurz zu programmieren.

Das Ganze dauerte ca. eine Stunde, dann war das Spiel im Firefox lauffähig. Der IE wollte zuerst nicht so richtig, aber ich habs dann doch hinbekommen :-) Code und Grafik ist vollständig von mir (ich bin nicht besonders graphisch begabt, also bitte ich um Nachsicht)

Memory Screenshot

Achja, für alle die mich kennen gibt es ein mehr oder weniger verstecktes Easteregg ;-) Zumindst muss aus Gründen der Privatsphäre der betreffenden Personen eine Frage richtig beantwortet werden, um mit echten Bildern Memory zu spielen :-)

Hier das Spiel: Memory

Viel Spaß!!!

PoorNothing specialWorth readingPretty coolAwesome! (No Ratings Yet)
Loading ... Loading ...

TikTakToe – My First Game

MyProg, Software 15 Comments

TikTakToe ScreenshotHiermit veröffentliche ich mein erstes selbstprogrammiertes Spiel :-)

Es handelt sich dabei um TikTakToe, was vielen bekannt sein dürfte. Es existiert ein Spielfeld aus 3×3-Kästchen, in welches zwei Spieler abwechselnd ein “x” oder ein “o” eintragen. Wer als erstes 3 in einer waagrechten, senkrechten oder diagonalen Reihe positioniert hat gewonnen.

Programmiert habe ich das Spiel Ende 2004. Die letzten Änderungen wurden Ende 2005 vorgenommen. Der Quellcode liegt übrigends auch bei ;-) (wundert euch nicht, das Spiel besteht aus einer einzigen C-Quellcodedatei und lässt sich nur unter Windows kompilieren (wegen der Header) – rührt auch daher, dass es mein erstes Spiel war. Das ganze ist auch noch ziemlich if-lastig und 0 objektorientiert). Aaaaber es funktioniert :-D

Das Programm verfügt über einen 2-Spielermodus, sowie über eine KI in 4 verschiedenen Schwierigkeitsstufen (welche sehr gut funktioniert)! Jeder sollte das Spiel zumindest einmal ausprobiert haben! Wer besiegt den Computer? Das Spiel steuert man am besten über den Nummernblock.

Download (.rar): TikTakToe (118)

Vielleicht für die Interessierten kurz zum Quellcode ein paar Erläuterungen (der Komplette ist im rar-Archiv)…

#include<conio.h>
#include<stdio.h>
#include<windows.h>
#include<time.h>
...
// Startet das Spiel (mit oder ohne KI)
void game(int ki);
// Startet die Optionen
void options();
// Startet die Hilfe
void help();
// Feld zurücksetzen
void relog(int status[3][3]);
// Bildschirm zeichnen
void bildschirm(int status[3][3],char *player1,char *player2,int won1, int won2, int draw,int ki);
// Zeichnet o oder x, oder wenn das Feld belegt ist den "val"ue.
void aus(int taste, char val=0);
// Die KI
char think(int status[3][3]);
// Liefert die Anzahl der belegten Felder
int belegt_anz(int *status);
int belegt_anz(int status[3][3]);
// Löscht den Bildschirm
void mycls();
// Die Menüsteuerung mit den Pfeiltasten
int menusteuerung(int anzahl,int startzeile)

PoorNothing specialWorth readingPretty coolAwesome! (No Ratings Yet)
Loading ... Loading ...

Author