Gerade oder ungerade? - ODD- und EVEN-Funktion, Frage in Sachen ext.Bibliothek

Previous topic - Next topic

Lindwedler

Ich bin gerade dabei ein Game zu basteln. Seit fast 30 Jahren das erste mal wieder in Basic programmiert - es macht einfach nur Spa?. Und komischerweise vergisst man auch nach der langen Zeit die Sachen nicht.

Anbei 2 ganz n?tzliche Funktionen, die ich zur Umsetzung des Spieles brauche. Die Funktionen geben jeweils 1 zur?ck, wenn die Pr?fung erfolgreich ist, und 0 im anderen Fall.

In dem Zusammenhang: Wie funktioniert das mit den externen Bibliotheken? Wenn ich Quellcode ?ber die IDE exportiere, kann man den irgendwie automatisch dazuladen, oder muss man immer ?ber die IDE den Import vornehmen?

Ulli

Anbei die zwei kleinen Funktionen:


EVEN(Var) // pr?ft ob eine Zahl gerade ist

ODD(Var)  // pr?ft ob eine Zahl ungerade ist

-------------------------
FUNCTION ODD: a
LOCAL a, b, ret

  b = a
  ret = ABS((INTEGER(a/2)*2)-b)

  RETURN ret
ENDFUNCTION // ODD


FUNCTION EVEN: a
LOCAL a, b, ret

  b = a
  ret = ABS((INTEGER(a/2)*2)-b)
  IF ret = 1
     ret = 0
     ELSE
     ret = 1
  ENDIF

  RETURN ret
ENDFUNCTION // EVEN

amarliani

Erst mal nur ne Randanmerkung: Warum nimmst du nicht die MOD-Funktion?

MOD(a,2)  =0, wenn a gerade ist, =1, wenn a ungerade ist.

Vereinfacht den Code deiner Funktionen erheblich...

Zu deiner Frage mit den externen Bilbilotheken: Exportier die Datei ?ber das Men? "Werkzeuge/Datei als Bibliothek komprimieren". Dann erh?ltst dur eine Datei mit der Endung .gbal als Ergebnis. Die bindest du einfach in dein Projekt als ben?tigte Datei auf der Registerseite "Dateien" ein. Sie wird dann beim Kompilieren des Projektes automatisch mit eingebaut.

Lindwedler

MOD, ahhhrrrggggggg. Danke!

Nach MOD habe ich nicht gesucht in der Funktionsliste. Na, einiges ist anscheinend doch noch versch?ttet worden in den 30 Jahren.

Besten Dank jedenfalls, auch f?r die Info in Sachen Bibliothek. Wenn das Game fertig ist, stelle ich es frei zum Download.

Ulli

Quentin

hehe, dann sei erst mal herzlich willkommen in dieser illustren Runde.

Schranz0r

I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kitty Hello

bAND(zahl%, 2)
ist 1 wenn ungerade, 0 wenn gerade. ;)

[edit]
bAND(zahl%,1) <-- korrekt. Siehe Ocean's Erklärung unten!

amarliani