Есть игра "Найди элементы на картинке" есть две разных картинки,где нужно искать элементы.
Получается что нужно как то сделать рейтинг,но у меня не получается
Суть такова: у меня не получается посчитать их время прохождения (у таймера обратный отсчет,т.е. с 3-х минут). И тут есть проблемы. Нужно как то посчитать за какое время они нашли все предметы и нужно запоминать каждую игру! (чтобы потом в дальнейшем выводить результат каждой игры)
Вот код всего процесса:
public Form3()
{
InitializeComponent();
objects = new List<MapObject>();
objects.Add(new MapObject()
{
Name = "Парусник",
X = 180,
Y = 34,
Width = 27,
Height = 37
});
objects.Add(new MapObject()
{
Name = "Пароход",
X = 304,
Y = 20,
Width = 49,
Height = 19
});
objects.Add(new MapObject()
{
Name = "Кактус",
X = 369,
Y = 127,
Width = 11,
Height = 20
});
objects.Add(new MapObject()
{
Name = "Лошадь",
X = 336,
Y = 80,
Width = 18,
Height = 18
});
objects.Add(new MapObject()
{
Name = "Дирижер",
X = 228,
Y = 156,
Width = 17,
Height = 19
});
objects.Add(new MapObject()
{
Name = "Мяч",
X = 213,
Y = 261,
Width = 20,
Height = 20
});
}
List<MapObject> objects;
private void Timer1_Tick(object sender, EventArgs e)
{
tk = --i;
TimeSpan span = TimeSpan.FromSeconds(tk);
string label = span.ToString(@"mm\:ss");
label1.Text = label.ToString();
if (i <= 0)
{
label9.Visible = true;
label1.Visible = false;
timer1.Stop();
pictureBox1.Visible = false;
pictureBox2.Visible = true;
}
}
int i;
int tk;
string c;
private void Button2_Click(object sender, EventArgs e)
{
button2.Visible = false;
pictureBox1.Visible = true;
i = 180;
c = "3:00";
label1.Text = c;
timer1.Interval = 1000;
timer1.Enabled = true;
timer1.Start();
}
private void PictureBox1_MouseClick(object sender, MouseEventArgs e)
{
int currentX = e.X;
int currentY = e.Y;
bool FindSome = false;
for (int i = 0; i < objects.Count; i++)
{
if (currentX > (objects[i].X - objects[i].Width / 2) & currentX < (objects[i].X + objects[i].Width / 2)
& currentY > (objects[i].Y - objects[i].Height / 2) & currentY < (objects[i].Y + objects[i].Height / 2))
{
MessageBox.Show("Вы нашли слово : " + objects[i].Name);
objects[i].IsClicked = true;
FindSome = true;
}
}
if (!FindSome) TimeDec();
if (IsAllClicked())
{
label8.Visible = true;
label1.Visible = false;
timer1.Stop();
pictureBox1.Visible = false;
pictureBox2.Visible = false;
}
}
private void TimeDec()
{
MessageBox.Show("Никуда не попали");
i -= 5;
}
private bool IsAllClicked()
{
bool AllObjectsClicked = true;
foreach (MapObject item in objects)
{
if (!item.IsClicked)
{
AllObjectsClicked = false; break;
}
}
return AllObjectsClicked;
}
вот код из класса(mapobject):class MapObject
{
public string Name;
public int X;
public int Y;
public int Width;
public int Height;
public bool IsClicked = false;
}