Kartenspiel

Previous topic - Next topic

stevie

Hallo erst mal :-)
Ich habe eine kleine Doppelkopfplattform programmiert.
Den Server habe ich in Freebasic programmiert und er läuft auf einem Linux vServer.
Den Client habe ich in GFA-Basic programmiert und läuft auch recht gut.
Nun möchte ich allerdings die Auswahl erweitern und meine kleine Doppelkopf-Plattform auf verschiedenen Plattformen anbieten.
Der Client muss gar nicht  viel machen.
Er muss lediglich über TCP/IP Socket sich mit dem Server verbinden können und selbstgemachte String-Dialoge empfangen und senden können.
Ein Chat muss realisiertbar sein und selbstverständlich müssen die Spielkarten (bmp, jpg und png)  gezeigt und anklickbar sein.
Der Client sollte über meine Webseite (also HTML5) spielbar sein, aber auch auf Android Handys laufen.

Ist die mit GLBasic realisierbar?

Vielen Dank im Vorraus für eure Antworten.

Ach ja, wer mehr über mein Doppelkopf-Projekt erfahren möchte, der kann sich ja mal www.doko-lounge.de angucken.
Doppelkopf soll nun auch über Browser spielbar sein.

Stevie

Schranz0r

Hi,


kannst du alles in GLBasic machen!
Sehe da keine Probleme.
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

stevie

#2
Ich habe mir eben die 12 Version heruntergeladen und installiert (Windows 7).
Leider bekomme ich nicht ein einziges Beispiel zum laufen.
Es erscheint, nachdem ich ein Beispiel geladen habe und ich F5 gedrückt habe, nach kurzer Zeit für ca 1 Sekunde eine Dosbox und mehr nicht.
Das passiert bei jedem Beispiel.
Wo ist der Trick? ^^

Nun habe ich GLBasic auf einem zweiten PC installiert.
Ich habe ein Projekt "Test" erstellt.
Ich habe alle Beispiele in den Ordner Test kopiert, in der Hoffnung, dass es nun laufen würde.
Fehlanzeige.
Leider läuft auch auf diesem PC nicht ein einziges geladenes Beispiel.

Ich muss schon sagen, für eine Kaufsoftware scheint mir das doch sehr fehlerhaft zu sein oder die Anleitung ist vollkommen falsch.

S.O.P.M.

Bitte keine schnellen Vorurteile, bevor die Ursache nicht klar ist. GLBasic wird zwar, wie jede andere komplexere Software, nie fehlerfrei sein. Jedoch ist GLBasic keinesfalls grundsätzlich fehlerhaft und läuft unter normalen Umständen sehr ordentlich, sonst wäre das längst bekannt geworden, wenn es ganz anders ist ;)

Wieso hast du alle Beispiele in einen Ordner kopiert? Jedes Beispiel lässt sich doch problemlos für sich öffnen, über die jeweilige Projektdatei. Wenn du eines der mitgelieferten Beispiele direkt über die Projektdatei aus dem original Ordner öffnest, läuft dann auch keines?

Welche Hardware liegt denn genau vor? Wie sieht es grafiktreiberseitig aus?
Notebook PC Samsung E372 Core i5 @ 2,6 GHz; 4 GB RAM; Win 7 Home Premium

stevie

Gibt es denn noch eine Anleitung wie man die IDE bedienen kann?
Ich ging davon aus, dass, wenn ich eine Datei geöffnet habe und dann F5 drücke, diese compiliert wird.
Dem ist NICHT so.
Die Beispiele sind lesbar, werden aber nicht compiliert.
Ich kann lediglich meine Test-Datei aus meinem Projekt Test bearbeiten und compilieren.
Ich kann natürlich die Beispiele in meine Testdatei kopieren, dann kann ich meine Test-Datei ausführen.
Ohne Anleitung ist die IDE für mich leider vollkommen unbrauchbar, da sie sich vollkommen anders verhält als jede andere IDE die ich kenne. Normalerweise kann man die aktive Datei, die man bearbeitet auch compilieren. Dies ist auf beiden PCs bei mir nicht möglich, sodass ich einen Hardwarefehler ausschliesse.

Das ist nur Problem 1.

Ich finde leider kein einziges HTML5 Beispiel.
Da die GLBasic Sprache vollkommen anders als andere Sprachen ist, benötige ich aber zumindest ein kleines Beispiel, wie man GLBasic für HTML nutzen könnte.

Übrigens bin ich gerne bereit für gute Software Geld auszugeben.
GLBasic macht allerdings schon vom ersten Start an, einen sehr unübersichtlichen Eindruck, die Bedienbuttons scheinen fehlerhaft zu sein (sonst könnte ich die Beispiele ja ausführen) und eine gute Anleitung suche ich vergebens.

