Variablen in C - Progger, leiht mir euer Brain
Moderatoren: Asifish, king-pat
- Clow Leed
- MIA Team Member
- Beiträge: 2282
- Registriert: 16 Dez 2004, 17:54
- Spielt gerade: Freedom Wars
Diablo 3 - Lieblingsspiel: Zelda: ALttP
- Wohnort: Forschungs- und Technologiestadt Karlsruhe
Also hier ist das Programm, das später Teil eines ganzen wird.
SIO Reader
Man lese die Liesmich.txt für genaue Infos.
Ich denke mal, den Thread hier können wir mal offen lassen.
Brauche in Zukunft anscheinend noch mehr Hilfe.
Ach ja: Bücher kosten Geld und auf eBooks hab ich keine Lust.
Die ganzen Dokumentationen die _ich_ gefunden hab sind Schrott.
ohoh, Stichwort Bücher - da fällt mir was ein O.o°°
SIO Reader
Man lese die Liesmich.txt für genaue Infos.
Ich denke mal, den Thread hier können wir mal offen lassen.
Brauche in Zukunft anscheinend noch mehr Hilfe.
Ach ja: Bücher kosten Geld und auf eBooks hab ich keine Lust.
Die ganzen Dokumentationen die _ich_ gefunden hab sind Schrott.
ohoh, Stichwort Bücher - da fällt mir was ein O.o°°
SEGA? LOL!
- DragonSlayer
- MIA Team Member
- Beiträge: 4241
- Registriert: 23 Feb 2003, 12:24
- Spielt gerade: Life
- Lieblingsspiel: Final Fantasy XI
- Wohnort: In der Nähe von Stuttgart
- Clow Leed
- MIA Team Member
- Beiträge: 2282
- Registriert: 16 Dez 2004, 17:54
- Spielt gerade: Freedom Wars
Diablo 3 - Lieblingsspiel: Zelda: ALttP
- Wohnort: Forschungs- und Technologiestadt Karlsruhe
Was ist eigentlich der Unterschied zwischen:
und
? Oder ist das ein-und dasselbe?
Code: Alles auswählen
if(g_Varia==0)
{
g_Varia2=1;
} else { //<-
if(Varia==1)
{
g_Varia2=0;
}
Code: Alles auswählen
if(g_Varia==0)
{
g_Varia2=1;
} else if(Varia==1) //<-
{
g_Varia2=0;
}
SEGA? LOL!
- smashIt
- MIA V.I.P.
- Beiträge: 253
- Registriert: 08 Mär 2003, 19:21
- Spielt gerade: PS0
Mass Effect 1 - Wohnort: oberösterreich
- Kontaktdaten:
abgesehn davon das beim 2. if anscheinend ein g_ fehlt und beim ersten codestück am ende noch ne } hingehört is es das selbe nur anders geschrieben.
wenn g_Varia aber nur 0 und 1 annehmen kann könntest auch das machen:
---------------EDIT---------------
mir is grad aufgefallen das g_varia2 1 wird wenn g_varia 0 is und 0 wenn g_Varia 1 is. wennst beide als bool nimmst (diest auf int direkt umsetzen kannst) könntest das machen:
macht aber den code nicht grade lesbarer...
wenn g_Varia aber nur 0 und 1 annehmen kann könntest auch das machen:
Code: Alles auswählen
if(g_Varia) g_Varia2=0;
else g_Varia2=1;
mir is grad aufgefallen das g_varia2 1 wird wenn g_varia 0 is und 0 wenn g_Varia 1 is. wennst beide als bool nimmst (diest auf int direkt umsetzen kannst) könntest das machen:
Code: Alles auswählen
g_Varia2 = !g_Varia;
- Clow Leed
- MIA Team Member
- Beiträge: 2282
- Registriert: 16 Dez 2004, 17:54
- Spielt gerade: Freedom Wars
Diablo 3 - Lieblingsspiel: Zelda: ALttP
- Wohnort: Forschungs- und Technologiestadt Karlsruhe
Das Problem ist nämlich :
Wenn ich eine IF Schleife mit "Taste A ist gedrückt" mache, und diese
eine Variable mit "g_Varia++" erhöht, wird g_Varia ständig erhöht, wenn man die Taste gedrückt hält.
Also muss ich ne Umweg über verschachtelungen machen.
Und wenn ich auf ELSE schalte geht das los ohne den A-Knopf zu drücken.
Ich hab mittlerweile das hier:
Ähm, hat jemand Optimierungsvorschläge?
Weil wenn ich das so schreibe und
bool g_Keypress=FALSE;
statt
u8 g_KeyDOWN=0;
Ich könnte auch einzelne void XXX(void) funktionen
machen aber ich hab jetzt schon zuviele...
@Smash:
Daß ein paar sachen fehlen, ist mir auch grad aufgefallen.
Ich hab den Code schnell hingekritzelt, da passiert so was
Wenn ich eine IF Schleife mit "Taste A ist gedrückt" mache, und diese
eine Variable mit "g_Varia++" erhöht, wird g_Varia ständig erhöht, wenn man die Taste gedrückt hält.
Also muss ich ne Umweg über verschachtelungen machen.
Und wenn ich auf ELSE schalte geht das los ohne den A-Knopf zu drücken.
Ich hab mittlerweile das hier:
Code: Alles auswählen
//Das prüft das D-PaD
//Wenn D-Pad nach unten gedrückt
if(F_CTRLINPUT_DOWN_PRESSED)
{
//Registrier den Tastendruck in u8 g_KeyDOWN
g_KeyDOWN=1;
} else {
//Wenn Taste losgelassen
if(g_KeyDOWN==0)
{
//Starte ursprüngliche Aktion
//Wenn g_Cursor kleiner als 10
if(g_Cursor < 10)
{
Erhöhe um ++
g_Cursor++;
}
//Wenn g_Cursor auf 10 (Maximum)
else if(g_Cursor==10)
{
//Setze auf 10
g_Cursor=10;
}
//resette g_KeyDOWN
g_KeyDOWN=0;
//Und starte SelectMenu
SelectMenu();
}
}
Weil wenn ich das so schreibe und
bool g_Keypress=FALSE;
statt
u8 g_KeyDOWN=0;
Code: Alles auswählen
if(F_A)
{
//a
}
else //Dann würde diese ELSE ausgeführt werden, bestimmt
{
//not a
}
if(F_B)
{
//a
}
else //UND diese.
{
//not a
}
machen aber ich hab jetzt schon zuviele...
@Smash:
Daß ein paar sachen fehlen, ist mir auch grad aufgefallen.
Ich hab den Code schnell hingekritzelt, da passiert so was

