GLBasic forum

Main forum => Tutorials => Topic started by: Dragoon-Fighter on 2007-Jul-15

Title: C++ oder
Post by: Dragoon-Fighter on 2007-Jul-15
Hey leutz, vielleicht schreibe ich nicht passend zum forum, aber sonst kann ich meine antwort nuergend wo finden....

Ich brauche die Funktion für  "entweder / oder".

Ich möchte dass in einem programm immer wieder neises rauskommt, wenn mans neu klickt. Ich meine zum Beispiel habe ich hier 5 Wörter, und von denen soll jedes mal wenn ich den block neu starte nur eins dargestellt.
Wie ein Generator halt.

Bitte um Hilfe plz.
Title: C++ oder
Post by: Schranz0r on 2007-Jul-15
Hmm ich kann dir da net ganz folgen..

"entweder/oder" ist doch kein Zufall....

Formuliere doch mal deine Frage so, das man auch genau weiss, was du genau willst!
Kann nur ahnen was du willst:

RND()
Title: C++ oder
Post by: Dragoon-Fighter on 2007-Jul-15
Also, man kann ja wissen was ein Generator ist, oder? Er generiert immer wieder neue Wörter oder Zahlen.  Wenn man ein klick auf einen programmierten knopf macht, generiert er  neues wort, was er in einer Vorlage hat.  Genau das brauche ich, ich weiss nicht welche Funktion dem Knopf gehört, die Wörter in der Vorlage neu dar zu stellen (generieren).
Title: C++ oder
Post by: Schranz0r on 2007-Jul-15
"Generieren" ist zufällig was erstellen.
Was du meinst, mit einer "Liste", hat damit aber nichts zu tun....


Pseudocode:
Code (glbasic) Select
IF Buttongedrueckt = True
    wert = RND(10)
ENDIF

SELECT wert
    CASE 1
        Zufallname$ = "Dragoon-Fighter"
    CASE 2
        Zufallname$ = "Schlumpf"
    DEFAULT
        Zufallname$ = "KA"
ENDSELECT
Title: C++ oder
Post by: Dragoon-Fighter on 2007-Jul-15
Jo ok, danke sehr! Hast mir mein leben gerettet!!! Bin schon den halben Tag am suchen, thx!!!!
Title: C++ oder
Post by: Schranz0r on 2007-Jul-15
Was haste den vor?
Sowas ist doch total Basic <--- *Schönes Wortspiel :D*

Hmm ich hab dir dein leben gerettet?

- Na ich bin ein Held :D
Title: C++ oder
Post by: Dragoon-Fighter on 2007-Jul-15
:D jo, ach wollte gerad so nen pogramm machen, da schreibst Du eienn Namen, und  der Name wird dann beschimft :D lol oda so ähnlich...
Title: C++ oder
Post by: Dragoon-Fighter on 2007-Jul-15
Hier stimmt aber was nicht....

#include
#include

using namespace std;