Daher noch einmal meine Frage:
Ist es machbar mit GLBasic obiges Projekt zu machen ohne dass ich stundenlang vergebliche Versuche starten muss mit der IDE auch nur ein einziges Programm zu erstellen?
Wäre nett, wenn ihr mir einen Link geben könntet, wo eine brauchbare Anleitung für die IDE stehen würde.
So ist sie leider nicht nutzbar.

S.O.P.M.

Was man in der Tat wissen muss und was tatsächlich nicht direkt aus der integrierten Hilfe von GLbasic hervorgeht, ist, dass GLBasic projektorientiert arbeitet. Werden nur einzelne Quelldateien geöffnet, lassen diese sich nicht compilieren. Es muss immer eine Projektdatei geben. Wenn du alle mitgelieferten Beispiele über den Befehl Projekt öffnen öffnest, dann zeigt er dir die .gbap Projektdateien an und öffnet diese zusammen mit den dazugehörigen Quellcodedateien. Dann sollte das Compilieren für alle Beispiele funktionieren.

Was ich auch kritisieren muss, ist die GLBasic Hilfe. Diese bräuchte dringend eine komplette Überarbeitung. Teilweise ist sie gut geschrieben aber es gibt auch wirklich unverständliche bzw. unvollständige Teile. Hätte ich die Zeit, würde ich Teile davon gerne neu schreiben. Weitere Bedienhinweise außer in der eingebauten Hilfe unter Tutorials -> Editor zur IDE sind mir nicht bekannt. Als ich nach den anfänglichen Schwierigkeiten das Prinzip mit den Projekten verstanden hatte, kam ich ansonsten gut zurecht mit der IDE. Vielleicht hilft die Information schon weiter?
Notebook PC Samsung E372 Core i5 @ 2,6 GHz; 4 GB RAM; Win 7 Home Premium

Kitty Hello

Öffne die gbaP Dateien. Gehts dann?

Gesendet von meinem GT-N7100 mit Tapatalk


backslider

Das mit der Hilfe stimmt imho, die ist nicht mehr wirklich zeitgemäß.

Alternativ hilft dir vielleicht ein externes Tutorial, wie dieses hier http://pandorawiki.org/GLBasic_tutorial

stevie

#8
Vielen Dank für eure Hilfe.
Ich werde mal versuchen mich da durchzuackern.
Wirklich schade, dass ich nur die Datei TEST bearbeiten kann, das ist echte Steinzeit, habe ich vorher auch noch nie erlebt, dass man mit einer IDE tatsächlich nur eine einzige Datei bearbeiten kann. Selbst wenn ich eine neue Datei erstelle, nimm die IDE immer nur meine Test-Datei, echt der Hammer^^
Wer programmiert denn sowas? ^^

Mir fehlt noch immer ein Beispiel, wie ich HTML5 programmieren kann.
Gibts da irgendwo ein Beispiel?

Und eine Frage zu Funktionen.
Wie bestimme ich dort den Rückgabe wert?
Bei normalen Basicsprachen läuft es so:

function MeineFunktion (Byval aString as String, Byval aInteger as Integer) as String   //In diesem Fall wäre der Rückgabewert der Funktion ein String

  do
  irgendwass

  return aString

end function

oder

function MeineFunktion (Byval aString as String, Byval aInteger as Integer) as Integer   //In diesem Fall wäre der Rückgabewert der Funktion eine Integer-Variable

  do
  irgendwass

  return aZahl

end function

Vielen Dank für eure Hilfe

backslider

#9
QuoteWirklich schade, dass ich nur die Datei TEST bearbeiten kann, das ist echte Steinzeit, habe ich vorher auch noch nie erlebt, dass man mit einer IDE tatsächlich nur eine einzige Datei bearbeiten kann. Selbst wenn ich eine neue Datei erstelle, nimm die IDE immer nur meine Test-Datei, echt der Hammer^^
Wer programmiert denn sowas? ^^

Wieso denn nur deine Datei TEST?
Es läuft ungefähr wie z.B. in Visual Studio... Du hast EINE Solution, sprich eine GBAP-Projektdatei, die alle Informationen über dieses Projekt enthält - sprich Source-Dateien, Plattformeinstellungen etc. (Datei - Neues Projekt oder so ähnlich).
IN diesem Projekt erstellst du X Source-Dateien (*.gbas), welche deinen Code enthalten.

Öffnest du nur eine gbaS-Datei, weiß die IDE selbstverständlich nicht, welches Projekt du denn kompilieren möchtest. Wie in eigl. jeder anderen IDE auch.

