Hallo Liste 

Ich probier gerade ein W�rfelspiel, dass 10.000 heisst, zu programmieren
aber leider sch*#%&t die Webanwendung immer nach 3 Spielz�gen ab.
Im Ereignissportokoll werde ich dann darauf hingewiesen das die
Anwendung �ber 140 MB Arbeitsspeicher verwendet.

Hat irgendjemand ne Idee was ich verbessern kann? Eigentlich sind das
doch nur ein paar For-Schleifen...


Daniel


//MEIN CODE:

using System;
using System.Web;

namespace Games
{

        public class ZehnTausend
        {
                public void Build10K()
                {
            int wurfelCount = 6;
            int[] wuerfel;
            int[] pasche;
            int Runde = 0;
            int Wurf = 0;
            
            int Total = 0;

            if(System.Web.HttpContext.Current.Request["w"]!=null)
            {
                Wurf =
(System.Int32.Parse(System.Web.HttpContext.Current.Request["w"]));
            }
                        
                        Wurf = (Wurf+1);
                        
            if(System.Web.HttpContext.Current.Request["count"]!=null)
            {
                char[] chSplit = {','};
                        string[] arrCount =
System.Web.HttpContext.Current.Request["count"].ToString().Split(chSplit
);
                        
                        for(int c = 0; c<arrCount.Length; c++)
                        {
                                Runde =
(Runde+System.Int32.Parse(arrCount[c]));
                        }
            }
            
            if(System.Web.HttpContext.Current.Request["total"]!=null)
            {
                Total =
System.Int32.Parse(System.Web.HttpContext.Current.Request["total"]);
            }

        
if(System.Web.HttpContext.Current.Request["save"]!=null)
            {
                Total = (Total + Runde);
                Runde = 0;
            }

            wuerfel = new int[6];
            pasche = new int[7];

            Random R = new Random();

            for(int i = 1; i < 6; i++)
            {
                wuerfel[i] = R.Next(1,6);
                pasche[wuerfel[i]] = (pasche[wuerfel[i]]+1);
            }

            Array.Sort(wuerfel);


            System.Web.HttpContext.Current.Response.Write("<table
border=\"1\">");
            System.Web.HttpContext.Current.Response.Write("<tr><td
colspan=\"5\">Punkte (Gesamt): " + Total + "<input type=\"hidden\"
name=\"total\" value=\"" + Total + "\"></td></tr>");
            System.Web.HttpContext.Current.Response.Write("<tr><td
colspan=\"5\">Punkte (Runde "+Wurf+"): " + Runde + "<input
type=\"hidden\" name=\"count\" value=\"" + Runde + "\"><input
type=\"hidden\" name=\"w\" value=\"" + Wurf + "\"></td></tr><tr>");

                for(int y = 1; y < 6; y++)
                {

 
System.Web.HttpContext.Current.Response.Write("<td>");

                    //Wenn geworfen ...
                    if(y<wurfelCount)
                    {
 
System.Web.HttpContext.Current.Response.Write("<img
src=\"images/"+wuerfel[y]+".gif\">");
                    }
                    else
                    {
 
System.Web.HttpContext.Current.Response.Write("&nbsp;");
                    }

 
System.Web.HttpContext.Current.Response.Write("</td>");

                }

            System.Web.HttpContext.Current.Response.Write("</tr><tr>");

                bool Pash = false;
                int CCount = 0;
                int WeiterMit = 0;
                for(int y = 1; y < 6; y++)
                {
                    //Wenn geworfen ...
                    if(y<wurfelCount)
                    {
                        Pash = false;
                        if(pasche[wuerfel[y]]>=3)
                        {
                            Pash = true;
 
System.Web.HttpContext.Current.Response.Write("<td align=\"center\"
colspan=\"" + pasche[wuerfel[y]] + "\">");
                        }
                        else
                        {
 
System.Web.HttpContext.Current.Response.Write("<td align=\"center\">");
                        }
                        CCount = 0;
                        if(Pash==true)
                        {
                           CCount = wuerfel[y];
                           if(wuerfel[y]==1)
                           {
                              for(int x = 1; x<pasche[wuerfel[y]]; x++)
                              {
                                  if(x==1)
                                  {
                                    CCount = System.Int32.Parse(CCount +
"000");
                                  }
                                  else
                                  {
                                    CCount = (CCount*2);
                                  }
                              }
                           }
                           else
                           {
                              for(int x = 1; x<pasche[wuerfel[y]]; x++)
                              {
                                  if(x==1)
                                  {
                                    CCount = System.Int32.Parse(CCount +
"00");
                                  }
                                  else
                                  {
                                    CCount = (CCount*2);
                                  }
                              }

                           }
                           y = pasche[wuerfel[y]];
                        }
                        else
                        {
                           if(wuerfel[y]==1)
                           {
                              CCount = 100;
                           }
                           if(wuerfel[y]==5)
                           {
                              CCount = 50;
                           }
                        }
                        if(CCount>0)
                        {
 
System.Web.HttpContext.Current.Response.Write("<input type=\"checkbox\"
name=\"count\" value=\"" + CCount + "\" checked>" + CCount);
                            WeiterMit = (WeiterMit+1);
                        }
 
System.Web.HttpContext.Current.Response.Write("&nbsp;</td>");
                    }
                    else
                    {
 
System.Web.HttpContext.Current.Response.Write("&nbsp;");
                    }
                }

 
System.Web.HttpContext.Current.Response.Write("</tr><tr><td
colspan=\"5\">");

                if(WeiterMit>0)
                {
                                        if(Runde>350)
                                        {
        
System.Web.HttpContext.Current.Response.Write("<input type=\"submit\"
name=\"save\" value=\"Aufschreiben\">");
                                        }
 
System.Web.HttpContext.Current.Response.Write("<input name=\"goon\"
type=\"submit\" value=\"Weiter\">");
                }
                else
                {
 
System.Web.HttpContext.Current.Response.Write("<input type=\"submit\"
value=\"W�rfel abgeben ...\">");
                }

 
System.Web.HttpContext.Current.Response.Write("</td></tr></table>");
                
                }
        
        
        }

}


| [aspdedotnet] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp

Antwort per Email an