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"); } } }
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; }