int main(int argc, char *argv[])
{
    string antwort1, zufallname, wert, buttongedrueckt, gotovy, name, lol, vorname;
       
    cout << "Hi" << endl;
    cout << "" << endl;
    cout << "Sollen wir Anfangen?" << endl;
    getline ( cin, gotovy );
    cout << "" << endl;
    while(1)
    {
          cout << "Name:" << endl;
          getline ( cin, vorname );
          cout << "Nachname:" << endl;
          getline ( cin, name );
          cout << "" << endl;
         
          if buttongedrueckt = True
         
    wert = rnd(10)
    endif

    select wert
    case 1
        zufallname$ = "Dragoon-Fighter"
    case 2
        zufallname$ = "Schlumpf"
    default
        zufallname$ = "KA"
        endselect

         
          cout << vorname << zufallname << endl;
         
          cout << "Noma? (j/n)" << endl;
          getline ( cin, antwort1 );
         
          if ( antwort1 == "j" )
          {
               continue;//zanovo
           }
           else
           {
              break; //stop
           }
           cout << "Ende" << endl;
          }
    cout << "Bye" << endl;
   
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
Title: C++ oder
Post by: Dragoon-Fighter on 2007-Jul-15
Ab " if buttongedrueckt = True" gibt er mir ein Fehler.
Title: C++ oder
Post by: Schranz0r on 2007-Jul-15
3 Sachen vorweg:

1. Du willst in GLBasic mit C++ arbeiten? Dann brauchst du INLINE, was aber sau schwer ist, da ja schon der Compiler kein COUT Ausgeben kann, weils ein OpenGL-Fenster ist !

2. Der Code von mir war ---> Pseudocode <--- Also nur eine Anregung!

3. Machs doch einfach mit der GLBasic Syntax, da tust dir um ein vielfaches leichter !
Title: C++ oder
Post by: Dragoon-Fighter on 2007-Jul-15
^^ Ok, werds versuchen , danke!
Title: C++ oder
Post by: Schranz0r on 2007-Jul-15
Hier mal ein Code der geht !

Code (glbasic) Select
start:
PRINT "Gib deinen Namen ein: ",10,10
INPUT name$,10,25

SHOWSCREEN

wert = RND(3)

SELECT wert
CASE 0
Funname$ = "Wurzelsepp"
CASE 1
Funname$ = "Wulperdinger"
CASE 2
Funname$ = "Nix-könner"
CASE 3
Funname$ = "Noob"
ENDSELECT

PRINT "Du, "+name$+" bist ein "+Funname$,10,10
PRINT "Nochmal? J/N",10,25
INPUT retry$, 120,25
SHOWSCREEN

IF  retry$ = "j" OR  retry$ = "J"
GOTO start
ELSE
END
ENDIF
Title: C++ oder
Post by: Dragoon-Fighter on 2007-Jul-15
Ok, danke, das is Füe Gl sehe ich, ok, danke, werd ausprobieren!
Title: C++ oder
Post by: trucidare on 2007-Jul-15
du kannst das if statement und die switch case abfrgae von glbasic nicht inline verwenden. du solltest die von c++ nehmen
Title: C++ oder
Post by: Dragoon-Fighter on 2007-Jul-15
Wollte ich ja auch machen, nur ich kenne die bloß nicht...
Title: C++ oder
Post by: trucidare on 2007-Jul-15
Code (glbasic) Select
if(var==true)
{
mach was
};
und

Code (glbasic) Select
switch(var)
{
case wert:
  tu was;
break;
}
Title: C++ oder
Post by: Dragoon-Fighter on 2007-Jul-15
Aso, ich habs mal als bei spiel da stat tuh was und so cout geschrieben...also eine Funktion, is ok....
Title: C++ oder
Post by: Dragoon-Fighter on 2007-Jul-15
no match for 'operator==' in 'var ==  true'
Title: C++ oder
Post by: Kitty Hello on 2007-Jul-16
OK. ganz von Vorne nochmal:
in GLBasic:
Code (glbasic) Select
IF var = TRUE
   machwas()
ELSE
   machwasanderes()
ENDIF
in C++ (mit INLINE)
Code (glbasic) Select
INLINE
if (var == true)
{
   machwas();
}
else
{
   machwasanderes();
}
ENDINLINE
oberes wird empfohlen.
Title: C++ oder
Post by: Dragoon-Fighter on 2007-Jul-16
Habs gefunden, wenn es jemanden interessiert, hier:

#include
#include
#include
#include
#include
//...
const std::size_t count = 2;
std::vector< std::string > initialize()
{
    std::srand(time(NULL));
    std::vector< std::string > v(count);
    v[0] = "хакер";
    v[1] = "нуб";
    return v;
}
const std::string &generator()
{
    static std::vector< std::string > v = initialize();
    std::size_t index = rand() % count;
    return v[index];
}
// ...
std::cout << "Вася " << generator() << std::endl;
Title: C++ oder
Post by: Kitty Hello on 2007-Jul-16
in GLBasic:
Code (glbasic) Select
PRINT "BakR " + generator$(), 0,0
SHOWSCREEN
MOUSEWAIT


FUNCTION generator$:
LOCAL data$[], index
   // Make data array (2 values here)
   DIMDATA data$[], "xakep", "Hy6"

   // Get a random one
   index = RND( BOUNDS(data$[], 0) -1 )

   // return it
   RETURN data$[index]
ENDFUNCTION
Title: C++ oder
Post by: Schranz0r on 2007-Jul-16
?? versteh die thematik nicht, was hast das mit GLBasic zu tun?
Geh doch lieber ins C++ Forum !
Title: C++ oder
Post by: Dragoon-Fighter on 2007-Jul-16
^^ Ja, das hab ich auch gerade gemerkt :D aber trotzdem danke Leute!