@@ -14,7 +14,7 @@
namespace Main
{
public partial class MainGameUI : Form
{
{
public MainGameUI()
{
InitializeComponent();
@@ -24,7 +24,6 @@ public MainGameUI()
tirednessBar.Value = Pet.Tiredness;
hygeneBar.Value = Pet.Hygene;
funBar.Value = Pet.Fun;
Pet.SleepFlag = false;
}

// Happy animation.
@@ -69,7 +68,19 @@ private void FoodMenuVisibility(bool visibility)
private void MainGameUI_FormClosing(object sender, FormClosingEventArgs e)
{
Pet.SaveGame();
Application.Exit();
Pet.Hunger = 3;
Pet.Hygene = 3;
Pet.Tiredness = 3;
Pet.Fun = 3;
}

// Quit with Esc key.
private void MainGameUI_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue.ToString() == "27")
{
this.Close();
}
}

// Feeding.
@@ -118,7 +129,7 @@ private void Feed(string type)
string food1 = type + "1";
string food2 = type + "2";
string food3 = type + "3";

foodPictureBox.Image = (Image)Properties.Resources.ResourceManager.GetObject(food1);
foodPictureBox.Visible = true;
foodPictureBox.Refresh();
@@ -198,9 +209,10 @@ private void sleepButton_Click(object sender, EventArgs e)
// Cleaning.
private void cleanButton_Click(object sender, EventArgs e)
{
DisableAllButtons();

if (Pet.Hygene < hygeneBar.Maximum)
{
{
DisableAllButtons();
petPicture.Image = Properties.Resources.hamsterclean;
petPicture.Refresh();
heartPicture.Image = Properties.Resources.brush;
@@ -216,7 +228,7 @@ private void cleanButton_Click(object sender, EventArgs e)
heartPicture.Top = topCoord - 10;
heartPicture.Left = leftCoord - 10;
heartPicture.Top = topCoord;
heartPicture.Left = leftCoord;
heartPicture.Left = leftCoord;
}
else
{
@@ -230,7 +242,7 @@ private void cleanButton_Click(object sender, EventArgs e)
Thread.Sleep(500);
}

Pet.Hygene += 1;
Pet.Hygene = hygeneBar.Maximum;
hygeneBar.Value = Pet.Hygene;

PetHappy();
@@ -240,7 +252,7 @@ private void cleanButton_Click(object sender, EventArgs e)

// Launch Minigames menu.
private void playButton_Click(object sender, EventArgs e)
{
{
MinigamesMenu minigamesMenu = new MinigamesMenu();
minigamesMenu.StartPosition = FormStartPosition.CenterParent;
minigamesMenu.ShowDialog();
@@ -249,6 +261,45 @@ private void playButton_Click(object sender, EventArgs e)
PetHappy();
funBar.Value = Pet.Fun;
}
}
}
//Stat decay timers

//Tirednes(Energy)
private void energyTimer_Tick(object sender, EventArgs e)
{
if (Pet.Tiredness >= 1 && Pet.SleepFlag == false)
{
Pet.Tiredness--;
}
else
{
if (Pet.Tiredness < 6)
{
Pet.Tiredness++;
}
}
}
//Hygene
private void hygeneTimer_Tick(object sender, EventArgs e)
{
if (Pet.Hygene >= 1)
{
Pet.Hygene--;
}

}
//Hunger
private void hungerTimer_Tick(object sender, EventArgs e)
{
if (Pet.Hunger >= 1)
{
Pet.Hunger--;
}
if (Pet.Fun >= 1)
{
Pet.Fun--;
}
}

}
}
@@ -117,4 +117,16 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="energyTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="hygeneTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>137, 17</value>
</metadata>
<metadata name="hungerTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>260, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>33</value>
</metadata>
</root>
@@ -100,8 +100,11 @@ private void timer1_Tick(object sender, EventArgs e)
button11.Text = "";
}
buttonPressed = false;



}


