your issue is that you are declaring PC and Enemy within each option
of your for statement.  Change your code to this:

PlayerCharacter PC = null;
PlayerCharacter Enemy = null;

 if (Page.IsPostBack)
        {
            PC = (PlayerCharacter)(Session["player"]);
            Enemy = (PlayerCharacter)(Session
["enemy"]);
        }
        else
        {
            PC = new PlayerCharacter("Neo", "Male", "A
young hacker, unaware that he's the chosen one", new Hacker());
            Enemy = new PlayerCharacter("Smith",
"Male", "An agent of the Matrix", new Shill());
        }



On 2 Dec, 22:35, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
wrote:
> Nope, didn't work.  I tried:
>
>         if (Page.IsPostBack)
>         {
>             PlayerCharacter PC = (PlayerCharacter)(Session["player"]);
>             PlayerCharacter Enemy = (PlayerCharacter)(Session
> ["enemy"]);
>         }
>         else
>         {
>             PlayerCharacter PC = new PlayerCharacter("Neo", "Male", "A
> young hacker, unaware that he's the chosen one", new Hacker());
>             PlayerCharacter Enemy = new PlayerCharacter("Smith",
> "Male", "An agent of the Matrix", new Shill());
>
>             Session["player"] = PC;
>             Session["enemy"] = Enemy;
>         }
>
> But the same errors are appearing during compilation.
>
> On Dec 2, 3:44 pm, Paul <[EMAIL PROTECTED]> wrote:
>
>
>
> > Been a while since I coded C#, so I won't attempt the syntax. You issue is
> > here
>
> > else
> >        {
> >            PlayerCharacter PC = new PlayerCharacter("Neo", "Male", "A
> > young hacker, unaware that he's the chosen one", new Hacker());
> >            PlayerCharacter Enemy = new PlayerCharacter("Smith",
> > "Male", "An agent of the Matrix", new Shill());
> >        }
> > You instantiate the objects, but never add them to the session. Simply add
> > the objects to the session and yu should be all set. HTH
>
> > On Tue, Dec 2, 2008 at 3:34 PM, [EMAIL PROTECTED] <[EMAIL PROTECTED]
>
> > > wrote:
>
> > > I'm currently writing a web-based game in ASP.NET <http://asp.net/> and
> > > C#.  I'm in the
> > > process of testing whether or not I successfully hooked my attack
> > > methods into .NET's event model.  I need both the user-controlled
> > > character and the computer-controlled enemy to retain their state
> > > between turns, so I can see if the attack is actually working.  My
> > > problem is that the compiler is choking on the part where I try to
> > > retrieve my objects from the session.  Specifically, it says that
> > > those objects don't exist, despite my explicit casts to the proper
> > > types, and the fact that the first time the page is accessed, new
> > > objects are made.  My code is below:
>
> > > //Note: mainLabel is a Label server control, and attack is a simple
> > > Button control
>
> > > using System;
> > > using System.IO;
> > > using System.Collections.Generic;
> > > using System.Configuration;
> > > using System.Data;
> > > using System.Linq;
> > > using System.Web;
> > > using System.Web.SessionState;
> > > using System.Web.Security;
> > > using System.Web.UI;
> > > using System.Web.UI.HtmlControls;
> > > using System.Web.UI.WebControls;
> > > using System.Web.UI.WebControls.WebParts;
> > > using System.Xml.Linq;
>
> > > public partial class _Default : System.Web.UI.Page
> > > {
> > >    protected void Page_Load(object sender, EventArgs e)
> > >    {
> > >        if (Page.IsPostBack)
> > >        {
> > >            PlayerCharacter PC = (PlayerCharacter)(Session["player"]);
> > >            PlayerCharacter Enemy = (PlayerCharacter)(Session
> > > ["enemy"]);
> > >        }
> > >        else
> > >        {
> > >            PlayerCharacter PC = new PlayerCharacter("Neo", "Male", "A
> > > young hacker, unaware that he's the chosen one", new Hacker());
> > >            PlayerCharacter Enemy = new PlayerCharacter("Smith",
> > > "Male", "An agent of the Matrix", new Shill());
> > >        }
>
> > >        /* from this point on, neither PC nor Enemy are recognized by
> > > the compiler, so it gives me a bunch of errors */
>
> > >        AttackEventArgs attackArgs = new AttackEventArgs(PC, Enemy);
>
> > >        mainLabel.Text = PC.Name + " ";
> > >        mainLabel.Text += PC.Gender + "\n<br />";
> > >        mainLabel.Text += "HP: " + PC.CurrentHP + " TP: " +
> > > PC.CurrentTP + " DMG: " + PC.DMG + "\n<br />";
> > >        PC.Money = 2.34f;
> > >        mainLabel.Text += "Money: $" + PC.Money + "\n<br />";
> > >        mainLabel.Text += PC.Class.GetType().ToString() + "\n<br /
> > > ><br />";
> > >        mainLabel.Text += "Attack info before leveling up: <br />";
> > >        mainLabel.Text += "DMG: " + PC.DMG + " DMG Modifier " +
> > > PC.DMGModifier + " Chance to Hit: " + PC.ChanceToHit + "<br /><br />";
>
> > >        PC.LevelUp();
>
> > >        mainLabel.Text += "Attack info after leveling up: <br />";
> > >        mainLabel.Text += "DMG: " + PC.DMG + " DMG Modifier " +
> > > PC.DMGModifier + " Chance to Hit: " + PC.ChanceToHit + "<br /><br />";
>
> > >        List<Attack> PCattacks = PC.Attacks;
>
> > >        mainLabel.Text += "Enemy HP: " + Enemy.CurrentHP + "<br /><br /
> > > >";
>
> > >        attack.Click += delegate { PCattacks[0].ExecuteAttack(this,
> > > attackArgs); Session["player"] = PC; Session["enemy"] = Enemy; };
> > >    }
> > > }
>
> > --
> > _______________________________
>
> > Take care,
> > Paul
>
> > It is not we non-interventionists who are isolationists. The real
> > isolationists are those who impose sanctions and embargos on countries and
> > peoples across the globe and who choose to use force overseas to promote
> > democracy. A counterproductive approach that actually leads the U.S. to be
> > more resented and more isolated in the world.
>
> > Dr. Ron Paul
>
> >www.RonPaul2008.com- Hide quoted text -
>
> - Show quoted text -

Reply via email to