You can now choose not to see the answers and try to play
This commit is contained in:
Generated
+55
-6
@@ -31,6 +31,10 @@
|
|||||||
this.lsbFiles = new System.Windows.Forms.ListBox();
|
this.lsbFiles = new System.Windows.Forms.ListBox();
|
||||||
this.btnImportFiles = new System.Windows.Forms.Button();
|
this.btnImportFiles = new System.Windows.Forms.Button();
|
||||||
this.nonogramme1 = new NonoGramme.Nonogramme();
|
this.nonogramme1 = new NonoGramme.Nonogramme();
|
||||||
|
this.btnShow = new System.Windows.Forms.Button();
|
||||||
|
this.btnSubmit = new System.Windows.Forms.Button();
|
||||||
|
this.btnResolve = new System.Windows.Forms.Button();
|
||||||
|
this.btnSave = new System.Windows.Forms.Button();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.nonogramme1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.nonogramme1)).BeginInit();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
@@ -38,17 +42,17 @@
|
|||||||
//
|
//
|
||||||
this.lsbFiles.FormattingEnabled = true;
|
this.lsbFiles.FormattingEnabled = true;
|
||||||
this.lsbFiles.ItemHeight = 16;
|
this.lsbFiles.ItemHeight = 16;
|
||||||
this.lsbFiles.Location = new System.Drawing.Point(418, 12);
|
this.lsbFiles.Location = new System.Drawing.Point(568, 12);
|
||||||
this.lsbFiles.Name = "lsbFiles";
|
this.lsbFiles.Name = "lsbFiles";
|
||||||
this.lsbFiles.Size = new System.Drawing.Size(204, 356);
|
this.lsbFiles.Size = new System.Drawing.Size(309, 308);
|
||||||
this.lsbFiles.TabIndex = 1;
|
this.lsbFiles.TabIndex = 1;
|
||||||
this.lsbFiles.SelectedIndexChanged += new System.EventHandler(this.lsbFiles_SelectedIndexChanged);
|
this.lsbFiles.SelectedIndexChanged += new System.EventHandler(this.lsbFiles_SelectedIndexChanged);
|
||||||
//
|
//
|
||||||
// btnImportFiles
|
// btnImportFiles
|
||||||
//
|
//
|
||||||
this.btnImportFiles.Location = new System.Drawing.Point(418, 374);
|
this.btnImportFiles.Location = new System.Drawing.Point(568, 326);
|
||||||
this.btnImportFiles.Name = "btnImportFiles";
|
this.btnImportFiles.Name = "btnImportFiles";
|
||||||
this.btnImportFiles.Size = new System.Drawing.Size(204, 36);
|
this.btnImportFiles.Size = new System.Drawing.Size(309, 36);
|
||||||
this.btnImportFiles.TabIndex = 2;
|
this.btnImportFiles.TabIndex = 2;
|
||||||
this.btnImportFiles.Text = "Import";
|
this.btnImportFiles.Text = "Import";
|
||||||
this.btnImportFiles.UseVisualStyleBackColor = true;
|
this.btnImportFiles.UseVisualStyleBackColor = true;
|
||||||
@@ -59,17 +63,58 @@
|
|||||||
this.nonogramme1.GridSize = new System.Drawing.Size(0, 0);
|
this.nonogramme1.GridSize = new System.Drawing.Size(0, 0);
|
||||||
this.nonogramme1.Location = new System.Drawing.Point(12, 12);
|
this.nonogramme1.Location = new System.Drawing.Point(12, 12);
|
||||||
this.nonogramme1.Name = "nonogramme1";
|
this.nonogramme1.Name = "nonogramme1";
|
||||||
this.nonogramme1.Size = new System.Drawing.Size(400, 400);
|
this.nonogramme1.Size = new System.Drawing.Size(550, 550);
|
||||||
this.nonogramme1.TabIndex = 0;
|
this.nonogramme1.TabIndex = 0;
|
||||||
this.nonogramme1.TabStop = false;
|
this.nonogramme1.TabStop = false;
|
||||||
this.nonogramme1.Click += new System.EventHandler(this.nonogramme1_Click);
|
this.nonogramme1.Click += new System.EventHandler(this.nonogramme1_Click);
|
||||||
this.nonogramme1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.nonogramme1_MouseDown);
|
this.nonogramme1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.nonogramme1_MouseDown);
|
||||||
//
|
//
|
||||||
|
// btnShow
|
||||||
|
//
|
||||||
|
this.btnShow.Location = new System.Drawing.Point(568, 368);
|
||||||
|
this.btnShow.Name = "btnShow";
|
||||||
|
this.btnShow.Size = new System.Drawing.Size(309, 36);
|
||||||
|
this.btnShow.TabIndex = 3;
|
||||||
|
this.btnShow.Text = "Show answer";
|
||||||
|
this.btnShow.UseVisualStyleBackColor = true;
|
||||||
|
this.btnShow.Click += new System.EventHandler(this.btnShow_Click);
|
||||||
|
//
|
||||||
|
// btnSubmit
|
||||||
|
//
|
||||||
|
this.btnSubmit.Location = new System.Drawing.Point(568, 410);
|
||||||
|
this.btnSubmit.Name = "btnSubmit";
|
||||||
|
this.btnSubmit.Size = new System.Drawing.Size(309, 36);
|
||||||
|
this.btnSubmit.TabIndex = 4;
|
||||||
|
this.btnSubmit.Text = "Submit";
|
||||||
|
this.btnSubmit.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// btnResolve
|
||||||
|
//
|
||||||
|
this.btnResolve.Location = new System.Drawing.Point(568, 452);
|
||||||
|
this.btnResolve.Name = "btnResolve";
|
||||||
|
this.btnResolve.Size = new System.Drawing.Size(309, 36);
|
||||||
|
this.btnResolve.TabIndex = 5;
|
||||||
|
this.btnResolve.Text = "AutoResolve";
|
||||||
|
this.btnResolve.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// btnSave
|
||||||
|
//
|
||||||
|
this.btnSave.Location = new System.Drawing.Point(568, 494);
|
||||||
|
this.btnSave.Name = "btnSave";
|
||||||
|
this.btnSave.Size = new System.Drawing.Size(309, 36);
|
||||||
|
this.btnSave.TabIndex = 6;
|
||||||
|
this.btnSave.Text = "Save as new .non";
|
||||||
|
this.btnSave.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
// Form1
|
// Form1
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(634, 422);
|
this.ClientSize = new System.Drawing.Size(889, 572);
|
||||||
|
this.Controls.Add(this.btnSave);
|
||||||
|
this.Controls.Add(this.btnResolve);
|
||||||
|
this.Controls.Add(this.btnSubmit);
|
||||||
|
this.Controls.Add(this.btnShow);
|
||||||
this.Controls.Add(this.btnImportFiles);
|
this.Controls.Add(this.btnImportFiles);
|
||||||
this.Controls.Add(this.lsbFiles);
|
this.Controls.Add(this.lsbFiles);
|
||||||
this.Controls.Add(this.nonogramme1);
|
this.Controls.Add(this.nonogramme1);
|
||||||
@@ -87,6 +132,10 @@
|
|||||||
private Nonogramme nonogramme1;
|
private Nonogramme nonogramme1;
|
||||||
private System.Windows.Forms.ListBox lsbFiles;
|
private System.Windows.Forms.ListBox lsbFiles;
|
||||||
private System.Windows.Forms.Button btnImportFiles;
|
private System.Windows.Forms.Button btnImportFiles;
|
||||||
|
private System.Windows.Forms.Button btnShow;
|
||||||
|
private System.Windows.Forms.Button btnSubmit;
|
||||||
|
private System.Windows.Forms.Button btnResolve;
|
||||||
|
private System.Windows.Forms.Button btnSave;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+8
-1
@@ -20,7 +20,6 @@ namespace NonoGramme
|
|||||||
public Form1()
|
public Form1()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
NewGame();
|
|
||||||
}
|
}
|
||||||
private void NewGame()
|
private void NewGame()
|
||||||
{
|
{
|
||||||
@@ -31,6 +30,7 @@ namespace NonoGramme
|
|||||||
private void Form1_Load(object sender, EventArgs e)
|
private void Form1_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
//ScaleUi();
|
//ScaleUi();
|
||||||
|
NewGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Form1_Resize(object sender, EventArgs e)
|
private void Form1_Resize(object sender, EventArgs e)
|
||||||
@@ -52,6 +52,7 @@ namespace NonoGramme
|
|||||||
private void RefreshUi()
|
private void RefreshUi()
|
||||||
{
|
{
|
||||||
nonogramme1.Refresh();
|
nonogramme1.Refresh();
|
||||||
|
//ScaleUi();
|
||||||
}
|
}
|
||||||
private void button1_Click(object sender, EventArgs e)
|
private void button1_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@@ -98,5 +99,11 @@ namespace NonoGramme
|
|||||||
nonogramme1.CursorClick(nonogramme1.PointToClient(MousePosition));
|
nonogramme1.CursorClick(nonogramme1.PointToClient(MousePosition));
|
||||||
RefreshUi();
|
RefreshUi();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void btnShow_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
nonogramme1.ToggleSolution();
|
||||||
|
RefreshUi();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+20
-2
@@ -23,6 +23,7 @@ namespace NonoGramme
|
|||||||
private Line[] _horizontalLines;
|
private Line[] _horizontalLines;
|
||||||
private Line[] _verticalLines;
|
private Line[] _verticalLines;
|
||||||
|
|
||||||
|
private bool _showSolution;
|
||||||
private Point _gridOffset;
|
private Point _gridOffset;
|
||||||
private Size _drawedBlocSize;
|
private Size _drawedBlocSize;
|
||||||
|
|
||||||
@@ -36,6 +37,7 @@ namespace NonoGramme
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Size DrawedBlocSize { get => _drawedBlocSize; set => _drawedBlocSize = value; }
|
public Size DrawedBlocSize { get => _drawedBlocSize; set => _drawedBlocSize = value; }
|
||||||
|
public bool ShowSolution { get => _showSolution; set => _showSolution = value; }
|
||||||
|
|
||||||
public Grid(Size size)
|
public Grid(Size size)
|
||||||
{
|
{
|
||||||
@@ -43,6 +45,7 @@ namespace NonoGramme
|
|||||||
HorizontalLines = new Line[size.Height];
|
HorizontalLines = new Line[size.Height];
|
||||||
VerticalLines = new Line[size.Width];
|
VerticalLines = new Line[size.Width];
|
||||||
GridOffset = new Point(-1,-1);
|
GridOffset = new Point(-1,-1);
|
||||||
|
ShowSolution = false;
|
||||||
Populate();
|
Populate();
|
||||||
}
|
}
|
||||||
public Grid(string filePath)
|
public Grid(string filePath)
|
||||||
@@ -252,7 +255,8 @@ namespace NonoGramme
|
|||||||
}
|
}
|
||||||
public Bitmap Draw(Bitmap UI,Point offset)
|
public Bitmap Draw(Bitmap UI,Point offset)
|
||||||
{
|
{
|
||||||
RefreshGrid();
|
//We dont want the hints to update dynamically
|
||||||
|
//RefreshGrid();
|
||||||
|
|
||||||
Size actualSize = new Size(UI.Width - offset.X, UI.Height - offset.Y);
|
Size actualSize = new Size(UI.Width - offset.X, UI.Height - offset.Y);
|
||||||
Size blocSize = new Size(actualSize.Width/GridSize.Width,actualSize.Height/GridSize.Height);
|
Size blocSize = new Size(actualSize.Width/GridSize.Width,actualSize.Height/GridSize.Height);
|
||||||
@@ -293,7 +297,14 @@ namespace NonoGramme
|
|||||||
switch (tile.CurrentState)
|
switch (tile.CurrentState)
|
||||||
{
|
{
|
||||||
case Tile.State.Full:
|
case Tile.State.Full:
|
||||||
g.FillRectangle(new SolidBrush(DEFAULT_FULL_COLOR),new Rectangle(position,blocSize));
|
if (ShowSolution)
|
||||||
|
{
|
||||||
|
g.FillRectangle(new SolidBrush(DEFAULT_FULL_COLOR), new Rectangle(position, blocSize));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g.FillRectangle(new SolidBrush(DEFAULT_DISCOVERED_COLOR), new Rectangle(position, blocSize));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case Tile.State.Empty:
|
case Tile.State.Empty:
|
||||||
g.FillRectangle(new SolidBrush(DEFAULT_EMPTY_COLOR), new Rectangle(position, blocSize));
|
g.FillRectangle(new SolidBrush(DEFAULT_EMPTY_COLOR), new Rectangle(position, blocSize));
|
||||||
@@ -302,7 +313,14 @@ namespace NonoGramme
|
|||||||
g.FillRectangle(new SolidBrush(DEFAULT_DISCOVERED_COLOR), new Rectangle(position, blocSize));
|
g.FillRectangle(new SolidBrush(DEFAULT_DISCOVERED_COLOR), new Rectangle(position, blocSize));
|
||||||
break;
|
break;
|
||||||
case Tile.State.Undiscovered:
|
case Tile.State.Undiscovered:
|
||||||
|
if (ShowSolution)
|
||||||
|
{
|
||||||
g.FillRectangle(new SolidBrush(DEFAULT_UNDISCOVERED_COLOR), new Rectangle(position, blocSize));
|
g.FillRectangle(new SolidBrush(DEFAULT_UNDISCOVERED_COLOR), new Rectangle(position, blocSize));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g.FillRectangle(new SolidBrush(DEFAULT_EMPTY_COLOR), new Rectangle(position, blocSize));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
g.FillRectangle(new SolidBrush(DEFAULT_ERROR_COLOR), new Rectangle(position, blocSize));
|
g.FillRectangle(new SolidBrush(DEFAULT_ERROR_COLOR), new Rectangle(position, blocSize));
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ namespace NonoGramme
|
|||||||
{
|
{
|
||||||
Data[i] = new Tile();
|
Data[i] = new Tile();
|
||||||
}
|
}
|
||||||
|
|
||||||
RecalculateHints();
|
RecalculateHints();
|
||||||
}
|
}
|
||||||
public string GetHorizontalHints()
|
public string GetHorizontalHints()
|
||||||
|
|||||||
@@ -38,5 +38,9 @@ namespace NonoGramme
|
|||||||
{
|
{
|
||||||
GameGrid.Click(position);
|
GameGrid.Click(position);
|
||||||
}
|
}
|
||||||
|
public void ToggleSolution()
|
||||||
|
{
|
||||||
|
GameGrid.ShowSolution = !GameGrid.ShowSolution;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user