Mineswepper

  • C++

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Guten Tag,

    Hat einer lust mit mir Mineswepper zu programmieren in C++ ? Die Anfänge und so hätt ich dazu, vielleicht hat ja einer lust der auch schon ein wenig ahnung von c++ hat...

    LG nentor
  • Guten Abend,

    Hmmm, weiß nicht genau was es ist, bin noch net der Experte in C++.
    Kann dir hier aber schonmal einen auschnitt zeigen den ich habe!

    C-Quellcode

    1. //---------------------------------------------------------------------------
    2. #include <vcl.h>
    3. #pragma hdrstop
    4. #include "Unit1.h"
    5. //---------------------------------------------------------------------------
    6. #pragma package(smart_init)
    7. #pragma resource "*.dfm"
    8. TForm1 *Form1;
    9. //---------------------------------------------------------------------------
    10. __fastcall TForm1::TForm1(TComponent* Owner)
    11. : TForm(Owner)
    12. {
    13. }
    14. //---------------------------------------------------------------------------
    15. void TForm1::ShowMatrix(){
    16. Image1->Width=ANZ*10;
    17. Image1->Height=ANZ*10;
    18. for(int y=0;y<ANZ;y++)
    19. for(int x=0;x<ANZ;x++){
    20. if((feld[x][y]&1)==1)
    21. Image1->Canvas->Brush->Color=clRed;
    22. else
    23. Image1->Canvas->Brush->Color=clBlue;
    24. Image1->Canvas->Rectangle(x*10,y*10,(x+1)*10,(y+1)*10);
    25. if((feld[x][y]&2)==2)
    26. {
    27. int anz=MinenZaehl(x,y);
    28. Image1->Canvas->TextOutA(x*10,y*10,String(anz));
    29. }
    30. };
    31. };
    32. void __fastcall TForm1::Button1Click(TObject *Sender)
    33. {
    34. Minenverteilen(20);
    35. ShowMatrix();
    36. }
    37. //---------------------------------------------------------------------------
    38. void __fastcall TForm1::FormCreate(TObject *Sender)
    39. {
    40. randomize();
    41. for(int i=0;i<ANZ;i++)
    42. for(int a=0;a<ANZ;a++)
    43. feld[a][i]=0;
    44. }
    45. //---------------------------------------------------------------------------
    46. void __fastcall TForm1::Image1MouseDown(TObject *Sender,
    47. TMouseButton Button, TShiftState Shift, int X, int Y)
    48. {
    49. int x=X/10;
    50. int y=Y/10;
    51. feld[x][y]=feld[x][y]|2;
    52. ShowMatrix();
    53. }
    54. //---------------------------------------------------------------------------
    55. void TForm1::Minenverteilen(int anz)
    56. {
    57. for (int a=0;a<anz ;a++)
    58. {
    59. int x,y;
    60. do
    61. {
    62. x=random(ANZ);
    63. y=random(ANZ);
    64. }while((feld[x][y]&1)==1);
    65. feld[x][y]=1;
    66. }
    67. }
    68. int TForm1::MinenZaehl(int x,int y)
    69. {
    70. int anz=0;
    71. for (int xoff=-1;xoff<=1 ;xoff++)
    72. for (int yoff=-1;yoff<=1 ;yoff++)
    73. {
    74. if(x+xoff<0 || x+xoff>=ANZ) continue;
    75. if(y+yoff<0 || y+yoff>=ANZ) continue;
    76. if(yoff==0 && xoff==0) continue;
    77. if((feld[x+xoff][y+yoff]&1)==1)
    78. anz++;
    79. }
    80. return anz;
    81. }
    Alles anzeigen


    LG Nentor