Hej igen udviklere.
Det virkede fint jeres råd med iStartScore -= Int32.Parse(txtPoint.Text);
Nu har jeg så skrevet min kode lidt om, så den er blvet lidt mere objektorienteret. Den ser nu således ud:
Min GUI kode er følgende
private void button1_Click(object sender, EventArgs e)
{
Metoder objMetoder = new Metoder();
int iPoint = Int32.Parse(txtPoint.Text);
if (iPoint <= 180)
{
lbPointScoret.Items.Add(iPoint);
objMetoder.SingleplayerScore(iPoint);
//viser scoren man har tilbage i listboksen
lbleft.Items.Add(objMetoder.iUdregnetScore);
}
else
{
MessageBox.Show("Du kan max score 180 point");
}
Så har jeg gjort mine variabler private:
public class Egenskaber
{
int _iPointsScored, _iPointsLeft, _iUdregnetScore;
//get/set metoder for variablen iPointsScored
public int iPointsScored
{
get
{
return _iPointsScored;
}
set
{
_iPointsScored = value;
}
}
//get set metoder for iPointsLeft
public int iPointsLeft
{
get
{
return _iPointsLeft;
}
set
{
_iPointsLeft = value;
}
}
public int iUdregnetScore
{
get
{
return _iUdregnetScore;
}
set
{
_iUdregnetScore = value;
}
}
}
Til sidst er der min metode der skal klare udregningen for mig:
public class Metoder:Egenskaber
{
//opretter en tom constructor
public Metoder()
{
}
//constructor der tager 1 argument
public Metoder(int ipointsscored)
{
this.iPointsScored = ipointsscored;
}
//Constructor der tager 2 argumenter
public Metoder(int ipointsscored, int iudregnetscore)
{
this.iPointsScored = ipointsscored;
this.iUdregnetScore = iudregnetscore;
}
public int SingleplayerScore(int ipointsscored)
{
int iUdregnetScore -= Int32.Parse(ipointsscored);
return iUdregnetScore;
}
}
Mit problem er, at når jeg kører mit program i debug mode, bliver iUdregnetScore altid 0 lige meget hvad jeg skriver i min tekstboks. Der er ingen kompileringsfejl, men det virker ikke efter hensigten.
Jeg tror, at der skal være nogle parametre på mit objekt, men jeg kan s.. ikke lige greje hvad?
måske Metoder objMetoder = new Metoder(ipointsscored ,iudregnetscore); ????
Og så mangler jeg også at få skrevet det regnestykke i hjalp med om, så det passer til min nye kode.
Dette virker ikke:
int iUdregnetScore -= Int32.Parse(ipointsscored);
En sidste ting jeg vil spørge om er, hvor skal jeg sætte vaiablen til at være 501 fra start???
På forhånd tak for hjælpen endnu en gang :-)