Software > Coding
C Code mit CC65 - nächste DAU-Frage
matashen:
ich machs kurz
wie definiere ich zwei Bedingungen
wie
if (i=1) and (j=0) anweisung1;
Das and will der CC65 nicht akzeptieren also geh ich davon aus das C-Code hier wieder irgend einen Blödsinn vorschreibt und mit den drei Buchstaben und nix anfangen kann.
Noch ne Frage wäre.
Wie mach ich nen Zufallsgenerator?
Schon mal danke für die Hilfe
Gruß Matthias
tuxie:
SO?
if (i=1) && (j=0) anweisung1;
Dennis Schulmeister:
Ingo hat Recht. In C-ähnlichen Sprachen werden die Operatoren nicht ausgeschrieben. Stattdessen gibt es Symbole
& bzw. && - AND
| bzw. || - OR
! - NOT
== - Prüfung auf Gleichheit !!!!! (Bitte nicht = verwenden, da das der Zuweisungsoperator ist!!!)
Der Unterschied zwischen &, | und &&, || ist, dass im letzteren Fall die Auswertung des Ausdrucks (von links nach rechts) abbricht, sobald das Ergebnis klar ist. z.B. false && true wertet nur den linken Teil aus, da durch den AND-Operator der Ausdruck nicht mehr true werden kann ...
Im Übrigen kann ich nur empfehlen, auch einzeilige Blöcke als Blöcke zu definieren. Also so:
if ((i == 1) && (j == 0)) {
Anweisung;
Anweisung;
...
}
Alles Andere ist meiner Meinung nach sclechter Stil und führt nur zu schwer zu findenden Fehlern!
Wg. dem Zufallsgenerator könntest du mal nach einer Funktion rand() suchen. Hat CC65 eine math.h? Da ist der sicher drin.
Gruß,
Dennis 8)
matashen:
Danke für die ausführliche Darlegung.
Ein Math.h hat der CC65 nicht.
Gruß Matthias
Dennis Schulmeister:
Einen für den Hausgebrauch ausreichenden Zufalszahlengenerator kann man einfach selbst programmieren als:
(Primzahl ^ k) mod n; k bei jedem Zug hochziehen, n = Maximum
Meine ich zumindest, im Hinterkopf zu haben ...
Gruß,
Dennis 8)
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln