[C/C++] Standard Random Funktion in Borland

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von booni, 8. Mai 2008 .

  1. 8. Mai 2008
    Standard Random Funktion in Borland

    Hallo,
    ich habe ein Problem bei meinem Programm. Ich versuche eine Art "Space Impact" zu programmieren was einige vielleicht von den alten Nokia Handys kennen.
    Mittlerweile bin ich soweit das man das "Raumschiff" mit den Pfeiltasten steuern kann und das man mit Hilfe der Leertaste eine Kugel abfeuern kann.
    Allerdings hab ich jetzt zwei Probleme.
    1) Man fliegt mit dem Raumschiff von links nach rechts, es sollen zufällig rechts Gegner erscheinen die sich von rechts nach links bewegen, ich kriege es aber nicht hin das diese an einer zufälligen Position erscheinen und dann nach links "fliegen".
    2) Problem mit dem Delay, diese Funktion funktioniert bei Borland nicht, die Kugel die ich abfeuer muss sich aber von links nach rechts bewegen und die Verzögerung soll unter einer Sekunde sein ohne das der Bildschirm einfriert, gibt es da eine Möglichkeit, die sleep Funktion ist da nicht zu gebrauchen.

    Für Tipps wäre ich euch dankbar .

    Gruß
     
  2. 8. Mai 2008
    AW: Standard Random Funktion in Borland

    Also für random guck dir srand() und rand() an.

    Wieso ist Sleep nicht zu gebrauchen? ist imho perfekt dafür.

    mfg tobZel
     
  3. 8. Mai 2008
    AW: Standard Random Funktion in Borland

    Bei Sleep hab ich das Problem das dann das ganze Bild einfriert, und das soll ja nicht Sinn der Sache sein, und unter einer Sekunde funktioniert auch nicht. Ist ja blöd wenn man sich dann nicht mehr bewegen kann, und eine Sekunde ist ein zu langer Zeitraum.
    Ich schau mir srand und rand mal an, Borland hat da ja ne recht gute Hilfefunktion.

    //edit:
    Habe gerade gesehen das remaL mir geschrieben hat, seine PN sieht sehr nützlich aus ich versuche es mal umzusetzen, Danke vorweg.
     
  4. 8. Mai 2008
    AW: Standard Random Funktion in Borland

    Entweder machst du das mit timestamps oder MultiThreaded.

    Timestamps:

    timestamp
    gucken ob bewegungs tasten gedrückt wurden
    timestamp
    gucken ob timestamp differenz groß genug ist dann objekt bewegen.

    Wenn du noch mehr Programmfunktionen hast wird die sache mit der zeit extrem kompliziert drum steig rechtzeitig auf MultiThreading um wenn das dein prog erfordert.

    mfg tobZel
     
  5. 8. Mai 2008
    AW: Standard Random Funktion in Borland

    also random geht so:

    du musst erstma global "randomize();" deklarieren!

    danach iwo im code dann "random();"! in der klammer hier aus was du nen random willst! zb zahlen, machste random(50), holt er ne zahl von 0-49 raus!
     
  6. 8. Mai 2008
    AW: Standard Random Funktion in Borland

    Zu 2)
    Du könntest dafür ein TTimer Objekt benutzen das in einem
    bestimmten Interval einen Code ausführen kann.

    Mfg Rushh0ur
     
  7. 9. Mai 2008
    AW: Standard Random Funktion in Borland

    Danke für die Tipps ich werde es heute umsetzen und gehe davon aus das es auch klappen wird.
    Allerdings hab ich ein weiteres Problem, ich schaffe ich es mehrere Kugeln hintereinander zu feuern.
    Zur Zeit kommt ein Schuss wenn ich die Leertaste drücke, und muss warten bis dieser aus dem Fenster fliegt bevor ich den nächsten abfeuern kann. Der Quelltext sieht so aus:
    Code:
     case 32: kugelfrage=1;
     kugelx=x;
     kugely=y;
     break;
     }
    
     if(kugelfrage=1)
     {
     kugelx++;
     gotoxy(kugelx,kugely);
     printf("-");
    
    
     if(kugelx==80)
     {
     kugelfrage=0;
     }
     }
    
    Hätte jemand eine Idee?
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.