用C#写的《贪吃蛇》[有代码] 更新 4。23
<P>刚学编程写了这个游戏炼炼,因为图形是用画画的会有闪烁。<br>不懂链表是什么,所以没用着。<br>蛇的移动速度会随着蛇的长度增快。自己反应迟钝只得35分。<br><br><br>原来上传附件忘了按 上传 按钮<br>怪不得上传不了。</P>[attach]6443[/attach]<br>[align=right][color=#000066][此贴子已经被作者于2006-4-24 17:23:19编辑过][/color][/align]
<P>using System;<br>using System.Drawing;<br>using System.Collections;<br>using System.ComponentModel;<br>using System.Windows.Forms;<br>using System.Data;<br>using System.Runtime.InteropServices;</P>
<P><br>namespace 贪吃蛇<br>{<br> /// <summary><br> /// Form1 的摘要说明。<br> /// </summary><br> public class Form1 : System.Windows.Forms.Form<br> {<br> public void food()<br> {<br> int x1,y1,a;<br> Random r=new Random();<br> do<br> {<br> x1=r.Next(0,20);<br> y1=r.Next(0,20);<br> a=r.Next(4);<br> }while(xy[x1,y1]!=0);<br> xy[x1,y1]=2;<br> this.banana.Location = new System.Drawing.Point(x1*15, y1*15);<br> this.watermelon.Location = new System.Drawing.Point(x1*15, y1*15);<br> this.apple.Location = new System.Drawing.Point(x1*15, y1*15);<br> this.radish.Location = new System.Drawing.Point(x1*15, y1*15);<br> switch(a)<br> {<br> case 0:{banana.Visible=true;watermelon.Visible=apple.Visible=radish.Visible=false;break;}<br> case 1:{watermelon.Visible=true;banana.Visible=apple.Visible=radish.Visible=false;break;}<br> case 2:{apple.Visible=true;watermelon.Visible=banana.Visible=radish.Visible=false;break;}<br> case 3:{radish.Visible=true;watermelon.Visible=apple.Visible=banana.Visible=false;break;}<br> }</P>
<P> }<br> public void yidong1()<br> {<br> Graphics g=CreateGraphics();<br> switch(Fanxian)<br> {<br> case "up":<br> {<br> sanke_fx[head.x,head.y]=Fanxian;<br> if(head.y==0)<br> head.y=19;<br> else<br> head.y=head.y-1;<br> if(head.y==-1||xy[head.x,head.y]==1)<br> {<br> timer.Stop();<br> menuItem4.Enabled=false;<br> MessageBox.Show("GAME OVER,Length="+length.ToString()+".","Game Ovre!");<br> return;<br> }<br> else if(xy[head.x,head.y]==2)<br> {<br> xy[head.x,head.y]=1;<br> if(timer.Interval!=5)<br> timer.Interval-=5;<br> length+=1;<br> food();<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,14,15);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,14,15);<br> return;<br> }</P>
<P> xy[head.x,head.y]=1;<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,14,15);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,14,15);<br> break;<br> }</P>
<P> case "down":<br> {<br> sanke_fx[head.x,head.y]=Fanxian;<br> if(head.y==19)<br> head.y=0;<br> else<br> head.y=head.y+1;<br> if(head.y==20||xy[head.x,head.y]==1)<br> {<br> timer.Stop();<br> menuItem4.Enabled=false;<br> MessageBox.Show("GAME OVER,Length="+length.ToString()+".","Game Ovre!");<br> return;<br> }<br> else if(xy[head.x,head.y]==2)<br> {<br> xy[head.x,head.y]=1;<br> if(timer.Interval!=5)<br> timer.Interval-=5;<br> length+=1;<br> food();<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,14,15);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,14,15);<br> return;<br> }<br> xy[head.x,head.y]=1;<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,14,15);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,14,15);<br> break;<br> }</P>
<P> case "left":<br> {<br> sanke_fx[head.x,head.y]=Fanxian;<br> if(head.x==0)<br> head.x=19;<br> else<br> head.x=head.x-1;<br> if(head.x==-1||xy[head.x,head.y]==1)<br> {<br> timer.Stop();<br> menuItem4.Enabled=false;<br> MessageBox.Show("GAME OVER,Length="+length.ToString()+".","Game Ovre!");<br> return;<br> }<br> else if(xy[head.x,head.y]==2)<br> {<br> xy[head.x,head.y]=1;<br> if(timer.Interval!=5)<br> timer.Interval-=5;<br> length+=1;<br> food();<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,15,14);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,15,14);<br> return;<br> }<br> xy[head.x,head.y]=1;<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,15,14);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,15,14);<br> break;<br> }</P>
<P> case "right":<br> {<br> sanke_fx[head.x,head.y]=Fanxian;<br> if(head.x==19)<br> head.x=0;<br> else<br> head.x=head.x+1;<br> if(head.x==20||xy[head.x,head.y]==1)<br> {<br> timer.Stop();<br> menuItem4.Enabled=false;<br> MessageBox.Show("GAME OVER,Length="+length.ToString()+".","Game Ovre!");<br> return;<br> }<br> else if(xy[head.x,head.y]==2)<br> {<br> xy[head.x,head.y]=1;<br> if(timer.Interval!=5)<br> timer.Interval-=5;<br> length+=1;<br> food();<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,15,14);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,15,14);<br> return;<br> }<br> xy[head.x,head.y]=1;<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,15,14);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,15,14);<br> break;<br> }<br> }<br> switch(sanke_fx[end.x,end.y])<br> {<br> case "up":<br> {<br> xy[end.x,end.y]=0;<br> g.FillRectangle(new SolidBrush(Color.White),end.x*15,end.y*15+1,16,15);<br> sanke_fx[end.x,end.y]="";<br> if(end.y==0)<br> end.y=19;<br> else<br> end.y=end.y-1;<br> break;<br> }</P>
<P> case "down":<br> {<br> xy[end.x,end.y]=0;<br> g.FillRectangle(new SolidBrush(Color.White),end.x*15,end.y*15,16,15);<br> sanke_fx[end.x,end.y]="";<br> if(end.y==19)<br> end.y=0;<br> else<br> end.y=end.y+1;<br> break;<br> }</P>
<P> case "left":<br> {<br> xy[end.x,end.y]=0;<br> g.FillRectangle(new SolidBrush(Color.White),end.x*15+1,end.y*15,15,16);<br> sanke_fx[end.x,end.y]="";<br> if(end.x==0)end.x=19;<br> else end.x=end.x-1;break;<br> }</P>
<P> case "right":<br> {<br> xy[end.x,end.y]=0;<br> g.FillRectangle(new SolidBrush(Color.White),end.x*15,end.y*15,15,16);<br> sanke_fx[end.x,end.y]="";<br> if(end.x==19)<br> end.x=0;<br> else<br> end.x=end.x+1;<br> break;<br> }<br> }<br> }<br></P>
[align=right][color=#000066][此贴子已经被作者于2006-4-23 16:34:29编辑过][/color][/align]
<P><br> public void yidong()<br> {<br> Graphics g=CreateGraphics();<br> switch(Fanxian)<br> {<br> case "up":<br> {<br> sanke_fx[head.x,head.y]=Fanxian;<br> head.y=head.y-1;<br> if(head.y==-1||xy[head.x,head.y]==1)<br> {<br> timer.Stop();<br> menuItem4.Enabled=false;<br> MessageBox.Show("GAME OVER,Length="+length.ToString()+".","Game Ovre!");<br> return;<br> }<br> else if(xy[head.x,head.y]==2)<br> {<br> xy[head.x,head.y]=1;<br> if(timer.Interval!=5)<br> timer.Interval-=5;<br> length+=1;<br> food();<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,14,15);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,14,15);<br> return;<br> }</P>
<P> xy[head.x,head.y]=1;<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,14,15);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,14,15);<br> break;<br> }</P>
<P> case "down":<br> {<br> sanke_fx[head.x,head.y]=Fanxian;<br> head.y=head.y+1;<br> if(head.y==20||xy[head.x,head.y]==1)<br> {<br> timer.Stop();<br> menuItem4.Enabled=false;<br> MessageBox.Show("GAME OVER,Length="+length.ToString()+".","Game Ovre!");<br> return;<br> }<br> else if(xy[head.x,head.y]==2)<br> {<br> xy[head.x,head.y]=1;<br> if(timer.Interval!=5)<br> timer.Interval-=5;<br> length+=1;<br> food();<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,14,15);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,14,15);<br> return;<br> }<br> xy[head.x,head.y]=1;<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,14,15);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,14,15);<br> break;<br> }</P>
<P> case "left":<br> {<br> sanke_fx[head.x,head.y]=Fanxian;<br> head.x=head.x-1;<br> if(head.x==-1||xy[head.x,head.y]==1)<br> {<br> timer.Stop();<br> menuItem4.Enabled=false;<br> MessageBox.Show("GAME OVER,Length="+length.ToString()+".","Game Ovre!");<br> return;<br> }<br> else if(xy[head.x,head.y]==2)<br> {<br> xy[head.x,head.y]=1;<br> if(timer.Interval!=5)<br> timer.Interval-=5;<br> length+=1;<br> food();<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,15,14);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,15,14);<br> return;<br> }<br> xy[head.x,head.y]=1;<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,15,14);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,15,14);<br> break;<br> }</P>
<P> case "right":<br> {<br> sanke_fx[head.x,head.y]=Fanxian;<br> head.x=head.x+1;<br> if(head.x==20||xy[head.x,head.y]==1)<br> {<br> timer.Stop();<br> menuItem4.Enabled=false;<br> MessageBox.Show("GAME OVER,Length="+length.ToString()+".","Game Ovre!");<br> return;<br> }<br> else if(xy[head.x,head.y]==2)<br> {<br> xy[head.x,head.y]=1;<br> if(timer.Interval!=5)<br> timer.Interval-=5;<br> length+=1;<br> food();<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,15,14);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,15,14);<br> return;<br> }<br> xy[head.x,head.y]=1;<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,15,14);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,15,14);<br> break;<br> }<br> }<br> switch(sanke_fx[end.x,end.y])<br> {<br> case "up":<br> {<br> xy[end.x,end.y]=0;<br> g.FillRectangle(new SolidBrush(Color.White),end.x*15,end.y*15+1,16,15);<br> sanke_fx[end.x,end.y]="";<br> end.y=end.y-1;<br> break;<br> }</P>
<P> case "down":<br> {<br> xy[end.x,end.y]=0;<br> g.FillRectangle(new SolidBrush(Color.White),end.x*15,end.y*15,16,15);<br> sanke_fx[end.x,end.y]="";<br> end.y=end.y+1;<br> break;<br> }</P>
<P> case "left":<br> {<br> xy[end.x,end.y]=0;<br> g.FillRectangle(new SolidBrush(Color.White),end.x*15+1,end.y*15,15,16);<br> sanke_fx[end.x,end.y]="";<br> if(end.x==0)<br> end.x=19;<br> else<br> end.x=end.x-1;<br> break;<br> }</P>
<P> case "right":<br> {<br> xy[end.x,end.y]=0;<br> g.FillRectangle(new SolidBrush(Color.White),end.x*15,end.y*15,15,16);<br> sanke_fx[end.x,end.y]="";<br> end.x=end.x+1;<br> break;<br> }<br> }<br> }</P>
<P> public void start()<br> {<br> Graphics g=CreateGraphics();<br> g.FillRectangle(new SolidBrush(Color.White),0,0,400,400);<br> for(int i=0;i<=19;i++)<br> for(int j=0;j<=19;j++)<br> {<br> xy[i,j]=0;<br> sanke_fx[i,j]="";<br> }<br> for(int i=1;i<=4;i++)<br> {<br> xy[i,1]=1;<br> sanke_fx[i,1]="right";<br> }<br> head.x=4; head.y=1;<br> end.x=1; end.y=1;<br> length=4;<br> Fanxian="right";<br> food();<br> timer.Interval=200;<br> if(menuItem4.Text=="暂停")<br> timer.Start();<br> menuItem4.Enabled=true;<br> }</P>
<P> public void draw()<br> {<br> Graphics g=CreateGraphics();<br> for(int x=0;x<=19;x++)<br> for(int y=0;y<=19;y++)<br> switch(sanke_fx[x,y])<br> {<br> case "up":<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,14,15);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,14,15);<br> break;<br> case "down":<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,14,15);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,14,15);<br> break;<br> case "left":<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,15,14);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,15,14);<br> break;<br> case "right":<br> g.FillRectangle(new SolidBrush(Color.Yellow),head.x*15,head.y*15,15,14);<br> g.DrawRectangle(new Pen(Color.Black),head.x*15,head.y*15,15,14);<br> break;<br> }<br> }<br></P>
[align=right][color=#000066][此贴子已经被作者于2006-4-23 16:35:36编辑过][/color][/align]
<P><br> int length;<br> int [,]xy=new int[20,20];<br> string [,]sanke_fx=new string[20,20];<br> string fanxian;</P>
<P> sankebody head=new sankebody(4,1);<br> sankebody end=new sankebody(1,1);</P>
<P><br> private System.Windows.Forms.Timer timer;<br> private System.Windows.Forms.MainMenu mainMenu1;<br> private System.Windows.Forms.MenuItem menuItem1;<br> private System.Windows.Forms.MenuItem menuItem2;<br> private System.Windows.Forms.MenuItem menuItem3;<br> private System.Windows.Forms.MenuItem menuItem4;<br> private System.Windows.Forms.MenuItem menuItem5;<br> private System.Windows.Forms.MenuItem menuItem6;<br> private System.Windows.Forms.PictureBox radish;<br> private System.Windows.Forms.PictureBox apple;<br> private System.Windows.Forms.PictureBox watermelon;<br> private System.Windows.Forms.PictureBox banana;<br> private System.Windows.Forms.MenuItem menuItem7;<br> private System.ComponentModel.IContainer components;</P>
<P> public Form1()<br> {<br> for(int i=1;i<=4;i++)<br> {<br> xy[i,1]=1;<br> sanke_fx[i,1]="right";<br> }<br> length=4;<br> Fanxian="right";</P>
<P> InitializeComponent();<br> food();</P>
<P> }</P>
<P> /// <summary><br> /// 清理所有正在使用的资源。<br> /// </summary><br> protected override void Dispose( bool disposing )<br> {<br> if( disposing )<br> {<br> if (components != null) <br> {<br> components.Dispose();<br> }<br> }<br> base.Dispose( disposing );<br> }</P>
<P> #region Windows 窗体设计器生成的代码<br> /// <summary><br> /// 设计器支持所需的方法 - 不要使用代码编辑器修改<br> /// 此方法的内容。<br> /// </summary><br> private void InitializeComponent()<br> {<br> this.components = new System.ComponentModel.Container();<br> System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));<br> this.timer = new System.Windows.Forms.Timer(this.components);<br> this.mainMenu1 = new System.Windows.Forms.MainMenu();<br> this.menuItem1 = new System.Windows.Forms.MenuItem();<br> this.menuItem2 = new System.Windows.Forms.MenuItem();<br> this.menuItem3 = new System.Windows.Forms.MenuItem();<br> this.menuItem4 = new System.Windows.Forms.MenuItem();<br> this.menuItem6 = new System.Windows.Forms.MenuItem();<br> this.menuItem5 = new System.Windows.Forms.MenuItem();<br> this.radish = new System.Windows.Forms.PictureBox();<br> this.apple = new System.Windows.Forms.PictureBox();<br> this.watermelon = new System.Windows.Forms.PictureBox();<br> this.banana = new System.Windows.Forms.PictureBox();<br> this.menuItem7 = new System.Windows.Forms.MenuItem();<br> this.SuspendLayout();<br> // <br> // timer<br> // <br> this.timer.Enabled = true;<br> this.timer.Interval = 200;<br> this.timer.Tick += new System.EventHandler(this.time_Tick);<br> // <br> // mainMenu1<br> // <br> this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {<br> this.menuItem1,<br> this.menuItem4,<br> this.menuItem6,<br> this.menuItem5});<br> // <br> // menuItem1<br> // <br> this.menuItem1.Index = 0;<br> this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {<br> this.menuItem2,<br> this.menuItem3});<br> this.menuItem1.Text = "文件";<br> // <br> // menuItem2<br> // <br> this.menuItem2.Index = 0;<br> this.menuItem2.Text = "开始游戏";<br> this.menuItem2.Click += new System.EventHandler(this.menuItem2_Click);<br> // <br> // menuItem3<br> // <br> this.menuItem3.Index = 1;<br> this.menuItem3.Text = "退出";<br> this.menuItem3.Click += new System.EventHandler(this.menuItem3_Click);<br> // <br> // menuItem4<br> // <br> this.menuItem4.Index = 1;<br> this.menuItem4.Text = "暂停";<br> this.menuItem4.Click += new System.EventHandler(this.menuItem4_Click);<br> // <br> // menuItem6<br> // <br> this.menuItem6.Index = 2;<br> this.menuItem6.Text = "有墙模式";<br> this.menuItem6.Click += new System.EventHandler(this.menuItem6_Click);<br> // <br> // menuItem5<br> // <br> this.menuItem5.Index = 3;<br> this.menuItem5.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {<br> this.menuItem7});<br> this.menuItem5.Text = "帮助";<br> // <br> // radish<br> // <br> this.radish.Image = ((System.Drawing.Image)(resources.GetObject("radish.Image")));<br> this.radish.Location = new System.Drawing.Point(136, 168);<br> this.radish.Name = "radish";<br> this.radish.Size = new System.Drawing.Size(15, 15);<br> this.radish.TabIndex = 0;<br> this.radish.TabStop = false;<br> // <br> // apple<br> // <br> this.apple.Image = ((System.Drawing.Image)(resources.GetObject("apple.Image")));<br> this.apple.Location = new System.Drawing.Point(136, 168);<br> this.apple.Name = "apple";<br> this.apple.Size = new System.Drawing.Size(16, 16);<br> this.apple.TabIndex = 1;<br> this.apple.TabStop = false;<br> // <br> // watermelon<br> // <br> this.watermelon.Image = ((System.Drawing.Image)(resources.GetObject("watermelon.Image")));<br> this.watermelon.Location = new System.Drawing.Point(136, 168);<br> this.watermelon.Name = "watermelon";<br> this.watermelon.Size = new System.Drawing.Size(16, 16);<br> this.watermelon.TabIndex = 2;<br> this.watermelon.TabStop = false;<br> // <br> // banana<br> // <br> this.banana.Image = ((System.Drawing.Image)(resources.GetObject("banana.Image")));<br> this.banana.Location = new System.Drawing.Point(136, 168);<br> this.banana.Name = "banana";<br> this.banana.Size = new System.Drawing.Size(16, 16);<br> this.banana.TabIndex = 3;<br> this.banana.TabStop = false;<br> // <br> // menuItem7<br> // <br> this.menuItem7.Index = 0;<br> this.menuItem7.Text = "关于";<br> this.menuItem7.Click += new System.EventHandler(this.menuItem7_Click);<br> // <br> // Form1<br> // <br> this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);<br> this.BackColor = System.Drawing.SystemColors.ActiveCaptionText;<br> this.ClientSize = new System.Drawing.Size(301, 321);<br> this.Controls.Add(this.watermelon);<br> this.Controls.Add(this.apple);<br> this.Controls.Add(this.radish);<br> this.Controls.Add(this.banana);<br> this.MaximizeBox = false;<br> this.MaximumSize = new System.Drawing.Size(309, 355);<br> this.Menu = this.mainMenu1;<br> this.MinimumSize = new System.Drawing.Size(309, 355);<br> this.Name = "Form1";<br> this.Text = "贪吃蛇";<br> this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);<br> this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseDown);<br> this.Load += new System.EventHandler(this.Form1_MouseEnter);<br> this.MouseEnter += new System.EventHandler(this.Form1_MouseEnter);<br> this.ResumeLayout(false);</P>
<P> }</P>
[align=right][color=#000066][此贴子已经被作者于2006-4-23 16:40:04编辑过][/color][/align]
<P><br> #endregion</P>
<P> /// <summary><br> /// 应用程序的主入口点。<br> /// </summary><br> [STAThread]<br> static void Main() <br> {<br> Application.Run(new Form1());<br> }<br> <br> bool b;</P>
<P> private void time_Tick(object sender, System.EventArgs e)<br> {<br> Font f=new Font("Arial", 13);<br> Graphics g=CreateGraphics();<br> g.FillRectangle(new SolidBrush(Color.White),255,15,20,15);<br> g.DrawString(length.ToString(),f,new SolidBrush(Color.Black), new Point(255, 12));<br> b=true;<br> if(b1==true)<br> yidong();<br> else<br> yidong1();<br> }</P>
<P><br> public string Fanxian<br> {<br> get<br> {<br> return fanxian;<br> }<br> set <br> {<br> fanxian=value;<br> }<br> }</P>
<P> private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)<br> {<br> if(b==false||menuItem4.Text!="暂停")<br> return;<br> if (e.KeyCode==Keys.Up)<br> {<br> if (Fanxian!="down")<br> Fanxian="up";<br> }<br> else if (e.KeyCode==Keys.Down)<br> {<br> if (Fanxian!="up")<br> {<br> Fanxian="down";<br> }<br> }<br> else if (e.KeyCode==Keys.Left)<br> {<br> if (Fanxian!="right")<br> {<br> Fanxian= "left";<br> }<br> }<br> else if (e.KeyCode==Keys.Right)<br> {<br> if (Fanxian!="left")<br> {<br> Fanxian= "right";<br> }<br> }<br> b=false; <br> }</P>
<P> private void menuItem4_Click(object sender, System.EventArgs e)<br> {<br> if(this.menuItem4.Text=="暂停")<br> {<br> timer.Stop();<br> this.menuItem4.Text="继续";<br> }<br> else<br> {<br> timer.Start();<br> this.menuItem4.Text="暂停";<br> }<br> }</P>
<P> private void menuItem2_Click(object sender, System.EventArgs e)<br> {<br> start();<br> }</P>
<P> private void menuItem3_Click(object sender, System.EventArgs e)<br> {<br> Application.Exit();<br> }</P>
<P> private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)<br> {<br> if(b==false||menuItem4.Text!="暂停")<br> return;<br> if(e.Button==MouseButtons.Left)<br> switch(Fanxian)<br> {<br> case "up":Fanxian="left";break;<br> case "down":Fanxian="left";break;<br> case "left":Fanxian="up";break;<br> case "right":Fanxian="up";break;<br> }<br> else if(e.Button==MouseButtons.Right)<br> switch(Fanxian)<br> {<br> case "down":Fanxian="right";break;<br> case "up":Fanxian="right";break;<br> case "right":Fanxian="down";break;<br> case "left":Fanxian="down";break;<br> }<br> b=false;<br> }</P>
<P> private void Form1_MouseEnter(object sender, System.EventArgs e)<br> {<br> draw();<br> }</P>
<P> bool b1=true;<br> private void menuItem6_Click(object sender, System.EventArgs e)<br> {<br> if(b1==true)<br> {<br> b1=!b1;<br> menuItem6.Text="无墙模式";<br> }<br> else<br> {<br> b1=!b1;<br> menuItem6.Text="有墙模式";<br> }<br> }</P>
<P> private void menuItem7_Click(object sender, System.EventArgs e)<br> {<br> MessageBox.Show("贪吃蛇大家一定玩吧,刚学编程就写几个程序炼炼手脚。\n请大家多多指教。\n 不锈钢\n <a href="mailto:ht.zz@126.com" target="_blank" >ht.zz@126.com</A>");<br> }<br> }</P>
<P> public class sankebody<br> {<br> public int x=0;<br> public int y=0;<br> public sankebody(int x,int y)<br> {<br> this.x=x;<br> this.y=y;<br> }<br> }<br>}<br></P>
[align=right][color=#000066][此贴子已经被作者于2006-4-23 16:39:22编辑过][/color][/align]
我是初学者,楼主挺厉害的,有注释就更好了! 给楼主个建议,你可以用屏合成技术来消除闪烁,也可以使用DirectX技术来绘制图形。 <P>楼主学C#多长时间了,我刚刚学习,有很多地方不是很清楚。不知道要不要学习一下C++。请楼主赐教</P> 楼主学C#多少时间了,我也想问这个问题!哈哈 <P>加我QQ吧!305177926,交流下 </P> 弱弱的问一句。。。怎么才能编译出在没装framework的机子上能运行的程序???[em04] 呵呵,不错啊,我也只得了35分!~ 我,24分,难度太高了 <DIV class=quote><B>
<DIV class=quote><B>以下是引用<U>zhzhxtrrk</U>在2006-4-17 18:38:00的发言:</B><br>给楼主个建议,你可以用屏合成技术来消除闪烁,也可以使用DirectX技术来绘制图形。</DIV></B>谢谢你的建议。</DIV>
[align=right][color=#000066][此贴子已经被作者于2006-4-24 17:27:23编辑过][/color][/align]
我是自学的,学了几个月。<BR>现在很少上QQ了,不过交流一下也好<BR> 118156247<BR><a href="mailto:ht.zz@126.com" target="_blank" >ht.zz@126.com</A><BR>谢谢大家的支持。 <DIV class=quote><B>以下是引用<U>Sidney</U>在2006-4-19 20:53:00的发言:</B><br>弱弱的问一句。。。怎么才能编译出在没装framework的机子上能运行的程序???[em04]</DIV>
<P><br>.net framework是必要的.因为除了windons2003外的系统都没有捆绑这个运行库[em01]</P>
[align=right][color=#000066][此贴子已经被作者于2006-4-23 16:57:14编辑过][/color][/align]
有代码?? 没有注释的代码就是垃圾~~ 自学??学几个月??好强啊.
hy
[tk04] [tk07] [tk07] [tk08] [tk08]页:
[1]
2
