Resourcen sparend

Status
Nicht offen für weitere Antworten.

sockeqwe

Mitglied
Hi, hab mal ne algemeine Frage:

Ich habe eine Klasse für ein Kartenspiel (Poker).

die Klasse ist also für die Karte selbst. Um die Karte anzuzeigen lade ich als Image die Karten.

meine Klasse sieht so aus:

Code:
public class Karte
{public int farbe;
public int wert;

}

Ich habe alle Pokerkarten als ein Image und würde mit getsubimage die einzelnen Karten herausschneiden.

Nun stellt sich aber die Frage, was resourcen sparrender ist:

a) zu meiner Klasse Karte ein Image Attribut hinzufügen und jede Karte gleich das Image mit zugeben
Code:
public class Karte
{
public int farbe;
public int wert;
public BufferedImage img;

}

oder

b) nur die Pixel-Koordinaten abzuspeichern von wo bis wo ich, falls diese Karte im spiel gebraucht wird, mit getsubimage() die Karte herausschneide:
Code:
public class Karte
{public int farbe;
public int wert;

public int pixelx;
public int pixely;
}

Da ja auch sein kann, das eine Karte gar nicht gebraucht wird, würde ich sagen die Variante b) ist resourcen sparrender, jedoch werden da zwei Integer Datentypen benötigt, die auch ihren Platz brauchen ....

Was sagt ihr?
 
R

Roar

Gast
getSubImage() kopiert nicht. der speicherverbrauch für beide versionen ist lächerlich gering und egal (hoho, 8 byte mal 56 karten sind ganze 448 bytes, das is ja fast soviel, wie der text in der titelleiste meines fensters braucht ;) )
stattdessen solltest du dir eher gedanken darüber machen, ob die felder farbe und wert nich lieber private statt public sein sollen und so
 

Der Müde Joe

Top Contributor
hab mal ein Natel Poker game mit 52 Karten als BI gemacht.... kein Problem... ist ruckzuck geladen... und musst ja nur 1 Mal am anfang laden....nimm mal an es sind nicht 1600*1200 pixel Bilder mit 10MB
Spielt ja keine Rolle ob du 52 BI hast oder 1Mal ein grosses...im 2 Fall musst du jedes mal schneiden...das Kostet CPU und CPU ist teurer als RAM
 

sockeqwe

Mitglied
ok danke, das mit dem Privat usw. hab ich schon, die Klasse oben ist nur so schnell als beispiel zum veranschaulichen geschreiben ...

Nein im zweiten fall, müsste ich nur die Karten schneiden, die auch wirklich gebraucht werden ... also 7 Karten pro runde ... Also wenn mehr als 8 runden gespielt werden muss öfters wie 52 mal zurechgeschnitten werden ...

Beim ersten fall muss ich 52 mal genau schneiden ...


Da anzunehmen ist das mehr als 8 Runden gespielt werden, werde ich wohl die erste Variante nehmen ...


oder seht ihr es anders?


Danke!
 

Der Müde Joe

Top Contributor
sockeqwe hat gesagt.:
... also 7 Karten pro runde

Was den dat für ein Poker?

nehme mal an Texas Hold'em...... max = 5 Auf Tisch + 2 * Spieler die mitgehen.


egal....mach 52 BIs ...und evtl 2-3 Rückseiten... no Problemo

EDIT:
beim Spielstart 52 Schneiden ist Resourcensparend während dem Spiel
 

sockeqwe

Mitglied
Ja schon texas Holdem ...

7 für den eigenen spieler und ja, du hast recht 2 * Spieler die mit gehen ...


du hast recht stimmt, also weniger als 8 runden ....
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben