BASIC

Author Topic: Gerade oder ungerade? - ODD- und EVEN-Funktion, Frage in Sachen ext.Bibliothek  (Read 5903 times)

Lindwedler

  • Guest
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

Offline amarliani

  • Mr. Polyvector
  • ***
  • Posts: 115
    • View Profile
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

  • Guest
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

Offline Quentin

  • Prof. Inline
  • *****
  • Posts: 915
    • View Profile
hehe, dann sei erst mal herzlich willkommen in dieser illustren Runde.

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5013
  • O Rly?
    • View Profile
I <3 DGArray's :D

PC:
AMD RYzen 7 1700 @3.9Ghz, 16GB HyperX Fury 2666Mhz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10695
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
bAND(zahl%, 2)
ist 1 wenn ungerade, 0 wenn gerade. ;)

[edit]
bAND(zahl%,1) <-- korrekt. Siehe Ocean's Erklärung unten!
« Last Edit: 2010-Apr-06 by Kitty Hello »

Offline amarliani

  • Mr. Polyvector
  • ***
  • Posts: 115
    • View Profile
Hups, der war mir bisher dadurchgegangen  =D