今天是实训第二天,桂老师开始讲解C#的基础知识,相较于昨天的各种理论,今天的知识点明显好掌握一些,所以听的也比较有动力.
    上午的时候主要讲了控制台的一些属性方法,还有命名法,下午才是重头戏,一直没有理解的值类型和引用类型在桂老师生动的课件下终于掌握了.真是收获太大了!
    今天主要的代码写了两个,基本都跟控制台有关,第一个是用控制台的BEEP方法来做一个发音的小程序,
没什么难度.不过音准一直找不到..第二个是用控制台做一个登陆程序,关键点在于密码用readkey来隐藏,还有在用户操作的类里加一个递归.其他没什么难度了,都做完之后时间还早,考虑到我数组的理解一直比较差,所以在书上找了一练习题--龟图.代码都记下来,望大家给出意见,各种方面都太繁琐了..
    龟图的定义就是输入1的时候画笔向上,即为不画图模式,输入2时画笔向下,进入画图模式,输入3向右转,4向左转,输入5,*,即为向前走*步,输入6,画出这个20*20的数组,默认为乌龟在0,0位置向右方向.
InBlock.gif class Program
InBlock.gif        {
InBlock.gif                 int painter = 0;
InBlock.gif                 int upDown = 0;
InBlock.gif                 int leftRight = 0;
InBlock.gif                 int paintLength = 0;
InBlock.gif                 int whereToGo = 1;
InBlock.gif                 int whereToTurn = 0;
InBlock.gif
InBlock.gif                 private void GetWhere()
InBlock.gif                {
InBlock.gif                         if (whereToTurn == 0 && whereToGo > 1)
InBlock.gif                        {
InBlock.gif                                whereToGo--;
InBlock.gif                        }
InBlock.gif                         else if (whereToTurn == 0 && whereToGo == 1)
InBlock.gif                        {
InBlock.gif                                whereToGo = 4;
InBlock.gif                        }
InBlock.gif                         if (whereToTurn == 1 && whereToGo == 3)
InBlock.gif                        {
InBlock.gif                                whereToGo = 4;
InBlock.gif                        }
InBlock.gif                         else if (whereToTurn == 1 && whereToGo != 3)
InBlock.gif                        {
InBlock.gif                                whereToGo = (whereToGo + 1) % 4;
InBlock.gif                        }
InBlock.gif
InBlock.gif
InBlock.gif                }
InBlock.gif                 private void paint( int where, int length, int[,] myPaint)
InBlock.gif                {
InBlock.gif
InBlock.gif
InBlock.gif                         if (where == 1)
InBlock.gif                        {
InBlock.gif                                 for ( int i = 0; i < length; i++)
InBlock.gif                                {
InBlock.gif                                        myPaint.SetValue(1, i + leftRight, upDown);
InBlock.gif
InBlock.gif                                }
InBlock.gif                                leftRight = leftRight + length;
InBlock.gif                        }
InBlock.gif                         if (where == 2)
InBlock.gif                        {
InBlock.gif                                 for ( int i = 0; i < length; i++)
InBlock.gif                                {
InBlock.gif                                        myPaint.SetValue(1, leftRight, i + upDown);
InBlock.gif
InBlock.gif                                }
InBlock.gif                                upDown = upDown + length;
InBlock.gif                        }
InBlock.gif                         if (where == 3)
InBlock.gif                        {
InBlock.gif                                 for ( int i = 0; i < length; i++)
InBlock.gif                                {
InBlock.gif                                        myPaint.SetValue(1, leftRight - i, upDown);
InBlock.gif
InBlock.gif                                }
InBlock.gif                                leftRight = leftRight - length;
InBlock.gif                        }
InBlock.gif                         if (where == 4)
InBlock.gif                        {
InBlock.gif                                 for ( int i = 0; i < length; i++)
InBlock.gif                                {
InBlock.gif                                        myPaint.SetValue(1, leftRight, upDown - i);
InBlock.gif
InBlock.gif                                }
InBlock.gif                                upDown = upDown - length;
InBlock.gif                        }
InBlock.gif                }
InBlock.gif                 static void Main( string[] args)
InBlock.gif                {
InBlock.gif                        Program d = new Program();
InBlock.gif                         int[,] myPaint = new int[20, 20];
InBlock.gif
InBlock.gif                         for ( int i = 0; i < 20; i++)
InBlock.gif                        {
InBlock.gif                                 for ( int j = 0; j < 20; j++)
InBlock.gif                                {
InBlock.gif                                        myPaint.SetValue(0, i, j);
InBlock.gif                                }
InBlock.gif                        }
InBlock.gif                         while ( true)
InBlock.gif                        {
InBlock.gif                                Console.WriteLine( "请输入指令");
InBlock.gif                                 string zhiling = Console.ReadLine();
InBlock.gif                                 if (zhiling == "1")
InBlock.gif                                {
InBlock.gif                                        d.painter = 0;
InBlock.gif                                }
InBlock.gif                                 if (zhiling == "2")
InBlock.gif                                {
InBlock.gif                                        d.painter = 1;
InBlock.gif                                }
InBlock.gif                                 if (zhiling == "3")
InBlock.gif                                {
InBlock.gif                                        d.whereToTurn = 1;
InBlock.gif                                        d.GetWhere();
InBlock.gif                                }
InBlock.gif                                 if (zhiling == "4")
InBlock.gif                                {
InBlock.gif                                        d.whereToTurn = 0;
InBlock.gif                                        d.GetWhere();
InBlock.gif                                }
InBlock.gif                                 if (zhiling.IndexOf(',') >= 1)
InBlock.gif                                {
InBlock.gif                                         string temp = "";
InBlock.gif                                        CharEnumerator charZhiling = zhiling.GetEnumerator();
InBlock.gif                                        charZhiling.MoveNext();
InBlock.gif                                        charZhiling.MoveNext();
InBlock.gif
InBlock.gif                                         for ( int i = 0; i < zhiling.Length - 2; i++)
InBlock.gif                                        {
InBlock.gif
InBlock.gif                                                charZhiling.MoveNext();
InBlock.gif                                                temp = temp + charZhiling.Current.ToString();
InBlock.gif                                        }
InBlock.gif                                        d.paintLength = Int32.Parse(temp);
InBlock.gif                                        d.paint(d.whereToGo, d.paintLength, myPaint);
InBlock.gif
InBlock.gif                                }
InBlock.gif                                 if (zhiling == "6")
InBlock.gif                                {
InBlock.gif                                         for ( int i = 0; i < 20; i++)
InBlock.gif                                        {
InBlock.gif                                                 for ( int j = 0; j < 20; j++)
InBlock.gif                                                {
InBlock.gif                                                         if (j < 19)
InBlock.gif                                                        {
InBlock.gif                                                                Console.Write(myPaint.GetValue(j, i));
InBlock.gif                                                        }
InBlock.gif                                                         if (j == 19)
InBlock.gif                                                        {
InBlock.gif                                                                Console.WriteLine(myPaint.GetValue(j, i));
InBlock.gif                                                        }
InBlock.gif                                                }
InBlock.gif                                        }
InBlock.gif                                }
InBlock.gif
InBlock.gif                        }
InBlock.gif
InBlock.gif                }
InBlock.gif
InBlock.gif        }