So i am making a game in visual c#...the first stage is looking through the photos that are shown in a picturebox. I have written this code so far:
namespace FaceNameGame
{
public partial class LevelOnePartOne : Form
{
int m , piccount=0, k;
Random rd = new Random();
public string[] picturenames= new string[4];
public string[] links = new string[3];
string sourcePath = @"C:\Users\Marina\Desktop\FaceNameGame\images";
string targetPath = @"C:\Users\Marina\Desktop\FaceNameGame\images\used";
bool directoryexists = false;
string[] files = Directory.GetFiles(@"C:\Users\Marina\Desktop\FaceNameGame\images\", "*.jpg", SearchOption.AllDirectories);
public LevelOnePartOne()
{
InitializeComponent();
}
private void LevelOnePartOne_Load(object sender, EventArgs e)
{
ProceedBtn.Hide();
PreviousBtn.Hide();
if (!System.IO.Directory.Exists(targetPath))
{
System.IO.Directory.CreateDirectory(targetPath);
directoryexists = true;
}
Random rand = new Random();
string[] files = Directory.GetFiles(@"C:\Users\Marina\Desktop\FaceNameGame\images\", "*.jpg", SearchOption.AllDirectories);
for (m = 0; m < 3; m++)
{
Loop:
picturenames[m] = files[rand.Next(files.Length)];
string name1 = picturenames[m].ToString();
string name2 = name1.Substring(name1.LastIndexOf("\\"));
string name3 = name2.Remove(name2.Length - 4, 4);
string name = name3.Remove(0, 1);
string filename = name2.TrimStart('\\');
if (!IsDirectoryEmpty(targetPath))
{
if (File.Exists("C:\\Users\\Marina\\Desktop\\FaceNameGame\\images\\used\\" + filename))
{
goto Loop;
}
}
string sourceFile = System.IO.Path.Combine(sourcePath, filename);
string destFile = System.IO.Path.Combine(targetPath, filename);
System.IO.File.Copy(sourceFile, destFile, true);
}
ShowCurrentImage(0);
k = 1;
}
private void NextBtn_Click(object sender, EventArgs e)
{
piccount++;
if(piccount < 3)
{
if (k<3)
{
ShowCurrentImage(k);
k++;
}
}
if (piccount == 2)
{
NextBtn.Hide();
ProceedBtn.Show();
}
if (k > 0)
{
PreviousBtn.Show();
}
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
private void PhotoTemplatePicBx_Click(object sender, EventArgs e)
{
}
private void ProceedBtn_Click(object sender, EventArgs e)
{
LevelOnePartTwo lvltwoprttwo = new LevelOnePartTwo();
this.Hide();
lvltwoprttwo.Show();
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Escape)
{
this.Close();
if (directoryexists)
{
Directory.Delete(targetPath, true);
}
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
private void PreviousBtn_Click(object sender, EventArgs e)
{
if (k > 0 && k < 3)
{
ShowCurrentImage(k);
k--;
}
}
protected void ShowCurrentImage(int picindex)
{
string[] filestouse = Directory.GetFiles(@"C:\Users\Marina\Desktop\FaceNameGame\images\used\", "*.jpg", SearchOption.AllDirectories);
pictureBox1.Load(filestouse[picindex]);
string nameused1 = pictureBox1.ImageLocation.ToString();
string nameused2 = nameused1.Substring(nameused1.LastIndexOf("\\"));
string nameused3 = nameused2.Remove(nameused2.Length - 4, 4);
string nameused = nameused3.Remove(0, 1);
namelbl.Text = "Hello,my name is" + " " + nameused;
}
public bool IsDirectoryEmpty(string path)
{
string[] dirs = Directory.GetDirectories(path); string[] files = System.IO.Directory.GetFiles(path);
return dirs.Length == 0 && files.Length == 0;
}
}
}
everything works fine except the previous button...any ideas on how i can do it? Thanks in advance for you help...
Our community of experts have been thoroughly vetted for their expertise and industry experience.
The Distinguished Expert awards are presented to the top veteran and rookie experts to earn the most points in the top 50 topics.