You are on page 1of 7

ETEC TABOÃO DA SERRA

TÉCNICO EM DESENVOLVIMENTO DE SISTEMAS

VITOR FORCASSIN E TALES JARDIM

“TAREFA DO JOGO DA MEMÓRIA”

Taboão da Serra, SP
2023
I. CÓDIGO DO PROGRAMA

/*
* Created by SharpDevelop.
* User: RM20232930025 E RM20232930097
* Date: 11/09/2023
* Time: 14:33
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace Jogo_Da_Memoria_2023
{
/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
public MainForm()
{

InitializeComponent();

}
int [] tempo = new int[4];
int contclicks2;
int[] Num_aleatorios = new int[16];
Random rnd = new Random();
string[] animais = {"Boomerang","Branquinha", "Gêmeos", "Bomb", "Rosinha", "Pig", "Chuck",
"Red"};

void Button1Click(object sender, EventArgs e)


{
timer1.Enabled = true;
contclicks2 = 0;
contclicks = 0;
label1.Text = ("Clicks:" + contclicks2);
button1.Visible = false;
button2.Visible = true;
label1.Visible = true;
label2.Visible = true;
button2.Enabled = false;
listBox1.Items.Clear();
tempo[0] = 0;
tempo[1] = 0;
tempo[2] = 0;
tempo[3] = 0;
for(int i = 0; i <= 7;i++)
{
listBox1.Items.Add(i);
listBox1.Items.Add(i);
}

for(int i = 0; i < 16; i++)


{
int num_linha = rnd.Next(0,listBox1.Items.Count);
Num_aleatorios[i] = int.Parse(listBox1.Items[num_linha].ToString());
listBox1.Items.RemoveAt(num_linha);
}

for(int i = 0; i < 16; i++)


{
int numero = Num_aleatorios[i];
listBox1.Items.Add(numero);
}

PictureBox [] fotos = {pictureBox32, pictureBox31, pictureBox30, pictureBox29, pictureBox28,


pictureBox27, pictureBox26, pictureBox25,
pictureBox24, pictureBox23, pictureBox22, pictureBox21, pictureBox20, pictureBox19,
pictureBox18, pictureBox17};

listBox1.Items.Clear();
this.BackgroundImage = Image.FromFile("Design_botão.png");
this.BackColor = Color.White;

for(int i = 0; i < 16; i++)


{
int numero = Num_aleatorios[i];
listBox1.Items.Add(numero);
fotos[i].Tag = i;
fotos[i].Visible = true;
fotos[i].Enabled = true;
fotos[i].Load("Lucky2.png");
}

PictureBox clickAtual, clickAnterior;


int contclicks = 0;
int points = 0;
void PictureBoxClick(object sender, EventArgs e)
{
contclicks++;
contclicks2++;
label1.Text = ("Clicks:" + contclicks2);
int posicao = 0;
if(contclicks == 1)
{
clickAtual = (sender as PictureBox);
posicao = (int) clickAtual.Tag; //"serve para conversão de object para int"//
clickAtual.Load(animais[Num_aleatorios[posicao]] + ".png");
}
if(contclicks == 2)
{
clickAnterior = clickAtual;
int posicaoAnt = (int) clickAnterior.Tag;
clickAtual = (sender as PictureBox);
posicao = (int) clickAtual.Tag;
clickAtual.Load(animais[Num_aleatorios[posicao]] + ".png");
if(Num_aleatorios[posicao] == Num_aleatorios[posicaoAnt] && posicao != posicaoAnt)
//verifica se deu par
{
points++;
contclicks = 0;
clickAtual.Enabled = false;
clickAnterior.Enabled = false;
if(points == 8)
{
points = 0;
button2.Enabled = true;
timer1.Enabled = false;
MessageBox.Show("O jogo acabou, click no botão 'Play' para recomeçar.");
}
}
}
if(contclicks == 3)
{
//desvira as cartas
clickAtual.Load("Lucky2.png");
clickAnterior.Load("Lucky2.png");
//reinicia
clickAtual = (sender as PictureBox);
posicao = (int) clickAtual.Tag;
clickAtual.Load(animais[Num_aleatorios[posicao]] + ".png");
contclicks = 1;
}
}
void Timer1Tick(object sender, EventArgs e)
{
tempo[0]++;
if(tempo[0] == 10)
{
tempo[0] = 0;
tempo[1]++;
}

if(tempo [1] == 6)
{
tempo[1] = 0;
tempo[2]++;
}

if(tempo [2] == 10)


{
tempo[2] = 0;
tempo[3]++;
}

if(tempo [3] == 6)
{
tempo[3] = 0;
}
label2.Text = "Tempo: " + tempo[3].ToString() + tempo[2].ToString() + ":" +
tempo[1].ToString() + tempo[0].ToString();
}

}
}

II. PRINTS DO PROGRAMA RODANDO

You might also like