Wünsche für PureBasic 4.0

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag 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
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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'
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag 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
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Beitrag 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?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Beitrag 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.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
freak
PureBasic Team
Beiträge: 766
Registriert: 29.08.2004 00:20
Wohnort: Stuttgart

Beitrag von freak »

Also ich fände es cool wenn bei v4 ein neues Auto dabei wäre.. so als bundle :lol:
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten