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;
using System.IO;
using System.Media;
namespace Vocabulary
{
public partial class Form1 : Form
{
TimeSpan time = new TimeSpan();
static private Random losuj;
int[] Liczby = new int[4];
public List<string> listaPl = new List<string>(); //do przechowywania słówek polskich
public List<string> listaAng = new List<string>(); //do przechowywania słówek angielskich
public List<string> Bazy = new List<string>(); //do przechowywania posiadanych baz
private List<LinkLabel> listaLinkLabeliPltoAng = new List<LinkLabel>();
private List<LinkLabel> listaLinkLabeliWyborAngtoPl = new List<LinkLabel>();
private List<LinkLabel> listaLinkLabeliRozumienieZeSluchu = new List<LinkLabel>();
public int j;//zmienna odpowiedzialna, które słowo z listy wyświetlić
private int tlIndex=0;//zmienna odpowiedzialna za tłumaczenie,dyktando słów
public int zmiennaAudio = 0; //zmiena odpowiedzialna za to który dźwięk wyświetlić
public string sciezka;
string prawidlowaOdpowiedzWybor;
//incjalizacja*************incjalizacja********incjalizacja*************************************************************************
public Form1()
{
InitializeComponent();
this.MaximizeBox = false;
losuj = new Random(time.Seconds);
wczytajDostępneBazy(comboBox1); //ładujemy bazy do ComboBox1
Zrobiłem tak, ale dalej losuje te same odpowiedzi[indeksy]. Pokaże na screenach.
http://imageshack.us/photo/my-images/833/57070474.jpg/
http://imageshack.us/photo/my-images/109/73010733.jpg/
http://imageshack.us/photo/my-images/263/78963161.jpg/
//metoda wyświetlająca słowa do wyboru w tapPage
private void wyswietlWyborPltoAng(List<string> slowaAng, int zmiennaIndex, List<LinkLabel> listaLinkLabeli)
{
//losujemy indexy labeli bez powtórzeń
for (int i = 0; i < 4; ++i)
Liczby[i] = i;
for (int i = 3; i > 0; --i)
{
int p = losuj.Next(0, i);
if (i != p)
{
int t = Liczby[i]; Liczby[i] = Liczby[p]; Liczby[p] = t;
}
}
wyswietlWyborOdpowiedzi(slowaAng, zmiennaIndex, listaLinkLabeli);
}
private void wyswietlWyborOdpowiedzi(List<string> slowaAng, int zmiennaIndex, List<LinkLabel> listaLinkLabeli)
{
//losoujemy teraz trzy odpowiedzi.....................////////////////////// bez powtórzeń
int ile = slowaAng.Count;
int[] wylosowaneLiczby = new int[ile];
for (int i = 0; i < ile; i++)
{
wylosowaneLiczby[i] = i;
}
for (int i = ile - 1; i > ile - 4; --i)
{
int p = losuj.Next(0, ile);
if (i != p)
{
int t = wylosowaneLiczby[i]; wylosowaneLiczby[i] = wylosowaneLiczby[p]; wylosowaneLiczby[p] = t;
}
}
listaLinkLabeli[Liczby[0]].Text=slowaAng[wylosowaneLiczby[0]];
listaLinkLabeli[Liczby[1]].Text = slowaAng[wylosowaneLiczby[1]];
listaLinkLabeli[Liczby[2]].Text = slowaAng[wylosowaneLiczby[2]];
listaLinkLabeli[Liczby[3]].Text = slowaAng[zmiennaIndex];
for (int i = 0; i < 3; i++)//sprawdzamy aby odpowiedź nie powtórzyła się dwa razy
{
if (listaLinkLabeli[Liczby[i]].Text == slowaAng[zmiennaIndex])
listaLinkLabeli[Liczby[i]].Text = null;
}
}
Na czym wciąż polega błąd?