SEGA? LOL!
- smashIt
- MIA V.I.P.
- Beiträge: 253
- Registriert: 08 Mär 2003, 19:21
- Spielt gerade: PS0
Mass Effect 1 - Wohnort: oberösterreich
- Kontaktdaten:
probiers mal damit:
beschreib doch bitte mal was der code genau machen soll.
ohne ne genaue beschreibung kann ich da auch nur raten.
zb:
if(g_KeyDOWN==1){
statt
if(g_KeyDOWN==0){
ziemlich am anfang
würd meiner meinung mehr sinn machen, aber ohne beschreibung...
und wegen tippfehler:
ich hab meine java-prüfung richtig altmodisch mit pen'n paper machen müssen. du glaubst garnicht wieviel radierer man in 2 stunden verbrauchen kann
Code: Alles auswählen
//Das prüft das D-PaD
//Wenn D-Pad nach unten gedrückt
if(F_CTRLINPUT_DOWN_PRESSED){
//Registrier den Tastendruck in u8 g_KeyDOWN
g_KeyDOWN=1;
} else {
//Wenn Taste losgelassen
if(g_KeyDOWN==1){
//Starte ursprüngliche Aktion
//Wenn g_Cursor kleiner als 10
if(g_Cursor < 10){
//Erhöhe um ++
g_Cursor++;
}
//Wenn g_Cursor auf 10 (Maximum)
else if(g_Cursor>=10){
//Setze auf 10
g_Cursor=10;
}
//resette g_KeyDOWN
g_KeyDOWN=0;
//Und starte SelectMenu
SelectMenu();
}
}
ohne ne genaue beschreibung kann ich da auch nur raten.
zb:
if(g_KeyDOWN==1){
statt
if(g_KeyDOWN==0){
ziemlich am anfang
würd meiner meinung mehr sinn machen, aber ohne beschreibung...
und wegen tippfehler:
ich hab meine java-prüfung richtig altmodisch mit pen'n paper machen müssen. du glaubst garnicht wieviel radierer man in 2 stunden verbrauchen kann

- Clow Leed
- MIA Team Member
- Beiträge: 2282
- Registriert: 16 Dez 2004, 17:54
- Spielt gerade: Freedom Wars
Diablo 3 - Lieblingsspiel: Zelda: ALttP
- Wohnort: Forschungs- und Technologiestadt Karlsruhe
Na es klappt wie ich das bereits gemacht hab.
Ich hab jetzt ein Problem:
Wie les ich so was aus?
Mit:
if multi_netready(TRUE)
{
//Aktion
}
oder wie? In oberen Fall krieg ich ne Fehlermeldung
Da is der Header in dem das vorkommt:
multiplayer.h
Ich hab jetzt ein Problem:
Code: Alles auswählen
bool multi_netready()
{
if(R_SIOCNT & SIOCNT_NET_READY)
return TRUE;
return FALSE;
}
Mit:
if multi_netready(TRUE)
{
//Aktion
}
oder wie? In oberen Fall krieg ich ne Fehlermeldung
Da is der Header in dem das vorkommt:
multiplayer.h
SEGA? LOL!
- Panther
- MIA Team Member
- Beiträge: 1064
- Registriert: 06 Mai 2003, 22:55
- Spielt gerade: FF 14 / PSO2
- Lieblingsspiel: Turrican 2
- PSO 2 ID: Tia Lapis
if (multi_netready()) {
//Aktion
}
oder ausgeschrieben:
if (multi_netready() == TRUE) {
//Aktion
}
Ließ dochmal wenigstens die ersten paar Kapitel im Buch das ich oben verlinkt habe. Solange du solch einfache Syntaxkonstrukte nicht verstanden hast macht es eigentlich keinen Sinn an einem größeren Programm zu arbeiten.
//Aktion
}
oder ausgeschrieben:
if (multi_netready() == TRUE) {
//Aktion
}
Ließ dochmal wenigstens die ersten paar Kapitel im Buch das ich oben verlinkt habe. Solange du solch einfache Syntaxkonstrukte nicht verstanden hast macht es eigentlich keinen Sinn an einem größeren Programm zu arbeiten.
PSP2: Panther (Dranix74)
- Clow Leed
- MIA Team Member
- Beiträge: 2282
- Registriert: 16 Dez 2004, 17:54
- Spielt gerade: Freedom Wars
Diablo 3 - Lieblingsspiel: Zelda: ALttP
- Wohnort: Forschungs- und Technologiestadt Karlsruhe
Hey, ich bin grad mit Modem im Netz 
Arrays kann ich off testen, ich hab da ein paar samples.
ich kann nur noch nicht mit bool arbeiten, deswegen frag ich nach.
Und auf englisch hab ich grad kein Bock...
Wer das aktuelle Projekt haben will (inklusive GBA-prog), PN't mich grad dann lad ichs hoch zum Download.

Arrays kann ich off testen, ich hab da ein paar samples.
ich kann nur noch nicht mit bool arbeiten, deswegen frag ich nach.
Und auf englisch hab ich grad kein Bock...
Wer das aktuelle Projekt haben will (inklusive GBA-prog), PN't mich grad dann lad ichs hoch zum Download.
SEGA? LOL!
- smashIt
- MIA V.I.P.
- Beiträge: 253
- Registriert: 08 Mär 2003, 19:21
- Spielt gerade: PS0
Mass Effect 1 - Wohnort: oberösterreich
- Kontaktdaten:
bitte leg dir ein buch zu, sonst machts keinen sinn
ich würd dir C++. Eine Einführung, von Ulrich Breymann empfehln. is sehr leicht verständlich
und danach kennst dich wenigstens mit den basistypen aus und was man mit denen machen kann.
ich würd dir C++. Eine Einführung, von Ulrich Breymann empfehln. is sehr leicht verständlich
und danach kennst dich wenigstens mit den basistypen aus und was man mit denen machen kann.