BASIC

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.


Topics - jasper111

Pages: [1]
1
GLBasic - de / Level aus Textdatei lesen,wie?
« on: 2008-Dec-09 »
Hallo,

hab mal wieder Urlaub und spiel gerade ein wenig mit GLBasic.Jetz hab ich versucht ein Level aus einer Textdatei einzulesen.

Habe das Level in etwa so aufgebaut :

111111111111
112112111211

Hier steht die 1 und die 2 für jeweils ein anderes Sprite.
Nun kann ich mit Readline nur die ganze Zahl lesen, aber nicht einzeln.

Wie kann ich jetzt jede Zahl einzeln lesen??

Gruß Jasper

2
Hallo,

da bin ich wieder.Habe von PC auf Apple umgestellt.Jetzt habe ich mit Bootcamp Windows XP für GLBasic installiert und wenn ich auf Hilfe klicke beendet sich GLBasic.
Was kann ich machen??

Wollte mein Tut  fertigstellen, aber ohne Hilfe komm ich nicht weiter.

@Gernot:Desweiteren solltest du, Gernot, den Link auf der Startseite zum Tut erneuern.Im Thread zum Tut habe ich den Link drin.

Gruß Jasper111

3
Tutorials / Spaceshooter Tutorial
« on: 2008-Feb-17 »
Hallo,

habe mir mal die Mühe gemacht ein kleines Tutorial zu schreiben.

Gruß Jasper111

www.commodore-welt.de/tutorial/tutorial_1.pdf

4
>>Vorab, erstellen wird mit zwei l's geschrieben<<

Hallo zusammen,

nach meiner Frage nach einem Tut, hab ich mir mal das Video von Gernot angesehen.

Habe dann quasi alles nach gearbeitet und dabei ist der folgende Code rausgekommen.

Bitte mal kontrollieren und ich wäre dankbar wenn mir jemand noch die FOREACH Abfrage erläutern könnte.
Code: GLBasic [Select]
// --------------------------------- //
// Project: letzter versuch
// Start: Friday, February 15, 2008
// IDE Version: 5.172


GLOBAL playery = 400
GLOBAL playerx = 200
//---------------------------------------------------------------------------------------
        LOADSPRITE "../thomas/raumschiff.png", 0

        LOADSPRITE "../thomas/asteroid.png", 2

        LOADSPRITE "../thomas/laser.png", 1

//--------------------------------------------------------------------------------------
TYPE SCHUSS                                             //SCHUSS mit feld >>x<< und Feld >>y<< vormerken
x
y
ENDTYPE
//---------------------------------------------------------------------------------------

LOCAL schuesse[] AS SCHUSS    //schuesse[] als variable(veränderbar) AS(als) SCHUSS
       
//---------------------------------------------------------------------------------------
WHILE TRUE                                              //wenn wahr dann......

//---------------------------------------------------------------------------------------

IF KEY(203) THEN playerx =playerx -2                    // Bewegung des Spieler Raumschiffes
IF KEY(205) THEN playerx =playerx +2                    //Tasten druck wird geprüft und wenn ja(while true) dann minus oder plus nach links oder rechts
//---------------------------------------------------------------------------------------
 
 playerx = MAX(MIN(playerx,600),16)  //Begrenzung des Spielers auf die x-Achse des Spielfeldes zwischen 16
                                                                        //und 600 (16 = 16 pixel vom linken Rand weg und 600 = rechter Rand)
                                                                       
//---------------------------------------------------------------------------------------                                                                      
 
LOCAL schuss AS SCHUSS //nach dem Abschuss wird der schuss als Neuer SCHUSS der widerum als variable schuesse[]
                                           //,(wir erinnern uns,SCHUSS wurde als TYPE SCHUSS hinterlegt,vor der Schleife)
//---------------------------------------------------------------------------------------


 
 IF KEY(57) AND warten = GETTIMERALL()   <<Pause bis zum nächsten Schuss
