Manfreds BLUEJ JAVA PAGE Falls die Sie diese Seite nützlich finden, können Sie auch spenden! WICHTIG: Alle Dateien sind am Ende dieses Dokuments direkt abrufbar!! Für die Schule -Logik und Algorithmen- war ein Programm zu coden, welche einige Algorithmen der Graphentheorie umsetzen. Hier mein Beitrag... Hier zum download das JAR File 02.05.2005 Neues Projekt: Zahlensystemkonverter Nach sehr langer Pause (...die Schule...) habe ich nun wieder etwas gecodet. Einen Zahlenkonverter. Jaja, es gibt viele, aber nur wenige können auch Nachkommastellen ausrechnen... Dieser hier konvertiert Zahlen der Basis 0-36 um. Es werden bis zu 4 Kommastellen ausgegeben. Habe ihn zwar getestet, jedoch übernehme ich keine Gewähr auf richtigkeit! Zum Schluss noch, berechnet werden Zahlen bis maximal 9.999.999 Hier wird auch das TableLayout verwendet. Das komplette Projekt besteht daher aus 2 Jar-Files. Zum Download das vorhandene ZIP File downloaden und entpacken! Anschließend Zahlensystem.jar starten! Hier zum download das ZIP File 07.12.2004 Neues Projekt: JMine Update: Highscoreliste hinzugefügt; Bug behoben da es möglich war, dass beim erstellen der Bomben ein Feld mehrmals zufällig gewählt wurde und es so nicht so viele Bomben gab wie angenommen! Hier gibts das JAR File Features: - Speichern, Laden (komplette ArrayList wird gespeichert) - Zeichnen von Rechteck, Oval, Linie, Freihand, Freihand verbunden - Auswahl von Hintergrund und Zeichenfarbe - Gefüllte Objekte oder leere zeichnen - Rückgängig Funktion um gezeichnete Objekte zu löschen. Verwendete Methoden evtl. zum Lernen: - JRadioButtonMenuItem, JFileChooser, JPopupMenu (auf Zeichenfläche), Menüaufruf durch Tasten, Abfrage der Maus Hier gibts das JAR File Der Plotter (einige Aufrufe auch über Menü möglich!): Zeichnet 1-3 von Ihnen eingegebene Funktionen 'G' blendet ein Gitternetz ein/aus Pfeiltasten scrollen den Ausschnitt '+'/'-' zoomen 'ESC' in Ausgangszustand zurück. Der Parser: Kann Eingaben parsen, ABER prüft diese nicht!! Regeln: - keine Leerzeichen - Anzahl von '(' und ')' müssen übereinstimmen Unterstützte Rechenarten: - 'sin'=Sinus - 'cos'=Cosinus - 'tan'=Tangens - 'cotan'=CoTangens - 'log'=Logarithmus - 'sqrt'=Wurzel - '^' '+' '-' '*' */' Rechenregeln: '()' -> '^' -> 'sqrt' -> 'log' -> 'sin' -> 'cos' -> 'tan' -> 'cotan' -> '/' -> '*' -> '-' -> '+' Wobei zu beachten ist, dass z.B. folgende Rechnung so gerechnet wird: 1-2+3-2 -> -1+1 -> 0 Richtig wäre die Regel, dass in der Reihenfolge des vorkommens gerechnet wird. Im Zweifelsfall also Klammern setzen! Hier gibts das JAR File WICHTIG: Bitte JDK1.5.0 verwenden!! Speichern, Speichern unter, Laden, CSV-Export, CSV-Import, Suchen, Ändern, Löschen, Liste anzeigen Das Programm besteht insgesamt aus 10 Klassen. Also ersmals wirklich OOP. Die Hauptklasse GUI steuert das ganze. Zum Einsatz kommen Menüs, Buttons, FileCooser. Das Adressbuch wird als komplettes Objekt gespeichert oder geladen. Genauso wie man CSV-Dateien erstellen, ebenso importieren kann. Der Source-Code ist im JAR-File enthalten. Zum Schluss, BlueJ Benutzer können ganz einfach die .java Dateien in ein Verzeichniss stellen und dann in BlueJ importieren. Hier gibts das JAR File SokobanJay war mein letztes BlueJ-Projekt, da ich ab jetzt mit Eclipse arbeiten werde! Jedoch nicht weil ich es schlecht finde (ganz im Gegenteil), sondern weil wir in der Schule nun eben mit Eclipse arbeiten werden. Diese Seite bleibt jedoch weiterhin bestehen! Wie erwähnt, werden die Levels aus einer Textdatei eingelesen. Die Levels selbst hab ich von Internet. Diese Textdatei ist 'maze.txt' kann auch selbst editiert werden. Zum Download steht einstweil nur das JAR-File zur Verfügung. Einziger Wermutstropfen, das Programm hat wenig mit OOP zu tun. Also besteht quasi nur aus einer einzigen Klasse. Ich werde versuchen mich jedoch nun langsam umzustellen! Achja noch zum Spiel: Rot ist der Spieler (Steuerung mit Pfeiltasten), gelb die zu verschiebenden Fässer und blau die Zielfelder, wo die Fässer hinkommen sollen. Wenns einmal nicht mehr weitergeht, 'ESC' setzt den Level in Ausgangszustand zurück! Viel Spass! Hier gibts das JAR File Ich wollte bei diesem Projekt eigentlich nur erstmals eine eingene GUI erstellen. Der Rechner selbst war einstweil nebensächlich! Sicher nicht schlecht für jemanden um sich erstmals mit GUI zu beschäftigen. Es kann wieder ein ausführbares JAR-File erstellt werden. Oder hier zum download klicken. Ich habe noch ein kleines Tutorial zum erstellen von einem GUI zusammengeschrieben. Vielleicht hilfts dem ein oder anderen! Java GUI Tutorial Die Computer Methode ist ziemlich verwirrend, naja hab sowas auch zum ersten mal gemacht! Die Klasse Canvas wird wieder verwendet. Es kann wieder ein ausführbares JAR-File erstellt werden. DOWNLOAD Dieses Programm kann aus Bluej auch als JAR-File exportiert und dannach per Doppelklick ausgeführt werden! Beim exportieren die Klasse 'Komplex' als ausführbare auswählen! DOWNLOAD Während des Fluges wird geprüft ob der Ball das Ziel getroffen hat, also in seinem "Gebiet" ist. Hierfür wird quasi ein Rechteck über den Kreis gespannt und diese Position abgefragt. Dadurch ist die Trefferermittlung natürlich etwas ungenau, da Quadrat mehr Fläche hat als der Kreis, aber naja wir wollen nicht so kleinlich sein... Am Ende wird dann noch die Anzahl der benötigten Versuche ausgegeben! Zwar nicht wirklich berauschend, aber immerhin ein Anfang... DOWNLOAD Das Projekt ist sicher kein Beispiel für effiziente Programmierung, es ist sicher teilweise optimierungsbedürftig.. Der Kreis der Uhr wird mittels der Winkelfunktionen gezeichnet. Für die Zeigerstellungen wird ebenfalls die Winkelfunktion (Startpunkt=die Mitte, Endpunkt X ist das Ergebniss aus cos(Alpha)*hypotenuse, Endpunkt Y = sin(Alpha)*hypotenuse, wobei die Hypotenuse der Radius(=Zeiger) ist. Somit kommt man auf den Endpunkt des Zeigers (naja wenn nicht ganz klar nachlesen bei www.mathe-online.at unter Winkelfuntion) benutzt und für jede Minute das Ergebniss in ein Array geschrieben um die Berechnung nicht bei Laufzeit durchführen zu müssen. DOWNLOAD Bin2Dez wandelt eine Binärzahl in Dezimalzahl um und liefert den entsprechenden Returnwert als int. Dez2Bin wandelt Dezimal in Binär und liefert Returnwert als String. Dez2Hex wandelt Dezimal in Hexadezimal und liefert String. Hex2Dez wandelt Hexadezimal in Dezimal und liefert int. Demnächst werde ich evtl. eine Klasse schreiben welche von System n auf System m umwandelt. Klassen Dez2Hex und Dez2Bin wurden so geändert, dass anstelle von String die Klasse StringBuffer verwendet wird! Vorteile: Schnellerer Code, Weniger Code benötigt (z.B. umdrehen des Strings durch reverse Methode), Länge wird automatisch erweitert, war zuvor nicht so, da das Array fix mit einer grösse Hinterlegt wurde. DOWNLOAD Um Funktionen besser zu verstehen können Funktionsplotter sehr hilfreich sein. Dieser hier ist eher nur ein ganz simpler mit welchem "nur" Funktionen a´la x^n oder welche nach der Formel f(x)=k*x+d dargestellt werden können. Ich wollte zwar erreichen, dass eine beliebige Funktion eingegeben werden kann, aber ich scheiterete an dem Teil, an dem das Programm den eingegebenen Funktionsstring zerlegen und beurteilen muss. Naja vielleicht gibts den irgendwann mal.... ;-) DOWNLOAD ![]() Nach dem recht spannenden Physikunterricht versuchte ich die gelernte Formel in das Programm umzusetzen was eigentlich nicht wirklich ein Problem darstellte. DOWNLOAD BubbleSort und Quicksort werden implementiert! Dazu noch grafische Darstellung der Sortierverfahren Klasse Canvas von Bluej.org wird ebenfalls verwendet um Fenster darzustellen DOWNLOAD |

















