Problem wygląda tak - w klasie Ludzie tworzę nową losową - wybiera liczbę losową. Potem w klasie Dodatki tworzę kolejną losową, tylko ta zawsze przyjmuje wartość identyczną do tej w klasie Ludzie, i vice versa. Dlaczego tak się dzieje, i jak to naprawić?
Bardziej interesująca jest już druga część kodu (klasy Ludzie i Dodatki);
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Ludzie lud = new Ludzie();
Dodatki dod = new Dodatki();
string l = lud.returnLudzie();
string d = dod.returnDodatek();
MessageBox.Show(l + " " + d + " ");
}
private void button1_Click(object sender, EventArgs e)
{
Ludzie lud = new Ludzie();
Dodatki dod = new Dodatki();
string l = lud.returnLudzie();
string d = dod.returnDodatek();
textBox2.Text = textBox2.Text + (l + " " + d);
}
private void button3_Click(object sender, EventArgs e)
{
//tu coś bedzie
}
}
class Ludzie
{
const string ludzie = "data/lud.txt";
private int _numberOfLines(string path)
{
int lineCount = File.ReadAllLines(path).Length;
return lineCount;
}
public string returnLudzie()
{
Random l = new Random();
int b = l.Next(0, _numberOfLines(ludzie));
string[] lud = File.ReadAllLines(ludzie);
return lud[b];
}
}
class Dodatki
{
const string dodatki = "data/dod.txt";
private int _numberOfLines(string path)
{
int lineCount = File.ReadAllLines(path).Length;
return lineCount;
}
public string returnDodatek()
{
Random r = new Random();
int a = r.Next(0, _numberOfLines(dodatki));
string[] dod = File.ReadAllLines(dodatki);
return dod[a];
}
}