Programmierung vom Schachbrett Canvas Probleme ???



  • Hallo

    ich habe ein Schachbrett mit c++ borland builder programmiert:

    //---------------------------------------------------------------------------
    #include <vcl\vcl.h>
    #pragma hdrstop

    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma resource "*.dfm"
    TForm1 Form1;
    float eins, zwei;
    float Breite, Hoehe, Schwarz;
    bool black = true;
    const int CMax=1;
    TColor Farbe2[CMax]=
    {
    clBlue
    };
    const int FMax=14;
    TColor Farbe [FMax]=
    {
    clBlack, clWhite, clLime, clAqua, clNavy, clGreen, clFuchsia, clRed, clPurple,
    clMaroon, clYellow, clOlive, clBlue, clGray
    };
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent
    Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    eins=StrToInt (Edit1->Text);
    zwei=StrToInt (Edit2->Text);
    Breite=ClientWidth/eins;
    Hoehe=ClientHeight/zwei;

    for(int x=0;x<ClientWidth;x+=Breite)
    {
    for(int y=0;y<ClientHeight;y+=Hoehe)
    {
    // Canvas->Brush->Color = Farben [random(FMax)];
    if (black == true){
    Canvas->Brush->Color = clBlack;
    black = false;
    }else{
    Canvas->Brush->Color = clWhite;
    black = true;
    }
    Canvas->Rectangle (x, y, x+Breite, y+Hoehe);
    Sleep(0);
    }
    }
    }

    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    Refresh ();
    }
    //---------------------------------------------------------------------------

    es funktioniert alles. Bis auf ein paar Fehler. Wenn ich in Edit2 eine ungerade
    Zahl eingebe dann wird kein Schachbrett konstuiert sondern irgendwelches andere Zeugs. Woran liegt das ??

    Dann habe ich noch eine andere Frage und zwar: Wie kann ich ein Schachbrett mit
    14 verschiedenen Farben programmieren bei dem nach jedem Kästchen immer eine
    andere Farbe kommt bzw. bei dem keine zwei gleichen Farben nebeneinander und auch nicht untereinander kommen ??

    Danke für eure Hilfe

    MFg

    metroid



  • ich stell da immer meine standardfrage: was ist ein form?
    stell deine Frage im BCB bereichd es Forums(du benutzt ja den bcb), da wird dir geholfen, hier stehen die chancen schlecht, dass dir jemand hilft, da hier nur über standard c++ geredet wird 🙂



  • Was willst du mit Sleep(0) bezwecken?



  • Mit Sleep 0 will ich garnichst bezwecken.



  • Mal ne andere Frage: Die Code-Tags unterhalb des Eingabefeldes sind dir nicht aufgefallen?



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Borland C++ Builder (VCL/CLX) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.




Log in to reply