Java Schulprojekt

Status
Für weitere Antworten geschlossen.

Tockra

Lt. Commander
Registriert
Dez. 2008
Beiträge
1.063
Hallo Leute,
Ich muss jetzt in der nächsten Woche ein Java-Schulprojekt mit nem Kolegen machen.
Um jetzt meine Note in Info etwas zu pushen, wollte ich nen hammer Projekt machen, aber da ich nicht so viele Ideen habe, ist mir nur eine Lan- "Maumau" Version eingefallen.
Nun würde es mich interessieren, wie ich so was am besten synche ? Das einzige was mir einfällt wäre eine Mysql-Tabelle, worin dann immer die aktuellsten "Handkarten" gespeichert werden... Gibt es da noch andere (bessere) Methoden oder könnte mir jmd. ne Mysql Tutorial für Java linken?
Wenn jmd. von euch noch andere Ideen für ein Projekt hat, dann sagt bescheid, ich würde mich sehr freuen!
MfG. T
 
Einer der Spieler dient als host und stellt damit den Server, zu dem die anderen connecten können (sockets). Der Server kennt den aktuellen Spielstand, also quasi das Deck, was "in der Mitte" liegt und sämtliche Karten in den Händen der Spieler. Synchronisieren muss man also nur mit dem Server und den Bedarf für eine DB sehe ich da nicht.
 
Das ist genau der Punkt, wo du ins Spiel kommst und dir deine Note verdienst. ;)
 
Ich würde an deiner Stelle ein Spiel wie "Maumau" nicht unterschätzen (GUI?) und evtl einfacher LAN-TicTacToe oder so umsetzen - der Anspruch an die Netzwerkprogrammierung ist ja im Prinzip das selbe.
 
Naja ich habe schon direkt ein Problem und frage hier gleich mal nach.
Ich wollte einfach mal eine Socket-Verbindung nach der Tutorial testen und habe folgendes gemacht:
Code:
import java.net.Socket;
import java.lang.String;
import java.net.UnknownHostException;
import java.rmi.ConnectException;

class serververbindung {
    public serververbindung() {

    }
    Socket connect() {
           Socket socket;
           socket = new Socket("localhost",80); // Hier bekomme ich einen Error (Siehe unten)
           return socket;
    }
}
Folgender Error:
Compiliere C:\Users\Tockra\Java\serververbindung.java mit Java-Compiler
serververbindung.java:12:21: unreported exception java.net.UnknownHostException; must be caught or declared to be thrown
socket = new Socket("localhost",80);
^
 
Ist bei dir ein server an? er versucht auf den localhost port 80 zu connecten.
 
Okay der Fehler hat sich schon erledigt mir war die "try,catch" Funktion nicht bekannt...

