1. 首页 > 职业攻略

c# 常山北明

作者:admin 更新时间:2024-11-27
摘要:其实c# 游戏排行榜的问题并不复杂,但是又很多的朋友都不太了解c# 积分排行榜,因此呢,今天小编就来为大家分享c# 游戏排行榜的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!一、c# 小游戏代码using System.Collections.Generic public partial class Form1: Form snake a_snake= new snake(5...,c# 常山北明

 

其实c#游戏排行榜的问题并不复杂,但是又很多的朋友都不太了解c#积分排行榜,因此呢,今天小编就来为大家分享c#游戏排行榜的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!一、c#小游戏代码usingSystem.Collections.Generic;publicpartialclassForm1:Formsnakea_snake=newsnake(5);//实例化个长度为5的蛇foodafood=newfood();//实例化一个食物privatevoidpictureBox1_Paint(objectsender,PaintEventArgse)a_snake.drawsnake(g);//画出蛇afood.drawfood(g);//画出来食物if(a_snake.deadsnake())//如果蛇死亡事件为真timer1.Enabled=false;//timer控件停止MessageBox.Show(,,MessageBoxButtons.YesNo))a_snake=newsnake(5);//初始化蛇afood=newfood();//初始化食物g.Clear(pictureBox1.BackColor);//清理pictureboxApplication.Exit();//关闭程序privatevoidbutton1_Click(objectsender,EventArgse)afood.F_point=afood.getpoint();//产生一个食物的随机坐标pictureBox1.Refresh();//刷新pictureboxtimer1.Enabled=true;//开启timer控件timer1.Interval=100;//时间间隔为0.1秒privatevoidtimer1_Tick(objectsender,EventArgse)pictureBox1.Refresh();//刷新pictureboxa_snake.extendsnake();//蛇伸长一节if(a_snake.headpoint==afood.F_point)afood.F_point=afood.getpoint();//蛇头坐标与食物相同a_snake.contractsnake();//没吃到食物就缩短一节privatevoidForm1_KeyDown(objectsender,KeyEventArgse)if(e.KeyCode==Keys.W&&a_snake.Way!=2)if(e.KeyCode==Keys.D&&a_snake.Way!=3)if(e.KeyCode==Keys.S&&a_snake.Way!=0)if(e.KeyCode==Keys.A&&a_snake.Way!=1)//设置KeyDown事件,用按件控制方向publicclasssegment//[一节蛇]类privateintnumber;//私有成员publicintNumber//[一节蛇]的编号publicPointOrign//[一节蛇]的坐标publicvoiddrawpart(Graphicsg)//画[一节蛇]g.DrawEllipse(p,orign.X,orign.Y,10,10);ArrayListalist;//定义一个先进先出的数据表publicPointheadpoint;//蛇头坐标privateintway=1;//初始方向为右publicsnake(intcount)//蛇的构造函数Pointapoint=newPoint(30,30);//初始位置alist=newArrayList(count);//初始化数据表for(inti=1;ialist.Add(apart);//将没节蛇存在表里面if(i==count)//将最后的一节蛇定为蛇头publicvoiddrawsnake(Graphicsg)//画蛇for(inti=0;isegmentseg=(segment)alist[i];publicvoidextendsnake()//伸长一节蛇p=newPoint(headpoint.X,headpoint.Y-10);p=newPoint(headpoint.X,headpoint.Y+10);p=newPoint(headpoint.X-10,headpoint.Y);p=newPoint(headpoint.X+10,headpoint.Y);alist.Add(seg);//将新的一节蛇添加到表尾headpoint=seg.Orign;//重新设蛇头publicvoidcontractsnake()//蛇缩短一节alist.Remove(alist[0]);//删除表的第一个元素publicbooldeadsnake()//射死亡事件if(headpoint.X350||headpoint.Y>270)for(inti=0;isegmentseg=(segment)alist[i];if(seg.Orign==headpoint)//判断是否咬到自己publicPointF_point//食物的坐标publicvoiddrawfood(Graphicsg)//画食物SolidBrushb=newSolidBrush(Color.Blue);Rectanglertg=newRectangle(f_point.X,f_point.Y,10,10);publicPointgetpoint()//获得食物坐标[随机数point]Randomrdm=newRandom(System.DateTime.Now.Millisecond+i);Pointnewp=newPoint(i*10,j*10);usingSystem.Collections.Generic;publicpartialclassForm1:Formliftalift=newlift();//梯子实例化peopleman=newpeople();//人物实例化privatevoidpictureBox1_Paint(objectsender,PaintEventArgse)if(man.mandead())//人物死亡为真MessageBox.Show(,,MessageBoxButtons.YesNo))man.Footpoint=newPoint(alift.downmost.X+50,alift.downmost.Y-20);Application.Exit();//退出游戏privatevoidbutton1_Click(objectsender,EventArgse)man.Footpoint=newPoint(alift.downmost.X+50,alift.downmost.Y-20);button1.Enabled=false;//Button1被锁privatevoidtimer1_Tick(objectsender,EventArgse)if(alift.downmost.YprivatevoidForm1_KeyDown(objectsender,KeyEventArgse)privatevoidForm1_KeyUp(objectsender,KeyEventArgse)//KeyUp事件控制人物左右移动的停止privatevoidtimer2_Tick(objectsender,EventArgse)man.moveleft();//人物向左移动man.moveright();//人物向右移动privatevoidtimer3_Tick(objectsender,EventArgse)privatevoidtimer4_Tick(objectsender,EventArgse)man.moverise();//人物随梯子上升publicclassstep//台阶类是梯子的一个单位privatePointsafep;//台阶的坐标publicvoiddrawstep(Graphicsg)//画台阶[实心长方形]SolidBrushb=newSolidBrush(Color.DarkSlateBlue);Rectanglerect=newRectangle(safep.X,safep.Y,100,10);publicintgetpointx(inti)//台阶的随机X坐标Randomrdm=newRandom(System.DateTime.Now.Millisecond+i);publicPointrisepoint()//新伸起来的台阶坐标Randomrdm=newRandom(System.DateTime.Now.Millisecond*123456);publicArrayListalist=newArrayList(5);//先进先出表publicPointdownmost;//最下面台阶的坐标publicvoiddrawlift(Graphicsg)//画梯子publicvoidliftrise()//梯子上升Pointp=newPoint(astep.Safep.X,astep.Safep.Y-1);for(inti=0;ipublicvoidaddstep()//伸起来的一节梯子astep.Safep=astep.risepoint();downmost=astep.Safep;//始终保证最下面的一节为downmostpublicboolmanland(peopleman)//人物登陆事件if(Math.Abs(s.Safep.Y-(man.Footpoint.Y+10))s.Safep.Xman.Footpoint.Xpublicboolmanout(peopleman)//人物冲出事件if(Math.Abs(s.Safep.Y-(man.Footpoint.Y+10))if(s.Safep.X-10>man.Footpoint.X||man.Footpoint.X>s.Safep.X+100)privatePointfootpoint;//人物的坐标publicvoiddrawpeople(Graphicsg)//画个实心圆代表人物SolidBrushb=newSolidBrush(Color.IndianRed);Rectanglerect=newRectangle(footpoint.X,footpoint.Y,10,10);publicvoidmoveleft()//人物向左移动Pointp=newPoint(footpoint.X-2,footpoint.Y);publicvoidmoveright()//人物向右移动Pointp=newPoint(footpoint.X+2,footpoint.Y);publicvoidmoverise()//人物随梯子上升Pointp=newPoint(footpoint.X,footpoint.Y-1);publicvoidmovedown()//人物下落Pointp=newPoint(footpoint.X,footpoint.Y+1);publicboolmandead()//人物死亡if(footpoint.Y340)二、c#积分排行榜好吧,我来给你实现一下,很基本的代码,如有不清楚的,可追问:SQLServer里创建数据库表,用来保存积分信息,id是唯一标识,UserName是用户名,Score是积分,结构如下图:2.向上表里添加点积分数据,这个就不多说了,数据如下图:3.VS里新建一个页面,在网页的前台aspx页面加入以下代码,用来显示积分排行,其实就是一个查看排行榜的按钮和一个排行榜列表:style=>style=>style=>style=>4.VS里上面的页面的后台cs页面加入以下代码,在按钮点击事件里绑定数据:4.VS里上面的页面的后台cs页面加入以下代码,在按钮点击事件里绑定数据:protectedvoidbtnSel_Click(objectsender,EventArgse)stringstr=;//数据库连接字符串SqlConnectioncon=newSqlConnection(str);//数据库连接stringsqlstr=;//SQL查询积分表,按积分从大到小排序SqlDataAdaptersda=newSqlDataAdapter(sqlstr,con);//执行数据库命令DataSetds=newDataSet();//数据结构sda.Fill(ds);//把查询结果存起来repList.DataSource=ds;//绑定数据结果三、c#如何设计游戏最高得分记录1、c#设计游戏最高得分记录:jar文件本身就是一个压缩文件,吧资源文件和代码一起打包,然后写入,但是这样用户同样可以打开jar文件。2、设定一个变量存储最好成绩,如果这次的成绩大于原有存储的最好成绩,那么就把最好成绩更新成本次成绩。如果要程序再次运行的时候也存储成绩,就要用文件读写方法把成绩存储在文本文档中。3、C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集。4、软件必须做到强大、持久,并具有较强的编程生产力。此种语言为在分布式环境中的开发提供适用的组件开发应用。5、为使程序员容易迁移到这种语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C++的程序员而言。对国际化的支持非常重要。C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用。四、C#适合开发小游戏吗1、我是觉得C#不适合开发小程序,特别是小游戏类的,如果是自己玩一下的话还好,如果你要把这小游戏给别人,为了这个游戏别人还要装framework,装起来真的很恼火~2、我曾经写过一个小游戏,winform的,给了几个朋友,这几个朋友最后都是觉得装framework太累了。3、C#我觉得最适合的就是做网站和开发企业软件,做网站的话只需要在服务器端配置支持软件就好了,企业软件开发出来了之后装个framework啥的也不是大问题。4、如果只是想玩一玩的话建议还是C++吧,兼容性更高一些。五、C#做的单机游戏初学编程还是不要接触游戏引擎,学习XNA要有一定的计算机图形学基础和较强的C#编程能力。Unity3D和XNA从代码上讲大同小异,但学习Unity3D对学习C#基本没有帮助,C#在Unity3D里只是一个工具。其实在winform中,使用GDI+一样可以做简单的游戏。GDI+是图形设备接口,在C#中用它可以绘制图形。具体可以到这了解:如果要实现一些动画,就要用到Timer控件,定时重新绘制下一帧。比如有个游戏叫飞船与陨石,玩法就是操控飞船,避免与陨石相撞。那么逻辑是这样的:intdeltax;//每个时间间隔x坐标的增量intdeltay;//每个时间间隔y坐标的增量//timer1.Interval=1000/60;//60帧每秒privatevoidtimer1_Tick(objectsender,EventArgse)//主要用到Graphics、Pen、Rectangle这几个GDI+中的类//Graphics相当于画布、Pen是笔,Rectangle是位置和大小关于c#游戏排行榜和c#积分排行榜的介绍到此就结束了,不知道你从中找到你需要的信息了吗?如果你还想了解更多这方面的信息,记得收藏关注本站。