n00b frage

C

Chiper

aaaaaaaalso:
Ich wollt mal n proggramm machen (simples konzept) mit dem man wdl dateinen erstellen kann. "erstellen" aber nicht bearbeiten!
Also man drückt auf einen Knopf und speichert dann die wdl an einen ort. Mit speichern allerdingst klappt das nicht!
könnt ihr mir helfen
thx im voraus chiper
 
Also was wdl-Dateien sind weiß ich zwar nicht, aber du willst ja nur Dateien erstellen, dann musst du dich mal mein einfachen Dateiverarbeitungen in C rumärgern, ist gar net so schwer. Du erstellst einfach einen FILE-Zeiger und kannst dann mit fopen(), die Datei öffnen bzw. erstellen. Mit fwrite() oder fputs(), kannst dann in die Datei was reinschreiben. Am ende wieder mit fclose() schließen. Schau dir einfach mal die Erklärung in der MSDN an.

Gruss Homer
 
wdl Dateien sind wenn ich mich recht errinnere die Webserver Discover Dateien
(ne weile her das ich .net angefasst habe).

BTW: Immer !!! Sprache angeben und ein etwas mehr ausdruckvolles Subject wählen.
 
also erst mal sorry das ich so lang nimemr da war.
sorry für die sch*** angaben ^^
also ich benutze borlan c++ builder
ich hab jetz mal n paar tutorials runtergeladen vielleicht finde ich da ja was genaueres dazu

thx chiper ^^

PS: wdl ist auch eine programmier sprache (viel einfacher als c/c++ oder sonstige)
 
Um das nochmal ein wenig zu erläutern:

WDL bedeutet WorldDefinitionLanguage und wurde entwickelt um Spiele
(und andres) für das 3D-GameStudio zu entwickeln. Es ist eine Script-
sprache die jedoch ähnlich wie C++ aufgebaut ist. Sie soll leicht zu
erlernen sein um auch unerfahrenen Benutzern einen leichten Einstieg
in die (Spiele-)Programmierung zu geben.
Ich persönlich habe sie noch nie ausprobiert und habe das auch nicht vor
denn -wie irgendjemand kluges mal sagte- wer C++ kann, dem liegt die
Welt zufüßen! :)

Ich bin nicht sicher ob es genau stimmt was ich oben geschrieben habe.
Wenn nicht kann das ja evt. noch eine/einer verbessern.
Hoffe ich konnte euch eine kleine Freude mit diesem Post machen :)

Bis zu meiner nächsten Anfängerfrage :) Ich plane da schon was...
 
Stimmt habe grad nachgelesen:

was ich meinte war WSDL:
WebService Description Language

und das ist XML Basiert. WDL Selber kenne ich gar nicht .. hat da jemand mal ein Codeschnippsel um diesen aufzuzeigen ?
*interressiert bin
 
allerdings hab ich da ein schnipsel (genauer ist es ein ganzes Spiel [ein Invader Clon für die A4])


