Ponts and icons ok

This commit is contained in:
2022-07-04 22:55:44 +02:00
parent 30ff5589aa
commit 1696dab42b

View File

@ -16,6 +16,7 @@ namespace WinGreed
int y = 79;
int x = 0;
int row = 0;
bool maxHeatPoints = false;
private List<Button> _dice = new List<Button>();
private HandleThrow _ht;
public string Player { get; set; }
@ -30,6 +31,7 @@ namespace WinGreed
_ht.Who = Player;
///ht.Throw();
btnThrow.Enabled = true;
btnCollect.Enabled = true;
}
private void btnThrow_Click(object sender, EventArgs e)
@ -161,12 +163,13 @@ namespace WinGreed
this.Refresh();
string outPut = CheckForDifferentOutCome(numbers);
var actTxtBox=((TextBox)this.Controls.Find($"txtMaxValue{row}", true).FirstOrDefault());
var actTxtBox = ((TextBox)this.Controls.Find($"txtMaxValue{row}", true).FirstOrDefault());
actTxtBox.Text = outPut;
actTxtBox.Refresh();
if(numbers.Count>0 && int.Parse(outPut.Trim()) == 0)
if (numbers.Count > 0 && int.Parse(outPut.Trim()) == 0)
{
btnThrow.Enabled = false;
btnCollect.Enabled = false;
MarkGrayAndDisable(row);
}
}
@ -188,12 +191,13 @@ namespace WinGreed
{
var outPut = "";
var sum = 0;
maxHeatPoints = false;
numbers.Sort();
sum = CheckForDoubleTriple(numbers);
sum += CheckForTripleDouble(numbers);
sum += CheckForSerial(numbers);
sum += CheckForThreeOrMore(numbers);
outPut=sum.ToString();
outPut = sum.ToString();
return outPut;
}
@ -203,11 +207,12 @@ namespace WinGreed
{
for (int i = 0; i < numbers.Count; i++)
{
if(numbers[i] != i + 1)
{
return 0;
if (numbers[i] != i + 1)
{
return 0;
}
}
maxHeatPoints = true;
return 1500;
}
return 0;
@ -216,7 +221,7 @@ namespace WinGreed
private int CheckForThreeOrMore(List<int> numbers)
{
var result = 0;
var ones = 0;
var twos = 0;
var threes = 0;
@ -226,63 +231,63 @@ namespace WinGreed
//if(numbers.Count > 2)
//{
foreach(var number in numbers)
foreach (var number in numbers)
{
switch (number)
{
switch (number)
{
case 1:
{
ones++;
break;
}
case 2:
{
twos++;
break;
}
case 3:
{
threes++;
break;
}
case 4:
{
fours++;
break;
}
case 5:
{
fives++;
break;
}
case 6:
{
sixs++;
break;
}
default:
case 1:
{
ones++;
break;
}
}
case 2:
{
twos++;
break;
}
case 3:
{
threes++;
break;
}
case 4:
{
fours++;
break;
}
case 5:
{
fives++;
break;
}
case 6:
{
sixs++;
break;
}
default:
break;
}
}
result += NumberCounts(ones, 1);
result += NumberCounts(twos, 2);
result += NumberCounts(threes, 3);
result += NumberCounts(fours, 4);
result += NumberCounts(fives, 5);
result += NumberCounts(sixs, 6);
result += NumberCounts(ones, 1);
result += NumberCounts(twos, 2);
result += NumberCounts(threes, 3);
result += NumberCounts(fours, 4);
result += NumberCounts(fives, 5);
result += NumberCounts(sixs, 6);
//}
return result;
}
public int NumberCounts(int value,int nmbr)
public int NumberCounts(int value, int nmbr)
{
if (value > 2)
{
var back = nmbr==1?1000:nmbr*100;
var back = nmbr == 1 ? 1000 : nmbr * 100;
if (value > 3)
{
back *= 2;
@ -299,7 +304,7 @@ namespace WinGreed
}
else
{
if (value < 3 && (nmbr==1 || nmbr==5))
if ((value < 3 && (nmbr == 1 || nmbr == 5)) && !maxHeatPoints)
{
var back = value * (nmbr == 1 ? 100 : 50);
return back;
@ -314,10 +319,11 @@ namespace WinGreed
&& numbers[0] == numbers[1]
&& numbers[2] == numbers[3]
&& numbers[4] == numbers[5]
&& numbers[1] != numbers[2]
&& numbers[3] != numbers[4]
&& numbers[1] != numbers[2]
&& numbers[3] != numbers[4]
&& numbers[0] != numbers[5])
{
maxHeatPoints = true;
return 1500;
}
return 0;
@ -325,11 +331,12 @@ namespace WinGreed
private int CheckForDoubleTriple(List<int> numbers)
{
if(numbers.Count == 6
&& numbers[0] == numbers[2]
if (numbers.Count == 6
&& numbers[0] == numbers[2]
&& numbers[3] == numbers[5]
&& numbers[2] != numbers[3])
{
maxHeatPoints = true;
return 1500;
}
return 0;
@ -359,7 +366,7 @@ namespace WinGreed
btnThrow.Enabled = false;
MarkGrayAndDisable(row);
var totalSum = 0;
for (int i = row; i >0; i--)
for (int i = row; i > 0; i--)
{
var acttxt = (TextBox)this.Controls.Find($"txtChosenValue{i}", true).FirstOrDefault();
totalSum += int.Parse(acttxt.Text);