QuoteWie bestimme ich dort den Rückgabe wert?

Code (glbasic) Select

FUNCTION gibMirEinenString$:
RETURN "Hallo Welt"
ENDFUNCTION

LOCAL meinString$ = gibMirEinenString()

FUNCTION gibMirEinInt%:
RETURN 69
ENDFUNCTION

LOCAL meinInt% = gibMirEinInt()

FUNCTION gibMirNenFloat#:
RETURN 12.293829
ENDFUNCTION

LOCAL meinFloatDoubleOderSo# = gibMirNenFloat()


QuoteMir fehlt noch immer ein Beispiel, wie ich HTML5 programmieren kann.
Gibts da irgendwo ein Beispiel?

Da brauchst du keine besonderen Kenntnisse, wenn du erstmal ein Projekt am Laufen hast.
Ein großer Vorteil von GLBasic ist, dass jedes Projekt auf jeder angebotenen Plattform ohne Änderungen (außer vielleicht Pfade oder so) ausgeführt werden kann.
Beim Kompilieren kannst du denke ich ganz einfach HTML5 als Plattform wählen und fertig...

Habe lange nichts mit GLBasic gemacht, also kann es sein, dass meine Erklärung Fehler enthält und jemand anders darf mich dann gerne korrigieren. :)

S.O.P.M.

#10
Wenn du eine weitere Quelldatei öffnest, berücksichtigt die IDE deren Code noch nicht. Erst ein Rechtsklick mit dem Befehl "Datei ins Projekt übernehmen" wird das ändern. Der direktere Weg wäre, Quelldateien gleich über das Jumps Fenster (standardmäßig auf der rechten Seite der IDE) über den Reiter Dateien hinzuzufügen, dann sind sie sofort im Projekt und werden beim Compilieren berücksichtigt. Zu beachten gilt, dass eine Quelldatei das Hauptprogramm darstellt, den Einsprungspunkt. Die weiteren Quelldateien können dann Subs und Funktionen enthalten, auf die das Hauptprogramm zurückgreift. Die IDE erlaubt es dir, jederzeit zu wählen, welche der Quelldateien das Hauptprogramm sein soll. Ich hoffe, jetzt kommst du damit klar. Es wäre zu schade, diese Programmiersprache aufgrund dieser Besonderheit links liegen zu lassen :)
Notebook PC Samsung E372 Core i5 @ 2,6 GHz; 4 GB RAM; Win 7 Home Premium

stevie

Vielen Dank für eure Antworten und Hilfe.
Ich werde die nächste Zeit versuchen mich an GLBasic heranzutasten, obwohl ich zugeben muss, dass ich vieles sehr gewöhnungsbedürftig finde.
GLBasic macht für mich nur dann Sinn, wenn mein Code wirklich in HTML5 umgewandelt wird.
Dabei frage ich mich, wie habe ich mir das vorzustellen?
HTML5 hat z.B. Textboxen und Eingabefelder. Wie komme ich an die ran mit GLBasic?
Ist mein Code nachher eine html-Seite?
Wie sieht es mit der Socket-Programmierung aus?
HTML5 kennt nur Web-Sockets, nein ich möchte nicht socket.io verwenden.
Ich benötige aber normale Sockets, denn mein Server versteht keine WebSockets.
Kann GLBasic das einfach umwandeln?

Wo finde ich ein gutes Beispiel für HTML5?
Ich finde nirgends gute Beispiele.

Der Editor selbst ist eine Katastrophe:
Um die Beispiele testen zu können, die z.T. sogar fehlerhaft sind, muss ich für jedes Beispiel ein eigenes Projekt erstellen, da ich die einzelnen Beispiele nicht in meinem Projekt haben möchte.
Eine schlimmere Antiwerbung als dieser Editor gibt es eigentlich nicht mehr für diese doch so hoch gepriesene Programmiersprache.

Und eine Frage zum Schluß:
Wird GLBasic überhaupt noch weiterentwickelt?
Da viele Dinge nicht oder falsch beschrieben sind und nicht aktuell sind, wirkt das Ganze etwas verlassen.

kanonet

Willkommen im Forum stevie!

Also eigentlich liegen den Beispielen auch immer die Projektdateien (.gbap) bei, wenn du diese startest, sollte es gleich funktionieren, ohne dass du ein eigenes Projekt erstellen musst. Zugegebenermaßen ist das Projektmanagement tatsächlich erstmal etwas gewöhnungsbedürftig, aber wenn es du es einmal begriffen hast, läuft fast alles nahezu von allein.

