c# - creating one instance of a class object for several private functions -


i want create 1 instance of class object used several private functions in same form. have every function create new object so:

 player theplayer = new player(int.parse(strbox.text), int.parse(dexbox.text), int.parse(intbox.text), int.parse(perbox.text), int.parse(hpbox.text), int.parse(spbox.text), int.parse(mpbox.text), int.parse(expbox.text), int.parse(arbox.text), int.parse(cthbox.text), int.parse(goldbox.text), int.parse(meleedmgbox.text), int.parse(magicdmgbox.text), int.parse(stealthbox.text), int.parse(detectbox.text), int.parse(levelbox.text)); 

i have put 4 different functions. can see huge object many variables. want able create once use objects because when create new variable end having copy paste beast on functions.

how can that? i'm new @ oop tried do, not knowing if work:

    public void playerinitialize()     {         string p = "p";         player theplayer = new player(int.parse(strbox.text), int.parse(dexbox.text),      int.parse(intbox.text), int.parse(perbox.text), int.parse(hpbox.text), int.parse(spbox.text), int.parse(mpbox.text), int.parse(expbox.text), int.parse(arbox.text), int.parse(cthbox.text), int.parse(goldbox.text), int.parse(meleedmgbox.text), int.parse(magicdmgbox.text), int.parse(stealthbox.text), int.parse(detectbox.text), int.parse(levelbox.text), p);     }   private void addstrbutton_click_1(object sender, eventargs e)     {  player theplayer;         //int str, int dex, int intel, int per, int hp, int sp, int mp, int exp, int ar, int cth, int gold, int meldmg, int magdmg, int stlth, int det         //player theplayer = new player(int.parse(strbox.text), int.parse(dexbox.text), int.parse(intbox.text), int.parse(perbox.text), int.parse(hpbox.text), int.parse(spbox.text), int.parse(mpbox.text), int.parse(expbox.text), int.parse(arbox.text), int.parse(cthbox.text), int.parse(goldbox.text), int.parse(meleedmgbox.text), int.parse(magicdmgbox.text), int.parse(stealthbox.text), int.parse(detectbox.text), int.parse(levelbox.text), );           if (theplayer.statpoints >= 1 && theplayer.strength <= 7)         {             theplayer.strength++;             theplayer.statpoints--;             theplayer.hitpoints += 6;             theplayer.meleedmg += 2;             strbox.text = theplayer.strength.tostring();             spbox.text = theplayer.statpoints.tostring();             hpbox.text = theplayer.hitpoints.tostring();             meleedmgbox.text = theplayer.meleedmg.tostring();         }         else if (theplayer.strength >= 8)         {             messagebox.show("you @ limits of mortal abilities.");         }         else if (theplayer.statpoints <= 0)         {             messagebox.show("earn more experience!");         }         /*         messagebox.show("pcstats.statpoints equals" + pcstats.statpoints);         messagebox.show("pcstats,strength equals" + pcstats.strength);         messagebox.show("intpcsp equals" + intpcsp.tostring());         messagebox.show("intpcstr equals" + intpcstr.tostring());         */     } 

unfortunately following error: use of unassigned local variable 'theplayer'

any ideas how can create object once instead of every time use in function?

here class sheet further reference:

 namespace playerpc { class player {     public void playergraphic(string pcgraphic)     {     pcgraphic = pcgraphic;     }     //player stats     public player(int str, int dex, int intel, int per, int hp, int sp, int mp, int exp, int ar, int cth, int gold, int meldmg, int magdmg, int stlth, int det, int lvl, string pcgraphic)     {         strength = str;         dexterity = dex;         intelligence = intel;         perception = per;         hitpoints = hp;         statpoints = sp;         mindpoints = mp;         experiencepoints = exp;         armor = ar;         chancetohit = cth;         goldcoins = gold;         meleedmg = meldmg;         magicdmg = magdmg;         stealth = stlth;         detect = det;         level = lvl;         pcgraphic = pcgraphic;     }     public bool levelup()     {         if(this.level == 1 && this.experiencepoints >= 25)         {             this.level++;             this.statpoints++;             messagebox.show("you have accended level " + this.level);             return true;         }         else if (this.level == 2 && this.experiencepoints >= 125)         {             this.level++;             this.statpoints++;             messagebox.show("you have accended level " + this.level);             return true;         }         else if (this.level == 3 && this.experiencepoints >= 625)         {             this.level++;             this.statpoints++;             messagebox.show("you have accended level " + this.level);             return true;         }         else if (this.level == 4 && this.experiencepoints >= 1125)         {             this.level++;             this.statpoints++;             messagebox.show("you have accended level " + this.level);             return true;         }         else if (this.level == 5 && this.experiencepoints >= 1850)         {             this.level++;             this.statpoints++;             messagebox.show("you have accended level " + this.level);             return true;         }         else if (this.level == 6 && this.experiencepoints >= 2900)         {             this.level++;             this.statpoints++;             messagebox.show("you have accended level " + this.level);             return true;         }         else if (this.level == 7 && this.experiencepoints >= 4500)         {             this.level++;             this.statpoints++;             messagebox.show("you have accended level " + this.level);             return true;         }         else if (this.level == 8 && this.experiencepoints >= 5800)         {             this.level++;             this.statpoints++;             messagebox.show("you have accended level " + this.level);             return true;         }         else if (this.level == 9 && this.experiencepoints >= 8200)         {             this.level++;             this.statpoints++;             messagebox.show("you have accended level " + this.level);             return true;         }         else if (this.level == 10 && this.experiencepoints >= 12800)         {             this.level++;             this.statpoints++;             messagebox.show("you have accended level " + this.level);             return true;         }         else if (this.level == 11 && this.experiencepoints >= 16200)         {             this.level++;             this.statpoints++;             messagebox.show("you have accended level " + this.level);             return true;         }         else if (this.level == 12 && this.experiencepoints >= 25000)         {             this.level++;             this.statpoints++;             messagebox.show("you have accended level " + this.level);             return true;         }          return false;     }      public int strength {get; set; }     public int dexterity { get; set; }     public int intelligence { get; set; }     public int perception { get; set; }     public int hitpoints { get; set; }     public int statpoints { get; set; }     public int mindpoints { get; set; }     public int experiencepoints { get; set; }     public int armor { get; set; }     public int chancetohit { get; set; }     public int goldcoins { get; set; }     public int meleedmg { get; set; }     public int magicdmg { get; set; }     public int stealth { get; set; }     public int detect { get; set; }     public int level { get; set; }     public string pcgraphic { get; set; } }  } 

create private field of player class , use in various methods.

example:

public class theclassthatusetheplayerobject {     private player theplayer = new player(int.parse(strbox.text), int.parse(dexbox.text), int.parse(intbox.text), int.parse(perbox.text), int.parse(hpbox.text), int.parse(spbox.text), int.parse(mpbox.text), int.parse(expbox.text), int.parse(arbox.text), int.parse(cthbox.text), int.parse(goldbox.text), int.parse(meleedmgbox.text), int.parse(magicdmgbox.text), int.parse(stealthbox.text), int.parse(detectbox.text), int.parse(levelbox.text));      public void firstmethod()     {         theplayer.dosomething();     }     public void secondmethod()     {         theplayer.dosomethingelse();     } } 

read more fields:fields


Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

jquery - Fancybox - apply a function to several elements -

An easy way to program an Android keyboard layout app -