|
With assigning PossibleValues to Jaggedarray without encountering Null Reference Exception.
|
|
|
|
|
If it is for a Sudoku I'm not sure from your code, how you'll implement it.
However I would use the following logic.
Create a 9x9 integer array which will be your playboard.
After that you'll need to create a "solved" sudoku (I think there is only one solution, not sure)
Somewhere on the internet you should be able to find how many digits you need where to be able to solve the soduku. Create a copy of the solution, remove the digits that are not necessary and voila, your sudoku is ready.
There is, in my opinion, no need for a jagged array.
Hope this helps.
V.
|
|
|
|
|
Actually, the user will input the numbers that are normally given in any Sudoku game,
once those numbers are entered, the computer will present the solution using If-Else logic throughout the game, calculating the possible numbers for each cell of the 9x9 grid.
|
|
|
|
|
That doesn't seem like a bad solution, but still no need for jagged array's, you need to use a fixed multidimensional array of 9x9.
V.
|
|
|
|
|
Hi All !
I have a pdf file, place in the debug directory (in any drive) . I want to open this file with any full path :
string appPath = Path.GetDirectoryName(Application.ExecutablePath);
Process.Start(appPath + "\\Debug\\HelpFile.pdf");
But I have an error that can not file file ,
pl z help me !
thanks in advance !
|
|
|
|
|
Message Removed
modified 8-May-12 16:18pm.
|
|
|
|
|
@"..\Debug\HelpFile.pdf");
It's works !
Thanks in advance!
Regards !
|
|
|
|
|
Yeah, but when you deploy the application in production, it'll fail! Unless you have the Debug folder created when you install the application, BOOM!
|
|
|
|
|
|
thanx ! 
|
|
|
|
|
How do you create and link multiple forms in c#?
|
|
|
|
|
Could you be more specific? Link the forms to what? Are these different forms, or multiple forms of the same type?
Basically, tell us what scenario you are trying to satisfy here, and tell us what code you currently have. Without this, we can only guess what you really want, and could steer you in completely the wrong direction.
|
|
|
|
|
Form1 form = new Form1();
form.ShowDialog();
|
|
|
|
|
FORM1 FR = NEW FORM1;
FR.SHOW();
|
|
|
|
|
Been stuck with this for too long now and thought I ask for help. From reading a bunch of threads this seems trivial for you guys. I am not on some homework, just doing it out of self interest following a tutorial at csharpskolan.se
I do know how to make a windows form to generate a number using two numericUpDown boxes but I though I try make a dice program and pick the number of sides out of a comboBox. I have added 3 sided dice, 4 sided dice and so on using the design mode but I do not know how to put the value (1, 4) to the 3 sided dice selection for example.
Feels like I am getting stuck making the method, to call it depending on how many times I want to roll the 3 sided dice. I am going to have the output to a richTextBox.
What I am using is a comboBox(dice sides), textBox(number of times to roll), richTextBox(to diplay the value) and a button to generate it.
This is what I got after redoing it so many times.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Dice
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
richTextBox1.Clear();
var random = new RollDice();
}
}
public class RollDice
{
public int RandomDice(Int32 numberOfSides, Int32 numberOfTimes)
{
Random rndGen = new Random();
for (int i = 0; i < numberOfSides; i++);
int randomT3;
int randomT4;
int randomT5;
int randomT6;
randomT3 = rndGen.Next(1, 4);
randomT4 = rndGen.Next(1, 5);
randomT5 = rndGen.Next(1, 6);
randomT6 = rndGen.Next(1, 7);
}
}
}
modified 8-May-12 8:35am.
|
|
|
|
|
Here you go.
public static int RandomDice(Int32 numberOfSides, Int32 numberOfTimes)
{
int total = 0;
Random rndGen = new Random();
for (int i = 0; i < numberOfTimes; i++)
{
total = total + rndGen.Next(1, numberOfSides + 1);
}
return total;
}
|
|
|
|
|
Thanks a bunch, now it makes sence. I have been staring myself blind at this. I added a piece of code to the random but I am unsure what it does.
Random rndGen = new Random((int)DateTime.Now.Ticks);
To keep the precision on "random"?
|
|
|
|
|
I'm just guessing here but I think that's a seed value. And probably unnecessary since I guess the parameterless constructor does something similar anyway.
|
|
|
|
|
|
I don't think I got that. I have a comboBox and added 3 sided dice, 4 sided dice etc. using, skipped the design mode and just put it into the form, the code now looks like this.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Dice
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
comboBox1.Items.Add("3 sided die");
comboBox1.Items.Add("4 sided die");
comboBox1.Items.Add("5 sided die");
comboBox1.Items.Add("6 sided die");
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Value";
}
private void button1_Click(object sender, EventArgs e)
{
richTextBox1.Clear();
var random = new RollDice();
var dice =
int result;
result = ();
richTextBox1.Text = (result).ToString();
}
}
public class RollDice
{
public static int RandomDice(Int32 numberOfSides, Int32 numberOfTimes)
{
int total = 0;
Random rndGen = new Random((int)DateTime.Now.Ticks);
for (int i = 0; i < numberOfTimes; i++)
{
total = total + rndGen.Next(1, numberOfSides + 1);
}
return total;
}
}
}
I am unsure how to assign "3 sided die" the value of 3, on my button click take the selected value in the comboBox1 (numberOfSides) + (numberOfTimes) from my textBox1 and call the method.
Some code in here is incomplete, the call method part and comboBox items has 0 value
|
|
|
|
|
Don't use the designer to set the values.
|
|
|
|
|
I did not use the designer, that first sentence looked a bit weird, remove "using". I ment I skipped the designer and made the code for the combobox in the form, the code I pasted above.
Don't really know how to do this, assign each dropdown a value, get the value depending on what is selected + the number of times of course that is typed to roll in the textBox1.
Never used a comboBox before.
modified 9-May-12 9:16am.
|
|
|
|
|
Ah. Don't put string literals in the ComboBox; put enumerated values in.
|
|
|
|
|
Something like this?
public Form1()
{
InitializeComponent();
ComboBox combo = new ComboBox();
combo.DataSource = Enum.GetValues(typeof(DiceValue));
}
public enum DiceValue
{
("3 sided die") = 3,
("4 sided die") = 4,
("5 sided die") = 5,
("6 sided die") = 6,
}
Gives me an error in the enum "Identifier" expected.
Commented out my last population of the comboBox if I still need to use that. Not sure if I am on the right track here.
Then if I use a enum I need to change my button that is
private void button1_Click(object sender, EventArgs e)
to a private enum?
This comboBox really made me pull some hairs but you need to learn somewhere 
|
|
|
|
|
Well you can't write an enumeration that way, but that's the idea. Did you read the article I linked to?
|
|
|
|