schuss.y=400                            //Wenn Space(Leertaste) gedrückt dann den schuss.y <-auf der y-Achse malen hier 400
                                 schuss.x = playerx+10      //hier wird der schuss auf der x-Achse gemalt anhand der Raumschiff Position +10 nach rechts
                                                                                    //damit er in der Mitte der Grafik erscheint
        DIMPUSH schuesse[], schuss                              //fügt ein neues Feld(in unserem Fall einen Schuss ein) hier steht schuss als Wert der eingetragen wird in ->
                                                                                        //schuesse[] ( schuesse[] wurden ja "LOCAL" als "SCHUSS" bezeichnet)
                                                                                        //Also zum Verständniss >>schuss<< wird in die Variable schuesse[] "+einen schuss"eingetragen, die widerum in
                                                                                        //den Type SCHUSS hinterlegt wird.
        warten = GETTIMERALL()+200
ENDIF                                                                          
                                                                                       
                                                                                       
                                                                                       
//---------------------------------------------------------------------------------------

FOREACH laser IN schuesse[]                             //Das verstehe ich noch nicht so ganz, >>Foreach<< heißt soviel wie >> "Für jeden" <<
                                                                                        //Hier wird irgendwie aus dem Schuss eine neue Variable namens laser
                                                                                        //die in schuesse[], die widerum in den Type SCHUSS erstellt werden, denke ich.
                                                                       
        DEC laser.y, 2   // hier wird der laser.y, also die y-achse pro durchlauf um 2 verringert (DEC = verringern),das heißt der laser geht 2 Felder auf y-achse hoch
                                         // wir erinnern uns (INC = erhöhen) der Variable Beispiel a = 5 wird bei jedem durchlauf um wert x veringert (INC a,(1 =x)
                                         
        IF laser.y < 0 THEN DELETE laser                //wenn der laser kleiner 0 auf der y-achse ist, bitte löschen
       
DRAWSPRITE 1,laser.x,laser.y                            //Naja und hier zeichnen wir den laser(schuss) auf den Bildschirm

NEXT
//---------------------------------------------------------------------------------------
DRAWSPRITE 0,playerx,playery
SHOWSCREEN
WEND
Damit nicht durchgehend geschossen wird habe ich noch eine Pause mit warten = GETTIMERALL() eingebaut.

Hier zur besseren Übersicht auch noch eine PDF-Datei

spaceshooter teil 1 tut.pdf - 0.04MB

Hier die Grafiken:

grafiken.rar - 0.00MB

Gruß Jasper

5
GLBasic - de / Suche 2d Spaceshooter tut
« on: 2008-Feb-11 »
Hallo,

habe gerade Urlaub und würde gerne weiter programmieren(lernen).

Zm Lernen nehme ich gerne fertige Codes und zerlege die dann, so lerne ich am besten.

Gibt es ein Tut?

Also Steuerung ist das kleiner Problem.

Aber Feinde erstellen sowie Kollisionsabfrage macht mir grosse Probleme.

Wenn nicht kann einer eins machen.

Nichts wildes, Grafiken mit Drawrect reichen ja um das Funktionprinzip zu verstehen.

Am besten für dumme (also für mich)

Danke und Gruß Jasper111

6
Bug Reports / Fehlermeldung beim Compelieren
« on: 2007-Nov-24 »
Hallo,

wollte gerade mal das Basic ausprobieren und habe nicht mal das simple Spriteanzeigen hinbekommen.

Beim kompilieren kommt folgender Fehler.(Die Grafik ist aus dem Sampleordner)

compiling:
C:/DOKUME~1/ADMINI~1/LOKALE~1/Temp/glbasic/gpc_temp0.cpp: In function `int __GLBASIC__::__MainGameSub_()':
C:/DOKUME~1/ADMINI~1/LOKALE~1/Temp/glbasic/gpc_temp0.cpp:15: error: expected primary-expression before ',' token
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren

Mein Code:

LOADSPRITE "frog1.bmp" ,0
DRAWSPRITE ,0,100 ,100
SHOWSCREEN
END

Gruß Jasper

Pages: [1]