Seite 4 von 11

Verfasst: 05.04.2005 23:17
von hardfalcon
NicTheQuick hat geschrieben:@hardfalcon: [c]DesktopOutput()[/c] ist zumindest unter Windows kein Problem:

Code: Alles auswählen

Procedure.l DesktopOutput() 
  PokeL(Mem, 1) 
  ProcedureReturn Mem 
EndProcedure 
:mrgreen:
Oder hier ein kurz gehaltenes Bildschirmmalprogramm:

Code: Alles auswählen

Repeat
a.POINT\x=1:a\y=0
StartDrawing(@a):GetCursorPos_(a):Circle(a\x,a\y,9):StopDrawing()
Until GetAsyncKeyState_(27)
InvalidateRect_(0,0,0)
Weisst du sicher, dass der Code nicht unter Linux geht, oder hattest du bloss noch keine Gelegenheit, es zu probieren, und vermutest es einfach mal?
Könnte bitte mal jemand das für mich testen, ich habe nämlich kein Linux... Zumindest kein Lauffähiges... Von meinem Slackware geht bloss noch der Bootmanager... :mrgreen:
cya
Pascal

Verfasst: 05.04.2005 23:29
von Kaeru Gaman
Booleans!

...unabdingbar für sinnvolle algorythmen, und priorität vor allen grafik-spielereien.

64bit longs will ich auch!

2D-Sprites sind sinnvoll, eine ergänzende Shrink-Routine wär cool.
...also, so ähnlich wie CopySprite mit Shrink drin...

Sprite3D sollte mit transparenz auf allen systemen sauber laufen...
...da gabs doch probleme, wenn ich mich recht entsinne...

naja, und ne vollständige OGRE-Einbindung wär schon cool...

...und vielleicht auch OOP?

btw:
Terrain ist nicht flexibel genug, da gabs nen unbeantworteten Thread,
wie man ein Terrain verändert, weils keinen lösch-befehl gibt,
und ein einfaches neudefinieren klappt irgendwie nicht...
...und die camera-rotation war doch auch irendwie fehlerhaft (?)

aber das fällt wohl unter 'komplettes und funktionierendes OGRE'

Verfasst: 05.04.2005 23:36
von hardfalcon
Achja, stimmt, Booleans wünsch ich mir auch schon lange...
Mal eine Frage: Wenn man für eine Variable, die immer nur 0 oder 1 sein kann, Boolean anstelle von z.B. Byte verwendet, wird das Programm dann auch schneller, oder verbraucht es bloss weniger Speicher?

@NicTheQuick: Ich habe mal ein bisschen an deinem Code rumgemacht. Ist er so besser, schlechter, oder gleichauf mit deinem Code?

Code: Alles auswählen

a.POINT\x=1:a\y=0
StartDrawing(@a)
Repeat
GetCursorPos_(a):Plot(a\x,a\y)
ForEver
StopDrawing()
cya
Pascal

Verfasst: 05.04.2005 23:58
von traumatic
Kaeru Gaman hat geschrieben:Booleans!

...unabdingbar für sinnvolle algorythmen[...]
Hmm... diesen Wunsch habe ich noch nie gelesen und kann ihn auch nicht
annähernd nachvollziehen. Kannst Du das mal etwas genauer ausführen?

Verfasst: 06.04.2005 00:08
von ts-soft
>> Hmm... diesen Wunsch habe ich noch nie gelesen und kann ihn auch nicht
>> annähernd nachvollziehen. Kannst Du das mal etwas genauer ausführen?
Versteh ich auch nicht, ein Boolean ist ein Byte von dem nur ein Bit ausgewertet wird. Also dasselbe wie a.b = 1 bzw. #True oder a.b = 0 bzw. #False

Oder sehe ich das was verkehrt

Verfasst: 06.04.2005 00:22
von traumatic
ts-soft hat geschrieben:Oder sehe ich das was verkehrt
Nunja, je nach dem in welches Jahr Du schaust und welchen Compiler bzw.
welche Sprache Du Dir anschaust, fällt der Typ Bool unterschiedlich aus.

Prinzipiell hast Du natürlich recht.

Code: Alles auswählen

typedef int BOOL;
typedef unsigned char BOOLEAN;
typedef bool bool; *g*
dann gibt's da noch diese Erfindung...

Code: Alles auswählen

typedef short VARIANT_BOOL;
#define VARIANT_TRUE ((VARIANT_BOOL)-1)
#define VARIANT_FALSE ((VARIANT_BOOL)0)
...in Java gibt's IIRC System.Boolean etc., etc.


Kurzum: In moderner C-Programmierung ist BOOL schlichtweg INT, analog in
PureBasic wäre das also variable.l - deshalb mein Unverständnis.

Verfasst: 06.04.2005 00:31
von ts-soft
Hab nur deshalb Byte gewählt, weils der kleinstmögliche Speicherverbrauch wäre. Es ist mir klar, das dafür ein Long verwendet wird, da dieser schneller von einer 32-Bit CPU verarbeitet wird.

thx für die Hinweise

gruß
Thomas

Verfasst: 06.04.2005 00:51
von Kaeru Gaman
sorry, meine aussage war unklar...

ich meinte nicht booleans-typen, sondern boole'sche ausdrücke...

kleine verdeutlichung:

umrechnung eines 1-stelligen hex-strings in dez per booleschen ausdruck:

Code: Alles auswählen

i = Asc(a$)
a = ((i>47) And (i<58)) * (i-48) + ((i>64) And (i<71)) * (i-55)
Vergleich in Klammern ergibt innerhalb der Rechnung True (=1) [oder -1, definitionssache] oder False (=0)

noch ein beispiel:

koordinaten-swap bei erreichung des bildschirmrandes (800er screen)

Code: Alles auswählen

x = x + xMove + 800*(x<0) - 800 * (x>800)
boole'sche ausdrücke waren schon ein bestandteil des 64er-Basic,
ich wage sogar zu behaupten, dass etliche funktionalitäten von C (Papi von C++)
davon inspiriert wurden.

für meine begriffe sind solche funktionalitäten unabdingbar für eine gehobene Programmiersprache.

...bis jetzt funktionieren sie nur mit absoluten werten zuverlässig, was echt sinnlos ist...

... bitte auch mit variablen einbauen....

bitte, Fred, BITTE !

THIS IS A MUST BE

Verfasst: 06.04.2005 00:54
von freak
Also ich fände es cool wenn bei v4 ein neues Auto dabei wäre.. so als bundle :lol:

Verfasst: 06.04.2005 01:08
von ts-soft
freak hat geschrieben:Also ich fände es cool wenn bei v4 ein neues Auto dabei wäre.. so als bundle :lol:
Wie weit ist den die Sprachsteuerung für die neue IDE ? :D