private void button7_Click(object sender, EventArgs e)
{
@@ -217,6 +220,7 @@ private void button6_Click(object sender, EventArgs e)
if (button8.Text != "Team Infers" && buttonPressed)
{
timer1.Start();
buttonPressed = false;
}
if (buttonPressed == false)
{
@@ -232,6 +236,7 @@ private void button8_Click(object sender, EventArgs e)
if (button6.Text != "Team Infers" && buttonPressed)
{
timer1.Start();
buttonPressed = false;
}
if (buttonPressed == false)
{
@@ -247,6 +252,7 @@ private void button9_Click(object sender, EventArgs e)
if (button11.Text != "Team work" && buttonPressed)
{
timer1.Start();
buttonPressed = false;
}
if (buttonPressed == false)
{
@@ -262,6 +268,7 @@ private void button11_Click(object sender, EventArgs e)
if (button9.Text != "Team work" && buttonPressed)
{
timer1.Start();
buttonPressed = false;
}
if (buttonPressed == false)
{
@@ -47,5 +47,13 @@ private void minigameButton4_Click(object sender, EventArgs e)
matchTwoGame.StartPosition = FormStartPosition.CenterParent;
matchTwoGame.ShowDialog();
}

private void MinigamesMenu_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue.ToString() == "27")
{
this.Close();
}
}
}
}
@@ -10,19 +10,79 @@ namespace Main
static class Pet
{
// Stats.
static private int hunger = 3;
static private int tiredness = 3;
static private int hygene = 3;
static private int fun = 3;
static private int hunger;
static private int tiredness;
static private int hygene;
static private int fun;
static private bool sleepFlag;
static public int gamesPlayed = 0;
static private bool sleepFlag = false;
static private DateTime lastPlayed = DateTime.Now;

static public void NewGame()
{
Pet.Hunger = 3;
Pet.Tiredness = 3;
Pet.Hygene = 3;
Pet.Fun = 3;
Pet.SleepFlag = false;
}

static public bool LoadGame()
{
if (File.Exists("../../saveGame.txt"))
{
string[] saveData = File.ReadAllLines("../../saveGame.txt");
var timePeriod = Convert.ToInt32((DateTime.Now - DateTime.Parse(saveData[6])).TotalHours)/2;
Pet.gamesPlayed = 0;
Pet.SleepFlag = bool.Parse(saveData[5]);
Pet.Hunger = int.Parse(saveData[0]) - timePeriod;
Pet.Hygene = int.Parse(saveData[2]) - timePeriod;
Pet.Fun = int.Parse(saveData[3]) - timePeriod;

if (Pet.Hunger < 0)
{
Pet.Hunger = 0;
}
if (Pet.Hygene < 0)
{
Pet.Hygene = 0;
}
if (Pet.Fun < 0)
{
Pet.Fun = 0;
}

if (SleepFlag)
{
Pet.Tiredness = int.Parse(saveData[1]) + timePeriod;
if (Pet.Tiredness > 6)
{
Pet.Tiredness = 6;
}
}
else
{
Pet.Tiredness = int.Parse(saveData[1]) - timePeriod;
if (Pet.Tiredness < 0)
{
Pet.Tiredness = 0;
}
}
return true;
}
else
{
return false;
}
}

static public void SaveGame()
{
lastPlayed = DateTime.Now;//Last played
var fileStream = new FileStream("../../saveGame.txt", FileMode.Create);
try
{
byte[] bytes = Encoding.UTF8.GetBytes(Pet.Hunger + Environment.NewLine + Pet.Tiredness + Environment.NewLine + Pet.Hygene + Environment.NewLine + Pet.Fun + Environment.NewLine + Pet.gamesPlayed + Environment.NewLine + Pet.SleepFlag);
byte[] bytes = Encoding.UTF8.GetBytes(Pet.Hunger + Environment.NewLine + Pet.Tiredness + Environment.NewLine + Pet.Hygene + Environment.NewLine + Pet.Fun + Environment.NewLine + Pet.gamesPlayed + Environment.NewLine + Pet.SleepFlag + Environment.NewLine + Pet.lastPlayed);
fileStream.Write(bytes, 0, bytes.Length);
}
finally