Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 02.07.2003, 14:20 Titel: iso engine felder |
|
|
hi,
ich hab mir eine Iso engine "erbastelt" und wollte nun fragen wie ich am besten die Felder mit hilfe der Maus errechne ...
bei einer Grid Engine war das ja kein Problem:
MouseX / Felder
MouseY / Felder
plz help
hf gl |
|
Nach oben |
|
|
Master_York JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 124 Wohnort: Langenhagen(Hannover) Medaillen: Keine
|
|
Nach oben |
|
|
gl_echse JLI'ler
Anmeldedatum: 01.01.2003 Beiträge: 105
Medaillen: Keine
|
Verfasst am: 02.07.2003, 15:34 Titel: |
|
|
ich find den autor süß, da er denkt, dass int 8bit und bool 2bit groß ist;) |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 02.07.2003, 15:47 Titel: |
|
|
gl_echse hat Folgendes geschrieben: | ich find den autor süß, da er denkt, dass int 8bit und bool 2bit groß ist;) |
So, ich bring dir jetzt Mal und Geteilt bei. ;)
Behauptung:
Zitat: |
Der Array mit Integern frisst ja nur 8 Kilobyte was ja heutzutage so gut wie gar nichts ist. In Sprachen wie Cpp kann gar eine Boleansche Variable genutzt werden, da ja nur eine 1 oder eine 0 als Wert benutzt wird. Dadurch benötigte der Array bei dieser Variante 2 Kilobyte. |
Bedingung:
Zitat: |
...weil diese Methode auch für meine 64x32 Pixel großen Tiles funktioniert hat... |
Code: |
Zuerst die Variante mit int:
64 * 32 * sizeof(int) = 64 * 32 * 4 = 8192
Da jedes Kilobyte 1024 Byte hat folgt:
8192 / 1024 = 8
Und jetzt die Variante mit bool:
64 * 32* sizeof(bool) = 64 * 32 * 1 = 2048
Umrechnen in Kilobyte:
2048 / 1024 = 2
Somit hab ich bewiesen, dass der Autor in beiden Fällen recht hatte *gg*. Ach ja, und bitte deswegen nicht flamen, es war nur Spass. ;)
|
_________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
gl_echse JLI'ler
Anmeldedatum: 01.01.2003 Beiträge: 105
Medaillen: Keine
|
Verfasst am: 02.07.2003, 17:52 Titel: |
|
|
ok, is ja gut, aber dass er bei sowas keinen vector verwendet;) hätte er nur 1/8 platz gebraucht;) |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 02.07.2003, 18:00 Titel: |
|
|
Meinst du den STL Container? Er verwendet nämlich BASIC... ;) _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 02.07.2003, 18:59 Titel: |
|
|
jetzt muss mir das einer nur noch in C++ erklären oder mir die function für "mod" Rest sagen oder mir das ganze tut in C++ umschreiben
aber thx schonmal |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 02.07.2003, 19:13 Titel: |
|
|
Wenn du in die MSDN geguggt hättest, hättest du es alleine herausgefunden. Der Operator ist %. Und warum nach C++ übersetzen? Ein Programmierer sollte fähig sein, dies selbstständig zu tun... denke in Algorithmen und nicht in Syntax. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 02.07.2003, 19:20 Titel: |
|
|
k chef |
|
Nach oben |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 02.07.2003, 19:56 Titel: |
|
|
ich hab nun folgenden code, es funz aber nicht ganz richtig...
was mach ich falsch ?
Code: | CoarseX = mouseX / 100;
CoarseY = mouseY / 66;
FineCoarseX = mouseX % 100;
FineCoarseY = mouseY % 66;
while (CoarseY < 0)
{
CoarseY = CoarseY + 1;
RealX = RealX - 1;
RealY = RealY - 1;
}
while (CoarseY > 0)
{
CoarseY = CoarseY - 1;
RealX = RealX + 1;
RealY = RealY + 1;
}
while (CoarseX < 0)
{
CoarseX = CoarseX+ 1;
RealX = RealX - 1;
RealY = RealY + 1;
}
while (CoarseX > 0)
{
CoarseX = CoarseX - 1;
RealX = RealX + 1;
RealY = RealY - 1;
}
if (FineCoarseX < 100 / 2 && FineCoarseY < 66 / 2) { RealX = RealX - 1; }
else if (FineCoarseX> 100 / 2 && FineCoarseY < 66 / 2) { RealY = RealY - 1; }
else if (FineCoarseX< 100 / 2 && FineCoarseY > 66 / 2) { RealY = RealY + 1; }
else if (FineCoarseX > 100 / 2 && FineCoarseY > 66 / 2) { RealX =RealX + 1; } |
und ich hab noch ein problem mit diesem Psydo code
Code: | Wenn Punkt der aus den Tile-Koordinaten die beim Fine-Coarsen entstanden sind nicht in der Mitte des Tiles liegen dann |
plz help |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 03.07.2003, 13:43 Titel: |
|
|
Zum Pseudocode:
Die Mitte eins Tiles ist ja hier defniert:
Wenn die Koordinaten, die du beim Fine Coarsing erhalten hast, nicht in diesem Bereich liegen, gehst du wie folgt vor...
Was funktioniert denn genau noch nicht richtig? _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 03.07.2003, 17:19 Titel: |
|
|
ich bin zu doof dazu
es funz net, die Mausklicks weichen immer stark ab ..
plz help me
kann mir einer nicht mal den code in c++ geben ? oder ein tut in C++ ?
ich bin voll nicht gut in psydo code entschlüsseln |
|
Nach oben |
|
|
|