hangman



  • //---------------------------------------------------------------------------
    #include <vcl.h>
    #pragma hdrstop
    #include "Stdlib.h"
    #include "Unit1.h"
    #include "time.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    String Zufallswort;
    int Fehler;
    randomize();
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    Close();    
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
    {
    Action=caFree;    
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    
     int x,zufall;
     char Zeichen;
     zufall=random(ListBox1->Items->Count);
     Zufallswort=ListBox1->Items->Strings[zufall];
    
     Label1->Caption="";
      for (x=1;x<=Zufallswort.Length();x++)
       {
     Label1->Caption=Label1->Caption+".";
      }
      Label1->Visible=true;
    
      Zeichen='A';
    
        for (x=0;x<26;x++)
        {
        StringGrid1->ColWidths[x]=20;
        StringGrid1->Cells[x][0]=Zeichen;
        Zeichen++;
        }
        StringGrid1->Visible=true;
        Fehler=0;
        Label4->Visible=false;
    
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::StringGrid1Click(TObject *Sender)
    {
     int stelle,x;
     char buchstabe;
     String Reserve, Dateiname;
     boolean gefunden;
     gefunden=false;
    
     Reserve=Label1->Caption;
     stelle=StringGrid1->Col;
     buchstabe=StringGrid1->Cells[stelle][0][1];
     StringGrid1->Cells[stelle][0]=" ";
          for (x=1;x<=Zufallswort.Length();x++)
          {
            if (Zufallswort[x]==buchstabe)
            {
              Reserve[x]=buchstabe;
              gefunden=true;
            }
          }
     if (gefunden==false)
     {
      Fehler++;
      Dateiname=IntToStr(Fehler)+".bmp";
      Image1->Picture->LoadFromFile(Dateiname);
    
     }
    
     Label1->Caption=Reserve;
     if (Zufallswort==Label1->Caption)
     {
     StringGrid1->Visible=false;
     Label4->Visible=true;
     }
       if (Fehler==9)
       {
    
        StringGrid1->Visible=false;
        Label4->Caption="Es wäre "+Zufallswort" gewesen.";
    
        MediaPlayer1->FileName="beam.wav";
        MediaPlayer1->Play();
     }
    
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Ende1Click(TObject *Sender)
    {
    Close();
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Stufe11Click(TObject *Sender)
    {
     //ListBox1->Items->LoadFromFile
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Stufe21Click(TObject *Sender)
    {
     //ListBox1->Items->LoadFromFile
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Stufe31Click(TObject *Sender)
    {
     //ListBox1->Items->LoadFromFile ???????
    }
    //---------------------------------------------------------------------------
    

    hallo hab hier fehler drinnen.
    bei der zeile

    Label4->Caption="Es wäre "+Zufallswort" gewesen.";
    

    fehlt angeblich ein strichpunkt?

    Und wenn ich das wort erraten habe soll der sound "tada.wav" abgespielt werden.
    und wenn ich es nicht erraten habe dann "beam.wav". habs eh schon IRGENTWIE eingebaut....
    die dateien sind im selben ordner übrigenz.

    Und unten beim Befehl will ich noch zusammenbekommen, dass wenn ich in meinem menü stufe 1 anklicke die liste "1.lst", die im selben Ordner ist geladen wird und eine zufallszahl davon geladen wird.
    und das geht bis stufe drei!

    bitte helfen! danke vielmals!
    PS: die c++-b hilfe geht bei mir NOCH nicht!
    mfg



  • Hallo

    bei der zeile
    ...
    fehlt angeblich ein strichpunkt?

    C/C++ Code:
    Label4->Caption="Es wäre "+Zufallswort + " gewesen.";
    

    Und wenn ich das wort erraten habe soll der sound "tada.wav" abgespielt werden.
    und wenn ich es nicht erraten habe dann "beam.wav". habs eh schon IRGENTWIE eingebaut....
    die dateien sind im selben ordner übrigenz.

    😕 Und was willst du nun von uns wissen?

    Und unten beim Befehl will ich noch zusammenbekommen, dass wenn ich in meinem menü stufe 1 anklicke die liste "1.lst", die im selben Ordner ist geladen wird und eine zufallszahl davon geladen wird.

    Ist es so schwer den bereits vorhandenen Aufruf noch zu vervollständigen?

    ListBox1->Items->LoadFromFile("1.lst");
    

    die c++-b hilfe geht bei mir NOCH nicht!

    Was soll denn da nicht gehen? Die Hilfe wird immer mit installiert...

    bis bald
    akari



  • Und was willst du nun von uns wissen?

    Wies geht. Kannst du das irgenwtie einbaun?



  • Hallo

    MediaPlayer1->FileName="beam.wav";
        MediaPlayer1->Play();
    

    Und was gefällt dir daran nicht?

    bis bald
    akari



  • akari schrieb:

    Hallo

    MediaPlayer1->FileName="beam.wav";
        MediaPlayer1->Play();
    

    Und was gefällt dir daran nicht?

    bis bald
    akari

    ja WO gehört es hin?
    oder ist es eh schon an der richtigen position?
    und wo gehört der sound hin, wenn man es nicht erraten hat?

    und was ist an dem ausdruck falsch

    Label4->Caption="Es wäre "+Zufallswort + " gewesen.";
    


  • bin zwar nicht der profi aber vielleicht liegt es am "+" das fehlt doch ein leerzeichen oder?



  • Nein.
    Im Orginalcode fehlte das +. 🙂
    Leerzeichen zwischen Operatoren sind nicht unbedingt von Nöten.



  • Danke für die Hilfe!
    Bekomme aber noch einen Runtime-error. Also beim 9. Fehler kommt er.
    Also stimmt da was nicht:
    oder?

    if (Fehler==9)
    {

    StringGrid1->Visible=false;
    Label4->Caption="Es wäre "+Zufallswort + " gewesen.";

    MediaPlayer1->FileName="beam.wav";
    MediaPlayer1->Play();
    }



  • Generell würde ich ja sagen, nutze den Debugger. Aber in Deinem Fall solltest Du mal in der Hilfe von TMediaPlayer Dir die Methode Open() genauer anschauen. Da gibt es sogar ein Beispiel!!!

    Gruss



  • Kannst es mir ja sagen wies geht...

    in meinem ersten post:

    bitte helfen! danke vielmals!
    PS: die c++-b hilfe geht bei mir NOCH nicht!



  • imho kann man nicht effektiv ohne die Hilfe arbeiten. Deshalb hier ein Auszug:

    char sWinDir[255];
    
    GetWindowsDirectory(sWinDir, sizeof(sWinDir));
    MediaPlayer1->FileName = AnsiString(sWinDir) + "\\Clock.avi"; //specify video file
    MediaPlayer1->DeviceType = dtAVIVideo; //set Device compatibility to AVI
    MediaPlayer1->Display = Panel1; //Set display device to a TPanel
    MediaPlayer1->Open();
    MediaPlayer1->Play();
    

Log in to reply