Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Quentin

Pages: 1 2 [3] 4 5 ... 60
31
lol, gute Idee,
Hänsel und Gretel neu vercodet:

GOTO es_war_einmal

GOTO hexenhaus:

hexenhaus:
    init_pfefferkuchen()

32
GLBasic - de / Re: anfänger mit schleifen
« on: 2013-Apr-12 »
GETTIMER fängt halt eben nach jedem SHOWSCREEN die Zählung neu an. Du bräuchtest dann halt eben noch eine weitere Variable, wo du die jeweilige Verzögerung ermittelst. GETTIMERALL ist hier imho einfacher zu handhaben, weil er die Zählung beim Start des Programmes beginnt und somit linear fortgeschrieben wird.

Theoretisch könnte es zwar irgendwann mal zu einem Überlauf kommen und die Zählung im negativen Bereich weitergehen, das geschieht bei 32-Bit integer aber erst nach etwas mehr als 24 Tagen.

aber hier dann noch das passende Beispiel mit GETTIMER

Code: (glbasic) [Select]
LOCAL zaehler = 0
LOCAL verzoegerung = 1000  // 1000 Millisekunden
LOCAL zeit = 0

WHILE TRUE

zeit = zeit + GETTIMER()

PRINT zaehler, 0, 0
IF zeit > verzoegerung
INC zaehler
zeit = 0
ENDIF

SHOWSCREEN

WEND

33
GLBasic - de / Re: anfänger mit schleifen
« on: 2013-Apr-12 »
ich verwende eigentlich lieber GETTIMERALL().
vielleicht macht das folgende kleine Beispiel es klarer. Es erhöht die Variable zaehler jede Sekunde um 1.

Die Zeit bis zur nächsten Erhöhung von zaehler wird in der Variablen Zeit gespeichert. Das ist dann jeweils die aktuelle Zeit (GETTIMERALL) plus die gewünschte Verzögerung (verzoegerung).

Wenn diese abgelaufen ist (zeit ist kleiner als die aktuelle Zeit), wird die Variable zaehler erhöht und die Zeit bis zur nächsten Erhöhung von zaehler neu berechnet.

Code: (glbasic) [Select]
LOCAL zaehler = 0
LOCAL verzoegerung = 1000  // 1000 Millisekunden
LOCAL zeit

WHILE TRUE

PRINT zaehler, 0, 0
IF zeit < GETTIMERALL()
INC zaehler
zeit = GETTIMERALL() + verzoegerung
ENDIF

SHOWSCREEN

WEND

34
GLBasic - de / Re: Neuinstallation
« on: 2013-Apr-03 »
hmmm, bei mir läufts unter Win7 64 problemlos. Hast mal versucht, die Beta zu installieren?

Was auch noch helfen könnte, wäre, die Schreibrechte auf die Verzeichnisse mit Vollzugriff für alle Benutzer auszustatten, also auch für

C:\Users\<deinUser>\AppData\Local\Temp\glbasic

35
GLBasic - en / Re: GLBasic: Cannot Question?
« on: 2013-Mar-18 »
... Not a good quality in a moderator.
also moderators are only humans. Don't expect them to be perfect. Nobody of us is :)


36
GLBasic - de / Re: Coding Livestream?!
« on: 2013-Mar-12 »
Was ist Twitch?
Persönlich bin ich kein Freund von Video-Tutorials. Habe lieber was handfestes, wo man auch immer mal wieder bei Bedarf zurückblättern kann. Aber scheinbar werden Youtube-Tuts ja recht viel genutzt, wie ich so höre.

37
Das @ for Sprungmarken, Subs oder Funktionen dient dazu, dass diese nicht in der Sprungliste angezeigt werden. Bei sehr vielen Subs/Functions kann das zur besseren Übersichtlichkeit beitragen.

38
IDE/Syntax / Re: Constant-Enumeration
« on: 2013-Mar-05 »
ENUM gibts leider noch nicht in GLBasic. Du kannst dir ja mit einem TYPE behelfen, der dir das gewünschte liefert, müsstest allerdings alle Aufzählungen explizit mit Werten versehen. Das wäre halt die Mehrarbeit.

Code: (glbasic) [Select]
TYPE tDirection
forward = 1
backward = 2
left = 3
right = 4
ENDTYPE


LOCAL direction AS tDirection

STDOUT "Vorwaerts:   " + direction.forward + "\n"
STDOUT "Rueckwaerts: " + direction.backward + "\n"
STDOUT "Links:       " + direction.left + "\n"
STDOUT "Rechts:      " + direction.right + "\n"

KEYWAIT

39
GLBasic - de / Re: Fragen vor dem Kauf
« on: 2013-Mar-03 »
TYPEs sind wirklich sehr flexibel. und ja, man kann auch dynamische Arrays innerhalb von TYPE definieren und verwalten.
Kurzes Beispiel: (bitte als Konsolenanwendung kompilieren)

Code: (glbasic) [Select]
TYPE tPosition
x
    y
    z
ENDTYPE


TYPE tInventory
costs
name$
ENDTYPE


TYPE tPlayer
pos AS tPosition
inv[] AS tInventory
ENDTYPE


LOCAL player AS tPlayer
LOCAL newinv AS tInventory

newinv.costs = 1000
newinv.name$ = "Weapon1"
DIMPUSH player.inv[], newinv

newinv.costs = 750
newinv.name$ = "second weapon"
DIMPUSH player.inv[], newinv


// list inventory of the player
FOREACH i IN player.inv[]
STDOUT i.costs + "\t" + i.name$ + "\n"
NEXT

KEYWAIT

40
siehe Hilfe zu GETORIENTATION / SETORIENTATION

41
Probiers doch mal mit GETDESKTOPSIZE. Das liefert dir die aktuelle Auflösung des Gerätes.

42
Da hast du sicherlich recht. Für viele wird die Platform-Vielfalt wohl mit ein Grund sein, sich mit GLBasic zu beschäftigen. Ich befürchte nur, dass es in sehr viel Arbeit ausartet, wirklich alle Platformen fehlerfrei zu unterstützen und dass dabei Innovationen für die Sprache selbst gänzlich auf der Strecke bleiben. Und wenn neue Funktionalität hinzukommt, muss diese auch wieder für alle Platformen getestet werden.

43
@S.O.P.M.  +2 (ich darf das, bin über 40)

44
Beta Tests / Re: V11 beta
« on: 2012-Sep-26 »
IMHO it's always a bad idea to use keywords as variable names. Unfortunately something like "select%" was allowed in version 10. Good to see that this was corrected in V11.

45
Geh ins Menü unter "Projekt - Optionen". Dort findest du eine Checkbox "Explizite Deklarationen". Wenn diese markiert ist, müssen Variablen vor ihrer Verwendung mit LOCAL oder GLOBAL deklariert werden. Wenn du dieses Häkchen entfernst, dürften dann auch die älteren Samples laufen.

Pages: 1 2 [3] 4 5 ... 60