Menu

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.

Show posts Menu

Messages - Quentin

#31
ddw kannst du aber doch nur als Ganzes behandeln und nicht später daraus einzelne DDD-Komponenten ändern oder?

Wenn ich mich nicht irre, geht Backsliders Tool genau in diese Richtung.
#32
das sieht aber sehr vielversprechend aus. Bekomme es leider noch nicht zum Laufen. Beim Starten knallts beim Aufruf von EntityIsValid(). Fehlt da noch eine "test.glbs" - Datei? Im media Ordner sehe ich nur test.ddd und test.jpg

solltest du weitermachen :)
Kann allerdings auch verstehen, wenn du dazu keine Lust hast. Solche Tools zu erstellen und zu pflegen ist meist eine undankbare Aufgabe. Viel Mühe für wenig Lohn sozusagen.
#33
lol, gute Idee,
Hänsel und Gretel neu vercodet:

GOTO es_war_einmal

GOTO hexenhaus:

hexenhaus:
    init_pfefferkuchen()
#34
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
#35
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
#36
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
#37
Quote from: coder14 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 :)

#38
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.
#39
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.
#40
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
#41
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
#42
siehe Hilfe zu GETORIENTATION / SETORIENTATION
#43
Probiers doch mal mit GETDESKTOPSIZE. Das liefert dir die aktuelle Auflösung des Gerätes.
#44
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.
#45
@S.O.P.M.  +2 (ich darf das, bin über 40)