实例介绍
【实例简介】
C# 中国象棋游戏,仅供学习交流使用,请勿用于商业用途
【实例截图】
【核心代码】
public void panel1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) {//方法功能:画旗盘 Graphics g=e.Graphics; int startLeft,startTop; if(this.displaySize==15) { startLeft=48;startTop=32;//左上角点 800*600 } else { startLeft=60;startTop=35;//左上角点 1024*768 } int Index=0; //记录点的索引 width=panel1.Width; height=panel1.Height; width=width/9; height=height/10; //确定每个方格的宽和高 width-=4; height-=3; Pen pen1=new Pen(Color.DarkBlue,3); Pen pen2=new Pen(Color.Black,2); int startX=startLeft,startY=startTop; for(int i=0;i<2;i ) { for(int j=0;j<4;j ) { for(int k=0;k<8;k ) {//以下括号内所有语句为画一行方格 g.DrawRectangle(pen1,startX,startY,width,height); point[Index]=new Point(startX,startY); Index ; startX =width; } point[Index]=new Point(point[Index-1].X width,point[Index-1].Y); Index ; startY =height; //往下移动动坐标,画下一行方格 startX=startLeft; } //记录上面忘下的九个点 for(int ii=Index-9,j=0;j<9;ii ,j ) { point[Index]=new Point(point[ii].X,point[ii].Y height); Index ; } int paoX,paoY; //声明画炮点的漂亮图案坐标 int x,y,temp; //画将/帅的辅助变量 if(i==0) { paoX=startLeft width; paoY=startTop 2*height; x=startLeft 3*width; y=startTop 2*height; temp=0; } else { paoX=startLeft width; paoY=startTop 7*height height/2; x=startLeft 3*width; y=startLeft 9*height 2; temp=7*height height/2 2; } //画横向的两个炮的漂亮图案 DrawAllSitePoint(sender,e,paoX,paoY,width); paoX=startLeft 7*width; DrawAllSitePoint(sender,e,paoX,paoY,width); //画将/帅家 float[] dashValues={3,1,3,1,3,1}; pen2.DashPattern=dashValues; g.DrawLine(pen2,x,startTop temp,x 2*width,y); x=startLeft 5*width; g.DrawLine(pen2,x,startTop temp,x-2*width,y); //画中间的河 Font font=new Font("华文行楷", 42F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); Brush brush=new SolidBrush(Color.Purple); PointF tempPoint=new PointF(startLeft,startTop 4*height 10); string tempStr; if(this.displaySize==15) { tempStr=" 楚 河 汉 界 "; /************适于800*600 分辩率**************/ } else { tempStr=" 楚 河 汉 界 "; /************适于1024*768分辩率**************/ tempPoint.Y=tempPoint.Y 8; } g.DrawString(tempStr,font,brush,tempPoint); startX=startLeft; startY=startTop 5*height height/2; //移动坐标,画下方旗盘 } for(int i=29;i<=33;i =2) DrawAllSitePoint(sender,e,this.point[i].X,this.point[i].Y,width); for(int i=56;i<=60;i =2) DrawAllSitePoint(sender,e,this.point[i].X,this.point[i].Y,width); this.DrawLeftHalfSitePoint(sender,e,this.point[27].X,this.point[27].Y,width); this.DrawRightHalfSitePoint(sender,e,this.point[35].X,this.point[35].Y,width); this.DrawLeftHalfSitePoint(sender,e,this.point[54].X,this.point[54].Y,width); this.DrawRightHalfSitePoint(sender,e,this.point[62].X,this.point[62].Y,width); pen1.Dispose(); g.Dispose(); MyInitializeComponent(); } private void Form1_Load(object sender, System.EventArgs e) { this.panel1.Cursor = new Cursor(@"..\..\cursor\greenflag.cur"); this.label7.Cursor = new Cursor(@"..\..\cursor\greenflag.cur"); this.label8.Cursor = new Cursor(@"..\..\cursor\greenflag.cur"); this.pictureBox1.Cursor=new Cursor(@"..\..\cursor\heart.cur"); this.pictureBox3.Cursor=new Cursor(@"..\..\cursor\heart.cur"); this.pictureBox4.Cursor=new Cursor(@"..\..\cursor\heart.cur"); this.pictureBox5.Cursor=new Cursor(@"..\..\cursor\heart.cur"); MyInitializeComponent(); //布置 this.panel1.Width=this.Width-this.panel2.Width; this.panel1.Height=this.Height-this.statusBar1.Height-52; this.panel2.Left=this.Left this.panel1.Width; this.panel2.Height=this.panel1.Height; this.panel2.Width=this.Width-this.panel1.Width; login=new Form3(); /*if(login.ShowDialog()==DialogResult.OK) { label1.Text=login.textBox1.Text.ToString() " VS " login.textBox2.Text.ToString(); if(login.radioButton1.Checked) this.computerAuto=true; login.Close(); } else login.Close(); playName[1]="女孩"; playName[2]="男孩"; playName[3]=login.textBox1.Text.ToString(); playName[4]=login.textBox2.Text.ToString(); */ } private void panel1_Resize(object sender, System.EventArgs e) { MyInitializeComponent(); } private void label1_DoubleClick(object sender, System.EventArgs e) { string tempStr; tempStr=playName[1]; playName[1]=playName[3]; playName[3]=tempStr; tempStr=playName[2]; playName[2]=playName[4]; playName[4]=tempStr; label1.Text=playName[3]; label1.Text =" VS " playName[4]; login.textBox1.Text=playName[3]; login.textBox2.Text=playName[4]; //this.blueZhanJi=0; //this.redZhanJi=0; //this.statusBarPanel2.Text="红方: 0"; //this.statusBarPanel3.Text="蓝方: 0"; }
相关软件
网友评论
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
支持(0) 盖楼(回复)