# Spinnenspiel



## spong3bob (13. Jan 2007)

Hallo!!!
Ich muss ein spiel programmieren, wo eine spinne auf einem netz gehen kann, in diesem netz verfangen sich fliegen, welche, wenn sie lange drin sind ein paar schnüre abreißen
diese müssen von der spinne gefressen werden..
mein problem jetzt..
mir fallt irgendwie kein gutes system fürs netz ein...

(sind lauter 8-ecke mit "verstrebungen" -- ein netz hatl )
fallt irgendwem dazu eine lösung ein???
bzw.. eine idee, wie ich die steuerung machen soll???

danke für die antworten
spong3bob


----------



## Marco13 (13. Jan 2007)

spong3bob hat gesagt.:
			
		

> fallt irgendwem dazu eine lösung ein???


Ja  :idea: 

Mal im Ernst: Das ist mal wieder ein bißchen wenig Input. Ich nehme an, dass das ganze dann in einem GUI auch gezeichnet werden soll. Wie soll denn die "Steuerung" aussehen, d.h. was soll man machen können? Wie flexibel soll die Klasse für das Netz sein? ... ... ...


----------



## spong3bob (13. Jan 2007)

das ganze is eigentlich ned allzu aufwändig.. is ein schulprojekt..
wird "nur" ein JApplet, für single player..
das war ziemlich die ganze aufgabenstellung, die wir gekriegt haben...


----------



## Illuvatar (13. Jan 2007)

Du könntest die Daten zum Beispiel von der Struktur her so spiechern:



> - Das sollen 5 Achtecke sein
> - Bei den Achtecken "1" und "2" sollen Verbindungen bei den Ecken "3", "5" und "8" sein
> - Bei den Achtecken "2" und "3" sollen Verbindungen bei den Ecken "2", "4", "5" und "6" sein
> - Bei den ...


----------



## spong3bob (13. Jan 2007)

hmm
irgendwie hab ich gerade probleme mir das vorzustellen


----------



## skib (13. Jan 2007)

man kann es sich vll wie ein Mühlespiel mit mehr Ecken vorstellen


----------



## spong3bob (14. Jan 2007)

Hmmm
also wirklich gescheiter bin ich noch nicht..
ich hab mal ein bild gemalt, damit man sich besser vorstellen kann, wies ausschauen soll ...
die zahlen symbolisieren die "schnittpunkte", d.h. wo 2 oder mehrer linien aufeinander treffen..
die frage is nur, wie ihc das am besten realisiere...


----------



## SlaterB (14. Jan 2007)

kommt immer darauf an wie du es haben willst,
ganz platt kann man mit einem Objekt 'Netzteil' anfangen,
mit Attributen An/ Aus, Spannung, Stromstecker, 
ach falsch , mit Nummer, Von/ Bis, Länge, Vorhanden oder nicht, 

vielleicht mit Referenz auf benachbarte Stücke, 
vielleicht mit Referenz auf das Achteck/ die Sternkante in der es drin ist, 
oder ein Link auf entsprechende Listen oder einfach nur entsprechende Nummer, falls es für Achtecke + Kanten keine eigenen Klassen gibt,

Zeichnen sollte dann schon mal gehen, einfach alle vorhanden Teile malen,
genauso könntest du z.B. der Spinne eine Position zuordnen,

fraglich ist aber ob du z.B. eine Wegfindung bauen willst,
wie kommt die Spinne von Netzteil x nach Netzteil y?,
oder was immer du sonst noch brauchst,
wenn du darüber nachdenkst, dann stellen sich vielleicht andere Anforderungen an das Modell


----------



## Marco13 (14. Jan 2007)

Nochmal: Die Informationen sind ziemlich knapp, aber eine Möglichkeit, das (grundsätzlich, aber erfreulicherweise auch sehr allgemein zu modellieren) wäre, als Graph: Die Zahlen, die du geschrieben hast, sind die Knoten (einfach druchnummeriert). Dann könntest du die "Fadensegmente" einfach als die Kanten betrachten. Ganz platt und plakativ:

```
class Node
{
    int nummer;
    ArrayList<Edge> edges;
}

class Edge
{
    Node nodes[] = new Node[2];
}
```
(Fields private machen, passende Konstruktoren... etc.)

Dann kannst du das Netz sozusagen so aufbauen:

```
class Netz
{

Node nodes[] = new Node[]{
    new Node(0),
    new Node(1)
    new Node(2),
    ...
};

Edge edges[] = new Edge[]{
    new Edge(nodes[0], nodes[1]),
    new Edge(nodes[1], nodes[2]),
    new Edge(nodes[0], nodes[2]), ...
}
}
```
(nur sinngemäß, um die Struktur zu verdeutlichen!!!) "Schöner" wäre es, wen man z.B. nur die Anzahl der Segmente (8) und Anzahl der Ringe (bei dir: 4) eingeben müßte, und eine Funktion (in die man dann ein bißchen Hirnschmalz stecken müßte) einem dann das Netz automatisch generiert. Aber vielleicht ist das garnicht notwendig.

Jedenfalls ist das Netz dann ein "ganz normaler Graph", und du kannst (falls nötig) alle Operationen drauf laufen lassen, die man von Graphen eben kennt...


----------



## spong3bob (22. Mrz 2007)

Ich weiß, wird nicht wirklich wen interessieren 
aber das ist das ergebnis meiner arbeit nun (mehr als ich erhofft habe ^^)

CrazySpider

P.S: dauert recht lang zum laden wegen den bildern...


----------



## Chris_1980 (22. Mrz 2007)

Du, ich weiß ja nicht aber sollte das nicht so sein, dass man nur auf den Fäden laufen kann?



Ich konnte irgendwie nur waagerecht laufen... ob Faden oder eben nicht war völlig egal.

Getestet mit Opera, winXP, Java1.6

[EDIT]und wenn ich trotz der Steuerprobleme zufällig mal an die Fliege komme passiert auch nichts. Die Fliege macht munter weiter mit dem was sie da grade tut.[/EDIT]


----------



## spong3bob (22. Mrz 2007)

das is sehr komisch.. bist der erste mit dem problem.. (spinne bleibt nur manchmal stecken, wenn der faden verschwindet, während sie drauf geht, aber da muss man nur ein paar richtungen drücken, dann gehts wieder) steuern mit numblock...

glaub aber ned, dass das am opera liegt...


----------



## Chris_1980 (22. Mrz 2007)

habs zweimal getestet. Natürlich mit Numblock. Jedes mal das Selbe.


----------



## Chris_1980 (22. Mrz 2007)

InternetExplorer und das selbe Problem. :roll:  Da mußt du wohl mochmal ran, hm?


----------



## zd (23. Mrz 2007)

Ähnliches Problem wie Chris, kann irgendwie nur schief laufen, aber nicht auf den Fäden.
Fliegen verschwinden auch nicht.
Linux mit JDK 1.6beta2


----------



## Gast (23. Mrz 2007)

warum nimmst du nich einfach draw, polyline ?
da kanns du die punkte vorher speichern und nach her abfragen?


----------



## spong3bob (23. Mrz 2007)

das is eccht komisch.. alle leute diis bis jetzt getestet haben haben keine probleme gehabt...
(ich speichere jeden "Knotenpunkt" in ein array.....)


----------



## para_ (3. Apr 2007)

Applet Failed


----------

