Hallo,
das hier ist mein erster Post und ich hoffe ihr könnt mir deswegen folgenden Fehler verzeihen
Ich programmiere seit gut einem halben Jahr mit Java in der Schule.
Nun muss ich ein "Geschicklichkeitsspiel" (als Applet) programmieren. Diese Aufgabe ist zeitbegrenzt und wird auch benotet. Ich habe schon angefangen und habe die ersten 3 von 5 Aufgaben erledigt (Aufg. poste ich nach der Einleitung). Aber jetzt habe ich nurnoch bis Freitag Zeit und ich bin am verzweifeln ???:L
Hier die Aufgaben:
1. Lassen Sie ein leeres Rechteck mit den Eckpunkten (20|20) und (120|120) zeichnen. Füllen Sie es mit einem 5-Punkte breiten grünen Rahmen.
Erledigt
2. Lassen Sie das Rechteck sich Schön langsam von links nach rechts über den Bildschirm bewegen.
Erledigt
3. Wenn das Rechteck den Rand berührt soll es anhalten.
Erledigt
4. Bei jedem Mouseklick (Ereignis MouseUp) soll das sich bewegende Rechteck seine Richtung ändern: erst nach rechts, dann nach unten, dan nach links, dann nach oben, wieder nach retchs,...
??? Ich weiß nicht wo ich das Mouse-Ereignis einfügen soll? und ich verstehe nicht wie ich dir Richtung ändern kann? Ich weiß nur wie mein Rechteck nach rechts fliegen kann... Aber wie fliegt es beim Mouseklick nach links, oder nach unten? (Unten poste ich meinen Anfang, bezügl. der Variablen etc.)
5. Zufallsgesteuert soll das Rechteck seine Geschwindigkeit stufenweise mit der Zeit erhöhen. Versuchen Sie möglichst lange "im Spiel zu bleiben"!
??? Wie kann ich die Geschwindigkeit per Zufall erhöhen?
So das sind die Aufgaben. Aufgabe 4 und 5 habe ich nicht hinbekommen. Ich hoffe jemand kann mir da weiterhelfen.
Hier der Beginn meines Programmes.
Ich bitte euch mir zu helfen, aber ihr müsst bitte auch kommentieren was ihr an dem jeweiligen Schritt unternommen habt, da ich es sonst möglicherweise nicht nachvollziehen kann.
das hier ist mein erster Post und ich hoffe ihr könnt mir deswegen folgenden Fehler verzeihen
Ich programmiere seit gut einem halben Jahr mit Java in der Schule.
Nun muss ich ein "Geschicklichkeitsspiel" (als Applet) programmieren. Diese Aufgabe ist zeitbegrenzt und wird auch benotet. Ich habe schon angefangen und habe die ersten 3 von 5 Aufgaben erledigt (Aufg. poste ich nach der Einleitung). Aber jetzt habe ich nurnoch bis Freitag Zeit und ich bin am verzweifeln ???:L
Hier die Aufgaben:
1. Lassen Sie ein leeres Rechteck mit den Eckpunkten (20|20) und (120|120) zeichnen. Füllen Sie es mit einem 5-Punkte breiten grünen Rahmen.
Erledigt
2. Lassen Sie das Rechteck sich Schön langsam von links nach rechts über den Bildschirm bewegen.
Erledigt
3. Wenn das Rechteck den Rand berührt soll es anhalten.
Erledigt
4. Bei jedem Mouseklick (Ereignis MouseUp) soll das sich bewegende Rechteck seine Richtung ändern: erst nach rechts, dann nach unten, dan nach links, dann nach oben, wieder nach retchs,...
??? Ich weiß nicht wo ich das Mouse-Ereignis einfügen soll? und ich verstehe nicht wie ich dir Richtung ändern kann? Ich weiß nur wie mein Rechteck nach rechts fliegen kann... Aber wie fliegt es beim Mouseklick nach links, oder nach unten? (Unten poste ich meinen Anfang, bezügl. der Variablen etc.)
5. Zufallsgesteuert soll das Rechteck seine Geschwindigkeit stufenweise mit der Zeit erhöhen. Versuchen Sie möglichst lange "im Spiel zu bleiben"!
??? Wie kann ich die Geschwindigkeit per Zufall erhöhen?
So das sind die Aufgaben. Aufgabe 4 und 5 habe ich nicht hinbekommen. Ich hoffe jemand kann mir da weiterhelfen.
Hier der Beginn meines Programmes.
Ich bitte euch mir zu helfen, aber ihr müsst bitte auch kommentieren was ihr an dem jeweiligen Schritt unternommen habt, da ich es sonst möglicherweise nicht nachvollziehen kann.
Java:
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
/**
*
* Beschreibung
*
* @version 1.0 vom 08.12.2009
* @author
*/
public class spiel extends Applet {
// Anfang Variablen
int x; //deklariern der Variablen
int y;
int vx;
int vy;
// Ende Variablen
public void init() {
// Anfang Komponenten
x= 40; //Startwerte des Rechteckes
y= 40;
vx= 1; //Geschwinfigkeit des Rechteckes
vy= 1;
// Ende Komponenten
}
public void paint(Graphics g){
g.setColor(Color.green); //Farbe des Rahmens = grün
g.fillRect(x-5,y-5,110,110); //Bestimmung der Größe des Rechteckes + anmalen
g.setColor(Color.red); //Farbe des Rechteckes = rot
g.fillRect(x,y,100,100); //Bestimmung der Größe des Rechteckes + anmalen
pruefen(); //Funktion wird unten erläutert
schritt(); //Funktion wird unten erläutert
bremsen(10); // verlangsamt das Rechteck
repaint(); //Vorgang wiederholt sich
}
private void bremsen (int ms){ //Bremsfunktion, um die Geschw. des Rechteckes zu kontrollieren
try{
Thread.sleep(ms);
}
catch(InterruptedException e){}
}
public void schritt(){ // Rechteck fliegt nach Rechts
x = x+ vx;
}
public void pruefen(){ // prüft ob das Rechteck den Rand erreicht hat, fallss dies erfolgt hält das Rechteck an
if (y>= 645 || y < 0){
vy = 0;
}
if (x>= 645 || x < 0){
vx = 0;
}
}
// Anfang Ereignisprozeduren
// Ende Ereignisprozeduren
}