Code:
PANEL ship_pan  {  
     BMAP ship_map;  
     LAYER 11;  
     POS_X 320;  
     POS_Y 400; // Er wird an der Basis des Bildschirms erscheinen  
     FLAGS OVERLAY, REFRESH;  
}
Der Panel für das Raumschiff
Code:
function main()  
{  
      LOAD_LEVEL <invaders.wmb>;  
      WAITT 16;  
      CAMERA.PAN = 0; // Verändert diese Werte um andere Positionen zu erreichen 
      CAMERA.TILT = 285;  
      CAMERA.X = -60;  
      CAMERA.Y = -170;  
      CAMERA.Z = -420;  

      restart (); // Initialisiert das Spiel
      move_ship ();  
      move_enemy ();  
      move_rocket ();  
      move_fractal ();  
      set_collisions ();  
}
Die main function mit der die Eigenschaften für dasSpiel geladen werden
Code:
function move_ship ()  
{  
      WHILE (1)  
      {  
            IF (KEY_CUL == ON && ship_pan.POS_X > 40)  
           {  
                ship_pan.POS_X -= 2;  
           }  
           IF (KEY_CUR == ON && ship_pan.POS_X < 600)  
          {  
                ship_pan.POS_X += 2;   }  
                WAITT 1;  
          }  
}
Das ist für das Bewegen des Raumschiffes zuständig
Code:
function move_enemy ()  
{  
      WHILE (1)  
      {  
            IF (enemy_pan.POS_X > 40 && enemy_flag == 1)  
            {  
                   enemy_pan.POS_X -= 1;  
            }  
            ELSE  
            {  
                   enemy_flag = 0; // Enemy will sich nach rechts bewegen   
                   IF (enemy_pan.POS_X == 40 && enemy_pan.POS_Y < 350)  
                   {  
                           WHILE (counter < 40)  
                           {  
                                   enemy_pan.POS_Y += 1; // enemy kommt dem ship nahe   
                                   counter += 1;  
                                   WAITT 1;  
                            }  
                   counter = 0; // wir wollen ihn auch am Rande rechts gebrauchen  
                   }  
              }  
              IF (enemy_pan.POS_X < 580 && enemy_flag == 0)  
              {  
                     enemy_pan.POS_X += 1; //er bewegt sich nach rechts   
              }  
              ELSE  
              {  
                     enemy_flag = 1; // er will sich nach links bewegen   
                     IF (enemy_pan.POS_X == 580 && enemy_pan.POS_Y < 350)  
                     {  
                            WHILE (counter < 40)  
                            {  
                                       enemy_pan.POS_Y += 1; 
                                       counter += 1;  
                                       WAITT 1;  
                             }  
                     counter = 0; // gesettet für den Rand links   
                     }  
               }  
      WAITT 1;  
      }  
}
Die KI
Code:
function move_rocket ()  
{  
       WHILE (1)  
       {  
               IF (KEY_SPACE == ON && ship_pan.VISIBLE == ON)  
               {  
                        rocket_pan.POS_X = ship_pan.POS_X + 18;  
                        rocket_pan.VISIBLE = ON; // Zeige rocket   
                        PLAY_SOUND rocket_snd,100;  
                       WHILE (rocket_pan.POS_Y > 10)  
                        {  
                                 rocket_pan.POS_Y -= 4; // bewege rocket nach oben 
                                WAITT 1;  
                        }  
               rocket_pan.VISIBLE = OFF; // verdecke rocket   
               rocket_pan.POS_Y = 388; // unterbreche die Zusammenstöße wenn ship getroffen ist  
               }  
        WAIT 1;  
       }  
}
Der Waffenscript
Code:
function move_fractal ()  
{  
       WHILE (1)  
       {  
              IF (enemy_pan.VISIBLE == ON)  
              {  
                     fractal_pan.POS_X = enemy_pan.POS_X + 10;  
                     fractal_pan.POS_Y = enemy_pan.POS_Y + 16;  
                     PLAY_SOUND fractal_snd,50;  
                    WHILE (fractal_pan.POS_Y < 480)  
                    {  
                            fractal_pan.VISIBLE = ON;  
                            fractal_pan.POS_Y += 4;  
                            WAITT 1;  
                     }  
                     fractal_pan.POS_Y = 72; 
                     fractal_pan.VISIBLE = OFF;  
               }  
               WAIT 1;  
        }  
}
Die Kollisionserkennung

Wenn du willst kann ich dir noch n paar Links geben ;)
 
Original geschrieben von Chiper

Wenn du willst kann ich dir noch n paar Links geben ;)

Danke aber mir fehlt echt die Zeit dazu, jedoch recht interressant ziemlich nach C Stil :D

Naja Spiele Programmierung war früher mein Traumberuf ...
Mittlerweile programmier ich beruflich Marktforschungssoftware ist nicht ganz so weit weg :) verschlingt aber zusehr meine Zeit für was anderes :eek:
 

Neue Beiträge

Zurück