Seite 2 von 3

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 06.07.2002, 18:33
von theDon
du meinst sicher WECHSLE_RAUM(r118,111,250) ?!

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 06.07.2002, 19:23
von Kruttan
von mir aus, war ja auch nicht ernst gemeint. Wollte eben nur mal ein deutsches Listing erstellten. hab mir da irgendwas zusammengedichtet, auch an keinen bestimmten Synthax angelehnt. Sieht aber echt bescheuert aus. Wenn ich was schreibe, dann verwende ich selbst in meinem Kopf teilweise die englischen Bezeichnungen für Zahlen (z.B. denke ich "if x is five" anstelle von: "wenn nun x fünf ist"). Ist eigentlich schon Gewohnungssache, dass das Zeug auf Englisch ist. Beklagen sich ja einige über das Englische, aber mir ist es eigentlich egal, sofern der Kram nicht saukompliziert erklärt ist.

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 06.07.2002, 22:38
von theDon
nun ja *lustig* is ja sowas hier ;)

Code: Alles auswählen

FILE* _rooms;
   _rooms = fopen("../scripts/rooms.txt","r");
   if(!_rooms)
   {
      fprintf(stderr,"\n[CORE]\t Error while attempting to load room info");
      return;
   }
   char* buf = new char[2000];
   {
      for(int i = 0; i < 2000; i++)
         buf[i] = '\0';
   }
   fread(buf,sizeof(char),2000,_rooms);
   fclose(_rooms);
   _rooms = NULL;
   char sep[] = " ,\t,\n";
   char* tok;
   tok = strtok(buf,sep);
   struct parse_rooms
   {
      bool open;
      bool no;
      bool pic;
      bool col;
      bool x;
      bool y;
   } p;
   struct data_rooms
   {
      char* pic;
      char* col;
      int x;
      int y;
      int no;
   } d;
   d.pic = new char[200];
   {
      for(int i = 0; i < 200; i++)
         d.pic[i] = '\0';
   }
   d.col = new char[200];
   {
      for(int i = 0; i < 200; i++)
         d.col[i] = '\0';
   }
   while(tok != NULL)
   {
      switch(*tok)
      {
      case '{':
         p.open = true;
         p.pic = false;
         p.col = false;
         p.no = false;
         p.x = false;
         p.y = false;
         break;
      case '}':
         p.open = false;
         p.pic = false;
         p.col = false;
         p.no = false;         
         p.x = false;
         p.y = false;
         rooms[d.no].pic = new char[strlen(d.pic)+5];
         {
            for(unsigned int i = 0; i < (strlen(d.pic)+5); i++)
            {
               rooms[d.no].pic[i] = '\0';
            }
         }
         rooms[d.no].col = new char[strlen(d.col)+5];
         {
            for(unsigned int i = 0; i < (strlen(d.col)+5); i++)
            {
               rooms[d.no].col[i] = '\0';
            }
         }
         strncpy(rooms[d.no].pic,d.pic,strlen(d.pic));
         strncpy(rooms[d.no].col,d.col,strlen(d.col));
         rooms[d.no].x = d.x;
         rooms[d.no].y = d.y;
         rooms[d.no].no = d.no;
         room_count++;
         break;
      case 'P':
         p.pic = true;
         p.col = false;
         p.no = false;
         p.x = false;
         p.y = false;
         break;
      case 'C':
         p.pic = false; 
         p.col = true;
         p.no = false;
         p.x = false;
         p.y = false;
         break;
      case 'X':
         p.pic = false;
         p.col = false;
         p.no = false;
         p.x = true;
         p.y = false;
         break;
      case 'Y':
         p.pic = false;
         p.col = false;
         p.no = false;
         p.x = false;
         p.y = true;
         break;
      case '#':
         p.pic = false;
         p.col = false;
         p.no = true;
         p.x = false;
         p.y = false;
      default:
         if(p.open)
         {
            if(p.pic)
            {
               strncpy(d.pic,tok,strlen(tok));
            }
            else if (p.col)
            {
               strncpy(d.col,tok,strlen(tok));
            }
            else if (p.no)
            {
               d.no = atoi(tok);
            }
            else if (p.x)
            {
               d.x = atoi(tok);
            }
            else if (p.y)
            {
               d.y = atoi(tok);
            }
            
         }
         break;
      }
      tok = strtok(NULL,sep);
   }
sry dasses so lang ist aber ich bin an sowas gewöhnt ;)

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 07.07.2002, 00:33
von El_Kramo
nun ja du solltest es ja auch eigentlich schon können
die Betonung liegt auf "eigentlich"

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 07.07.2002, 01:35
von theDon
hehe ;)

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 07.07.2002, 02:23
von DasJan
[quote author=Kruttan link=board=1;threadid=320;start=15#3423 date=1025976223]
(z.B. denke ich "if x is five" anstelle von: "wenn nun x fünf ist")[/quote]
Heißt es nicht eigentlich "if x was five"? ;) Sorry...

