private void button4_Click(object sender, EventArgs e)
        {
            if (builder.getHint() == null)
            {
                MessageBox.Show("There is no hint");
            }
            else
            {
                if (currentHint < builder.getHint().Count)
                {
                    Graphics g       = this.CreateGraphics();
                    Sprite2  sprite2 = new Sprite2(builder.getIndexedHint(currentHint).getLocX(), builder.getIndexedHint(currentHint).getLocY(), 60, builder.hintPuzzleList[currentHint]);

                    int x = 0;

                    for (int i = 0; x < length; i++)
                    {
                        if (sprite1[i].getLocX() == builder.getIndexedHint(currentHint).oldX&& sprite1[i].getLocY() == builder.getIndexedHint(currentHint).oldY)
                        {
                            selectedPiece = i;
                            sprite1[selectedPiece].chooseSelected(true);
                            Invalidate();

                            sprite1[selectedPiece].setLocX(builder.getIndexedHint(currentHint).getLocX());
                            sprite1[selectedPiece].setLocY(builder.getIndexedHint(currentHint).getLocY());
                            sprite1[selectedPiece].isMovable = false;
                            Region rgn = new Region(sprite1[selectedPiece].gp);
                            rgn.Union(sprite1[selectedPiece].gp);
                            Invalidate(rgn, false);
                            panel1.Invalidate();

                            sprite1[selectedPiece].draw(g);


                            x = 30;
                        }
                        x++;
                    }
                    currentHint++;
                }

                else
                {
                    MessageBox.Show("You have no more hint");
                }
            }
        }
Beispiel #2
0
 public void initializePuzzle(int level, Graphics g)
 {
     this.level = level;
     mapBuilder = new MapBuilder(level);
     int[,] map = mapBuilder.getMapArray();
     mapSprite  = new MapSprite(level, g);               // init MapSprite
     pieces     = mapBuilder.getInventoryPuzzlePieces(); // init pieces
     hints      = mapBuilder.getHint();                  // init hints
     stopwatch.Start();
     numberOfMoves = 0;
     boardHeight   = 5;
     boardWidth    = 11;
     currentHint   = 1;
 }