€dit:
Das verstehe ich nicht ganz.
Hier gibt es überall solche Beispiele:
Code:
 public static void main( String[] args ) throws IOException
  {
    ServerSocket server = new ServerSocket( 3141 );
...
Aber wenn ich das so schreibe, dann bekomme ich immer den Fehler :
Code:
Compiliere C:\Users\Tockra\Java\serververbindung.java mit Java-Compiler
serververbindung.java:13:34: unreported exception java.io.IOException; must be caught or declared to be thrown
           ServerSocket server = new ServerSocket(22003);
                                 ^
1 error
Wie will der das ich die try catch Funktion nutze und der, der die Tutorial gemacht hat muss das nicht?
 
Zuletzt bearbeitet:
Du solltest dir ne anständige IDE zulegen... Eclipse wäre ein Beispiel.
 
Was hat denn die IDE damit zu tun?

@Tockra: Wieviel Erfahrung hast du denn mit Java (und Programmieren allgemein)? Kannst du grob umreißen was ihr so gelernt habt?
Denn entweder ist die Projektidee recht simpel und nur etwas Schreibarbeit oder schon mehrere Nummern zu groß, was man in der Schule lernt variiert leider stark. Außerdem hängts von deiner Motivation ab, ob daraus was wird, das erste größere Projekt kann mitunter recht frustrierend sein.

Eventuell auch andere Projektideen in Erwägung ziehen, zum Beispiel einen gut dokumentierten Kompressionsalgorithmus selbst zu implementieren, wenns Networking sein soll eventuell auch einen Chat.
 
Zuletzt bearbeitet:
Backslash schrieb:
Was hat denn die IDE damit zu tun?
Nun, er versteht offensichtlich nicht einmal, weshalb er Fehler bekommt, geschweige dessen, was diese zu bedeuten haben und wie er sie beheben kann. Ich finde, bei solchen Sachen hilft eine IDE weiter.
 
Jo, mit einer IDE wäre der Fehler nicht passiert. Offensichtlich wurden Exceptions im Lernstoff nicht behandelt. Das wundert mich aber auch nicht, denn es ist nur Schulunterricht. Bei mir im Studium kamen Exceptions auch erst im 2. Semester dran.

Wenn ich mich so an meine ersten Java-Erfahrungen in der Schule erinnere... wir haben damals nur so Krimskrams wie "Rechne 1+1" und "Erstelle ein Objekt" behandelt. Etwas anspruchsvoller wurde erst die Projektarbeit. Nen Kamerad und ich durften austüfteln, wie man eine Java-VM + Java-Programm in einen Lego Mindstroms Computer bekommt und der Rest der Klasse musste Taschenrechner programmieren. :rolleyes:
Ok, ok, für das Niveau damals war das schon angemessen.


Mach lieber etwas einfacheres wie TicTacToe oder so.

Wenn du aber unbedingt an deinem Projekt festhalten willst, dann lerne Exceptions. Die brauchst du, wenn du Java später weiterverwenden willst, eh an vielen Stellen.
Statt Sockets könnte man auch RMI einsetzen, so spart man sich die Sache mit den Sockets. Allerdings ist RMI vom Abstraktionsniveau weit höher als die Sockets angelegt. Ich befürchte aber, das alles liegt weit über deinem aktuellen Wissensstand.
 
Zuletzt bearbeitet:
Backslash schrieb:
Was hat denn die IDE damit zu tun?

@Tockra: Wieviel Erfahrung hast du denn mit Java (und Programmieren allgemein)? Kannst du grob umreißen was ihr so gelernt habt?
Denn entweder ist die Projektidee recht simpel und nur etwas Schreibarbeit oder schon mehrere Nummern zu groß, was man in der Schule lernt variiert leider stark. Außerdem hängts von deiner Motivation ab, ob daraus was wird, das erste größere Projekt kann mitunter recht frustrierend sein.

Eventuell auch andere Projektideen in Erwägung ziehen, zum Beispiel einen gut dokumentierten Kompressionsalgorithmus selbst zu implementieren, wenns Networking sein soll eventuell auch einen Chat.
An meiner Idee möchte ich schon festhalten.
In der Schule haben wir bisher die Grundlagen gemacht (Klassen erstellen, Unterklassen schreiben, GUI's erstellen(GridLayout, Borderlayout) und die String Funktionen behandelt (z.B. string.nextIndex() (oder so)...)

e-Laurin schrieb:
Jo, mit einer IDE wäre der Fehler nicht passiert. Offensichtlich wurden Exceptions im Lernstoff nicht behandelt. Das wundert mich aber auch nicht, denn es ist nur Schulunterricht. Bei mir im Studium kamen Exceptions auch erst im 2. Semester dran.

Wenn ich mich so an meine ersten Java-Erfahrungen in der Schule erinnere... wir haben damals nur so Krimskrams wie "Rechne 1+1" und "Erstelle ein Objekt" behandelt. Etwas anspruchsvoller wurde erst die Projektarbeit. Nen Kamerad und ich durften austüfteln, wie man eine Java-VM + Java-Programm in einen Lego Mindstroms Computer bekommt und der Rest der Klasse musste Taschenrechner programmieren. :rolleyes:
Ok, ok, für das Niveau damals war das schon angemessen.

Mach lieber etwas einfacheres wie TicTacToe oder so.

Wenn du aber unbedingt an deinem Projekt festhalten willst, dann lerne Exceptions. Die brauchst du, wenn du Java später weiterverwenden willst, eh an vielen Stellen.
Statt Sockets könnte man auch RMI einsetzen, so spart man sich die Sache mit den Sockets. Allerdings ist RMI vom Abstraktionsniveau weit höher als die Sockets angelegt. Ich befürchte aber, das alles liegt weit über deinem aktuellen Wissensstand.
Exceptions haben wir in der Tat noch nicht behandelt, aber ich denke es ist nicht schlimm, aber lernen schadet ja nicht...


Grundlegen bin ich lernwilig, allerdings finde ich nie gute Tutorials und/oder immer wenn ich Sachen aus Tutorials nachbaue, bekomme ich Errors. Eigentlich bräuchte ich da jmd in Icq, der mir instant bei Fragen helfen kann :)
 
Wie entwickelst du denn im Moment, verwendest du eine IDE (welche?) oder machst du alles "zu Fuß" (per Editor und Kommandozeile)?
 
Afaik nutzen wir in der Schule javax.swing.*; um GuI's zu erstellen.
Dann werden eben mit JFrame, JPanel, JButton, etc. die GUI's erstellt.
Vorher haben wir eine Bibliothek genutzt, die unsere Lehrerin geschrieben hat. Damit konnten wir dann auch schon GUI's schreiben (die ganzen Funktionen waren dort etwas anders)...
 
Mit der Frage war gemeint:
Was für ein Programm startest du, wenn du irgendwas Programmieren willst^^
 
Wir sind kein Board für Hausaufgaben.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben