Anfängerfragen zum Programmieren mit PureBasic.
Bobo220673
Beiträge: 21 Registriert: 29.04.2010 22:50
Beitrag
von Bobo220673 » 19.12.2017 17:23
Hallo!
Ich versuche hier einen C Code nach PB zu convertieren, habe aber Probs bei den Strukturen da ich noch nie damit gearbeitet habe. Könnte mir vieleicht jemand helfen das nach PB umzusetzen? Den Rest könnte ich dann ableiten...
Code: Alles auswählen
typedef struct
{
short sine_table[512];
Uint8 index_add;
Uint8 effect;
} SINE_EFFECT;
#define MAX_EFFECTS 12
struct
{
SINE_EFFECT sine_effects[MAX_EFFECTS];
Uint8 current_effect;
} EFFECTS;
NicTheQuick
Ein Admin
Beiträge: 8679 Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200 Ubuntu 22.04.3 LTS GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:
Beitrag
von NicTheQuick » 19.12.2017 17:46
Ich würde es mal so versuchen:
Code: Alles auswählen
Structure SINE_EFFECT
sine_table.w[512]
index_add.a
effect.a
EndStructure
#MAX_EFFECTS = 12
Structure EFFECTS
sine_effects.SINE_EFFECT[#MAX_EFFECTS]
current_effect.a
EndStructure
Bobo220673
Beiträge: 21 Registriert: 29.04.2010 22:50
Beitrag
von Bobo220673 » 19.12.2017 18:38
Super, danke.
Eine kleine Frage habe ich aber noch, wie spreche ich das unter PB jetzt an? Im C Quelltext schaut das so aus :
bzw.
Code: Alles auswählen
EFFECTS.sine_effects[0].sine_table[i] = (short)((sin(rad) * 8.0));
aus.
NicTheQuick
Ein Admin
Beiträge: 8679 Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200 Ubuntu 22.04.3 LTS GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:
Beitrag
von NicTheQuick » 19.12.2017 19:31
Erstmal die Variable deklarieren, wir haben nämlich bisher nur eine Struktur. Der Rest ist dann einfach:
Code: Alles auswählen
Define EFFECTS. EFFECTS
EFFECTS.sine_effects[0].sine_table[i] = Sin(rad) * 8.0
ts-soft
Beiträge: 22292 Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43 CPU: AMD FX-6300 Six-Core Processor GraKa: GeForce GTX 750 Ti, 2 GB Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin
Beitrag
von ts-soft » 19.12.2017 20:07
@NicTheQuick
Backslash, nicht punkt
NicTheQuick
Ein Admin
Beiträge: 8679 Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200 Ubuntu 22.04.3 LTS GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:
Beitrag
von NicTheQuick » 19.12.2017 23:06
Haha, ja. Hab das eben beim Kebapessen schnell ins Handy getippt. War mir schon vorher klar, dass wieder was verkehrt sein wird.