HTML5 ist glaube ich noch in einer frühen Entwicklungsphase, ich bin mir nicht sicher, ob es tatsächlich schon für den produktiven Einsatz gedacht ist. Auch weiß ich nicht, ob die Sockets so funktionieren werden, wie du das planst, müsste man testen, aber vielleicht nicht gerade als newbee? Für HTML5 muss das Projekt etwas anders strukturiert werden, als man es auf anderen Plattformen meist tut (aber due HTML5 form funktioniert auch auf allen anderen Plattformen, also gleich so nutzen), das hier (Link) sollte eine Orientierung geben.

Ja, GLBasic wird noch weiterentwickelt, da die Ressourcen dafür aber limitiert sind, werden zwar Bugs gefixt und neue Features hinzugefügt, aber die Dokumentationen (Hilfe, Beispiele etc) werden nur selten aktualisiert. Das ist nicht perfekt, aber mir ist es sorum lieber als andersherum...
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64

stevie

Ich dachte nach 20 Jahren Programmieren würde ich mit einer neuen Basic-Sprache klar kommen, aber weit gefehlt.
Ich verstehe GLBasic nicht und schaffe es nicht über ein "Hallo Welt" hinaus.

ein Beispiel:
GLOBAL xres%,yres%

LOCAL a

GETDESKTOPSIZE xres%,yres%

xres=xres-100
yres=yres-100
SETSCREEN xres,yres,0


PRINT "Hallo Welt",100,80

SHOWSCREEN

a=3
IF a=3
  PRINT "A=3",100,100

ENDIF


MOUSEWAIT


Dieses Beispiel bringt mir ein Hallo Welt auf den Bildschirm.
Es soll aber ein Hallo Welt UND ein "A=3" bringen.
Ich darf aber innerhalb von Bedingungen kein SETSCREEN bringen ???

Nächstes Beispiel bringt mir einen schwarzen Bildschirm:
GLOBAL xres%,yres%

LOCAL a

GETDESKTOPSIZE xres%,yres%

xres=xres-100
yres=yres-100
SETSCREEN xres,yres,0


PRINT "Hallo Welt",100,80

SHOWSCREEN

a=3
IF a=3
  PRINT "A=3",100,100

ENDIF
SHOWSCREEN

MOUSEWAIT

Es wird nun nicht einmal mehr "Hallo Welt" angezeigt.

Ich habe es nach 2 Tagen intensiver Übung nicht geschafft ein Hallo Welt UND ein "A=3" zusammen auf den Bildschirm zu bringen.
Mit jedem anderen Basic eine Kleinigkeit!

Nächstes Beispiel:
TCP sendet zwar, empfängt aber nicht.
Bei :
   rv% = SOCK_RECV(csock%, msg$, 1024)
ist rv% immer -2

Auch schaffe ich es nicht einzelne Dateien zum TESTEN zum laufen zu bringen. Ich muss tatsächlich für jede neue Testdatei ein neues Projekt erstellen.
Wie soll ich so programmieren?????

Ich empfehle dem Hersteller dringenst ein Video und eine richtige Hilfe zur Anleitung.
Anfänger werden es nie schaffen über ein "Hallo Welt" hinaus zu kommen und selbst ich, der 20 Jahre programmiert, muss sich stundenlang im Forum durchackern, um minimalistisch etwas programmieren zu können.

Die Homepage von GLBASIC verspricht einfaches Programmieren.
Ich finde das, gelinde ausgedrückt, eine Frechheit!
Die Sprache ist ohne richtige Anleitung nicht zu programmieren oder vollkommen fehlerhaft und der Editor eine einzige Katastrophe.
Fast wäre ich vor lauter Vorfreude auf die Versprechungen reingefallen und hätte tatsächlich dieses Basic gekauft. Welch grausame Vorstellung. Dann hätte ich jetzt eine Sprache für 80 Euro gekauft, mit der ich nach 2 Tagen ein "Hallo Welt" hinbekomme.

Ich danke den Forumsschreibern vielmals für die Hilfe.
Ich denke, wenn man mit GLBASIC gross geworden ist, mag es sogar benutzbar sein.
Für Neulinge, oder Programmierer anderer Sprachen, ist GLBASIC eine Katastrophe.
Der Editor ist echt eine Frechheit und die Sprache scheint voller Bugs zu sein.
Dafür Geld zu verlangen ist dreist.

Marmor

Deine Empfehlung mal ein video zu machen
Wurde vor jahren umgesetzt !
Gugst du auf youtube!
Wenn der Bauer nicht schwimmen kann liegts an der Badehose.
Im Ernst entweder du hast ne fehlerhafte installation oder
hast schlichtweg das konzept nicht verstanden.
Probiers mit Monkey eventuell liegt dir das mehr.


Mfg  Von einem der so nebenbei programmiert ....