Compare commits

...

12 Commits

Author SHA1 Message Date
6b9413ec93 IsWIn bool in Match 2018-12-31 06:30:07 +03:00
16afdb74ac Implement LastMatchSR 2018-12-31 06:29:44 +03:00
0634e5c21b API 2018-12-31 06:29:19 +03:00
b8298a2c4c cleanup 2018-12-25 14:52:29 +03:00
74fc40f0d5 session win/loss 2018-12-25 14:22:57 +03:00
a2d7f8f888 stats class. Incomplete. Add In VS 2018-12-23 20:52:07 +03:00
74cd192c8a Formatting 2018-12-23 20:41:28 +03:00
8f3d764114 new variable in Match. DateTime String. 2018-12-23 20:40:58 +03:00
c54c61c4d9 Unessesery imports 2018-12-23 20:40:17 +03:00
dbcdef9bf0 Exception handling 2018-12-23 20:39:46 +03:00
2e78d7ccfe Ex handling and API changes 2018-12-23 20:19:13 +03:00
de978bb317 use of last match variable/field. 2018-12-23 20:18:28 +03:00
4 changed files with 90 additions and 34 deletions

View File

@ -34,14 +34,14 @@ namespace OWTrack
private string Version = Program.Version.ToString();
public MainForm()
{
{
InitializeComponent();
tr = new Tracker();
tr = new Tracker();
loadSave();
checkStatus();
update();
label4.Text = Version;
Text = "OWTrack " + Version;
Text = "OWTrack " + Version;
}
private void checkStatus()
@ -71,7 +71,6 @@ namespace OWTrack
}
}
//Move to saveManeger.cs ?
private void loadSave()
{
try
@ -92,7 +91,7 @@ namespace OWTrack
}
catch (Exception)
{
MessageBox.Show("Could not load Save.\n" +
MessageBox.Show("Could not load Save!\n" +
"Starting new save.");
tr = new Tracker();
}
@ -144,16 +143,24 @@ namespace OWTrack
private void update()
{
Wins.Text = tr.GetWins().ToString();
Losses.Text = tr.GetLosses().ToString();
if (tr.newSR == 0)
try
{
if (tr.srDiff() < 1) { srLabel.Text = tr.startSR.ToString() + " - 0"; }
Wins.Text = tr.GetWins().ToString();
Losses.Text = tr.GetLosses().ToString();
if (tr.newSR == 0)
{
if (tr.srDiff() < 1) { srLabel.Text = tr.startSR.ToString() + " - 0"; }
else srLabel.Text = tr.startSR.ToString() + " - " + tr.srDiff();
}
else srLabel.Text = tr.startSR.ToString() + " - " + tr.srDiff();
srTextBox.Text = null;
saveManeger.SaveJSON(tr);
}
else srLabel.Text = tr.startSR.ToString() + " - " + tr.srDiff();
srTextBox.Text = null;
saveManeger.SaveJSON(tr);
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}
private void AddMatch()
@ -163,7 +170,9 @@ namespace OWTrack
StartSR = tr.startSR,
newSR = tr.newSR,
ChangeInSR = tr.srDiff(),
dateTime = DateTime.Now.Date
dateTime = DateTime.Now.Date,
DateTimeSting = DateTime.Now.ToString("hh:mm tt"),
LastMatchSR = tr.GetCurrentSession().GetLastMatch().newSR,
};
tr.GetCurrentSession().AddMatch(match);
}
@ -226,12 +235,6 @@ namespace OWTrack
}
finally
{
//if (!SRonce)
//{
// tr.startSR = sr;
// SRonce = true;
//}
//else tr.newSR = sr;
if (tr.GetCurrentSession().IsNewSession())
tr.startSR = sr;
else

32
OWTrack/Statistics.cs Normal file
View File

@ -0,0 +1,32 @@
using System;
using System.IO;
using Newtonsoft.Json;
using System.Collections.Generic;
namespace OWTrack
{
public class Statistics
{
private Tracker tr;
public Statistics(Tracker tr)
{
this.tr = tr;
}
public int GetTotalSkillChange()
{
int change = 0;
foreach (var Session in tr.sessions)
{
if (Session.Matches.Count != 0)
{
foreach (var match in Session.Matches)
{
}
}
}
}
}
}

View File

@ -22,7 +22,6 @@ using System;
using System.Diagnostics;
using System.Linq;
using System.IO;
using System.Windows.Forms;
using System.Collections.Generic;
namespace OWTrack
@ -30,7 +29,7 @@ namespace OWTrack
class Tracker
{
public int wins, losses, startSR, newSR, totalMatches = 0;
public void addWin() => wins++;
public void addLoss() => losses++;
public void reduceWin() => wins--;
@ -66,7 +65,7 @@ namespace OWTrack
sessions.Clear();
StartNewSeission();
}
public void StartNewSeission()
{
Session ses = new Session(startSR);
@ -128,8 +127,7 @@ namespace OWTrack
}
catch (Exception e)
{
MessageBox.Show(e.Message);
return false;
throw e;
}
}
@ -176,14 +174,15 @@ namespace OWTrack
class Session
{
public int wins, losses = 0;
public int TotalMatches;
public int SkillChange;
public int StartSR;
public DateTime date;
public List<Match> Matches = new List<Match>();
public List<Match> Matches = new List<Match>();
/// <summary>
/// Start a new session with a starting Skill Rating
/// Start a new session
///</summary>
public Session(int StartSR)
{
@ -192,21 +191,38 @@ namespace OWTrack
TotalMatches = 0;
}
/// <summary>
/// Check if session does not have any matches
/// </summary>
/// <returns>Booelan</returns>
public bool IsNewSession()
{
if (Matches.Count == 0) return true;
else return false;
}
/// <summary>
/// Get last match in Matchs list
/// </summary>
/// <returns>Match</returns>
public Match GetLastMatch()
{
return Matches.Last();
}
/// <summary>
/// Add Match to list
/// </summary>
/// <param name="match"></param>
public void AddMatch(Match match)
{
match.LastMatchSR = this.Matches.Last().newSR;
this.Matches.Add(match);
this.TotalMatches = Matches.Count();
if (match.IsWin)
wins++;
else
losses++;
}
}
@ -214,6 +230,8 @@ namespace OWTrack
{
public Match() { }
public DateTime dateTime { get; set; }
public bool IsWin;
public string DateTimeSting;
public int StartSR;
public int LastMatchSR;
public int newSR;

View File

@ -33,6 +33,10 @@ namespace OWTrack
public static string GetSaves() { return SAVES; }
public static string GetCurrentDir() { return curDir; }
/// <summary>
/// Paths of 'Program Files' folders.
/// </summary>
/// <returns></returns>
public struct ProgramFiles
{
public const string C = "C:\\Program Files";
@ -47,17 +51,16 @@ namespace OWTrack
/// <summary>
/// Deserialize saved tracker instance.
/// </summary>
/// <returns></returns>
/// <returns>Tracker</returns>
public static Tracker GetSavedTracker()
{
try
{
return JsonConvert.DeserializeObject<Tracker>(File.ReadAllText(Paths.GetSaves()));
}
catch (Exception)
catch (Exception e)
{
Exception ex = new Exception("json");
throw ex;
throw e;
}
}
@ -81,8 +84,8 @@ namespace OWTrack
/// <summary>
///Saves the Tracker Object.
/// </summary>
/// <param name="tracker"></param>
/// <returns></returns>
/// <param name="Tracker"></param>
/// <returns>Boolean Value</returns>
public static bool SaveJSON(Tracker tracker)
{
try
@ -90,9 +93,9 @@ namespace OWTrack
File.WriteAllText(Paths.GetSaves(), JsonConvert.SerializeObject(tracker, Formatting.Indented));
return true;
}
catch (Exception)
catch (Exception e)
{
return false;
throw e;
}
}