Und Don, hör mir mit deiner C-Syntax da auf. Da krieg ich ja Augenschmerzen...

Das Jan

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 07.07.2002, 12:39
von theDon
nun ja das liegt am board, die schrift is einfach zu klein ;)
aber hast recht das is wirklich c...habe grad den teil genommen wo kein c++ code drin vorkommt ;)

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 07.07.2002, 15:28
von DasJan
Bei C++-Code krieg ich die gleichen Augenschmerzen, und das liegt NICHT and der Schrift... ;)

Das Jan

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 07.07.2002, 16:16
von Kruttan
[quote author=dasjan link=board=1;threadid=320;start=15#3433 date=1026001416]
[quote author=Kruttan link=board=1;threadid=320;start=15#3423 date=1025976223]
(z.B. denke ich "if x is five" anstelle von: "wenn nun x fünf ist")[/quote]
Heißt es nicht eigentlich "if x was five"? ;) Sorry...
[/quote]
sind halt meine Gedanken, ich denke eben auch nicht fehlerfrei, Hauptsache ist eigentlich immer, man versteht, was gemeint ist. Klingt aber immerhin noch besser als: "if x ist nun fünf then", das ist doch totales Kuddelmuddel und sowas würde ich nicht denken... denke ich

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 07.07.2002, 16:26
von theDon
nun ja...technisch gesehn ist x == 5 ein ausdruck der entweder 0 (falsch) oder einen anderen wert (in diesem fall 5) ergibt...mit if wird lediglich geprüft, ob der ausdruck wahr (ungleich 0) ist.

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 07.07.2002, 16:41
von Kruttan
das ist doch eignetlich das selbe, ob nun etwas getan wird, weil x=5 ist, oder weil es zutrifft, das x=5 ist. Es geht auch nicht darum ob x fünf ist, das war doch auch nur ein Beispiel des Englischen, weil ich das Zeug auch auf Englisch denke (egal ob nun grammatisch korrekt oder nicht). Als Beispiel der Englisch-Misere. Und nun Schluss damit, es nervt langsam...

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 07.07.2002, 18:08
von DasJan
Mom mal, Don. In meinem Verständnis liefert ein Vergleich x=5 (bei Programmiersprachen für echte MÄNNER nur ein Gleichheitszeichen ;) ) ein Boolean, der entweder True oder False ist und keine Zahl. Entweder ist das bei C/C++/C#/Cwasweisich anders als in Pascal/Delphi (was mich nicht wunder würde) oder ich bin einfach zu grün.

if DasJan.state = grün then Vergissmeingeschwafel;

Das Jan

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 07.07.2002, 18:29
von theDon
moment:
es besteht ein unterschied zwischen einer zuweisung (x = 5), die nämlich _immer_ war ist (ausser bei x = 0 ;) )
und dem vergleich auf gleichheit (x == 5)
bei der zuweisung ist das ergebnis des ausdrucks immer die zahl die zugewiesen wird
beim vergleich ist das ergebnis entweder 0 (wenn der ausdruck falsch ist) oder die zahl, auf die gleichheit geprüft wurde (in diesem fall 5).
ein boolean ist in c/c++ so definiert:

Code: Alles auswählen

typedef enum
{
    false = 0;
    true;
} bool;

Code: Alles auswählen

{
    if(x = 5); // x wird 5, ausdruck (x = 5) ergibt 5; bedingung erfüllt
    if(x == 5); // wenn x == 5 ist ergibt ausdruck 5, sonst 0
    if( (x == 5) ? 5 : 0) ) // wäre äquivalent
}

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 07.07.2002, 18:30
von zeebee
while (dasjan_iq <= 100 && alle_kapieren_nix == 1) {
echo "Häh?!?";
}

Bildschirmausgabe:

Code: Alles auswählen

Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!?Häh?!? (etc...)
;D

Re:BigBadNewbie braucht Hilfe beim ersten Selfmade-spiel! Bi

Verfasst: 07.07.2002, 18:37
von theDon
ähem das wird so nicht gehen ;)

Code: Alles auswählen

#include <stdlib.h>
#include <stdio.h>

int main(int argc, char* argv[])
{
    int alle_kapieren_nix = 1;
    int dasjan_iq = 50; // witz ;)
    
    while(dasjan_iq <= 100 && alle_kapieren_nix)
    {
        fprintf(stderr,"Haeh?!");
        dasjan_iq++; // ggf auskommentieren ;)
    }
    return (dasjan_iq << 2);
}
/edit das ganze funzt sogar ;) edit/