我认为此程序应该从2个方向考虑,如果你真的做游戏的话,C#必须配合别的软件一起搞,如果只是做一个机器人程序的话,我建议是这样考虑:
1.只先考虑平面化游戏,不变换视角的~用一个PICTUREBOX加载整个球场图片
2.球场的边线,球门,裁判,球员,中线,总之一些该记录的东西全部用坐标的方式记录下来~
3.球员的移动就是在图片的键盘按下事件里面写,首先,当人带球时,你要处理对方球员的动向和自己球员的动向~根据电脑的难易度来划分犯规和盯人比例,这里面全部用“%”来判断,例如 简单就用 “20%” 难就用“50%”这种方式来,再举个更贴切的例子~假设 对方球员的奔跑速度为100,简单的话就是100*20%,难就是100*50%明白了吗
4.关键里面有一个数据交换的问题~何为数据交换,例如:你带球前进,对方球员短球,这就上把数据发送给你,你接受此数据后,判断根据对方断球几率,和你自己的闪避几率来做 随即数,如果符合则被断掉,如果不符合则不会被断,这样你会继续前进,全都都用是这样来判断,里面要写很多很多很多的计算类朋友你累了~不容易啊~做好的话,想着兄弟一份~呵呵~QQ48017015 ,加QQ的请著名 为CSND朋友,否则我是不会随便加人的,因为现在骗子太多了~呵呵
1.只先考虑平面化游戏,不变换视角的~用一个PICTUREBOX加载整个球场图片
2.球场的边线,球门,裁判,球员,中线,总之一些该记录的东西全部用坐标的方式记录下来~
3.球员的移动就是在图片的键盘按下事件里面写,首先,当人带球时,你要处理对方球员的动向和自己球员的动向~根据电脑的难易度来划分犯规和盯人比例,这里面全部用“%”来判断,例如 简单就用 “20%” 难就用“50%”这种方式来,再举个更贴切的例子~假设 对方球员的奔跑速度为100,简单的话就是100*20%,难就是100*50%明白了吗
4.关键里面有一个数据交换的问题~何为数据交换,例如:你带球前进,对方球员短球,这就上把数据发送给你,你接受此数据后,判断根据对方断球几率,和你自己的闪避几率来做 随即数,如果符合则被断掉,如果不符合则不会被断,这样你会继续前进,全都都用是这样来判断,里面要写很多很多很多的计算类朋友你累了~不容易啊~做好的话,想着兄弟一份~呵呵~QQ48017015 ,加QQ的请著名 为CSND朋友,否则我是不会随便加人的,因为现在骗子太多了~呵呵
>>存储使用xml存储,如果要写成类,可以使用序列化的方法存储与读取。2. 将读取的数据进行一定的转化后再在分析程序中动态地显示出来,比如说我想看一个其中的一个机器人所走过的路径等,绘图用GDI好还是API好?我现在用GDI,那又在哪绘比较好呢?我用的是PictureBox继承的类来完成绘图
>>做这这些东西当然是用DirectX来完成了,
3. 还是绘图的,我希望能将每个机器人的信息独立出来,就是相当于有若干个图层,每个层上面画一个机器人的运动情况,但图层怎么实现啊,好晕啊?刚开始搞绘图,好雾啊!4. 继续问绘图,路径或机器人走过同一个地方,那画的图被盖住了,如何恢复,好像有“异或”绘图吧?5. 所谓的双缓冲就是附设一个BitMap来完成绘图吗?这个不是很清楚,BitMap能否透明,我想如何没法做图层,就只好画若干个PictureBox了,虽然性能会降得不可思议6. 这个没思路。 如果,我想在球赛进行的时候同步进行分析,如何做啊,这时候再通过文件来做媒介太不实际了吧?
>>分析什么啊,分析数据当然是在内存中了。绘图当然是使用directX了,其它的不用考虑。
directx in .net resource:
http://msdn.microsoft.com/theshow/episode037/default.asp
http://www.sunlightd.com/Windows/DirectX.NET/
http://www.doocy.com/C#/PlatFormStat.rar
这个是我的程序源文件,由于我很少看C#的参考书,而且,学这个不久,可能结构不清楚,也没有写注释,希望大家谅解,对C#的进一步开法还是有很多问题啊!DirectX一定没概念啊,咋整哩?VC中如何进行XML的读写啊?大家有没有GDI绘图的资料啊?如果不行,就又重新回到VC进行开始分析器了!
图里只是曲线,最终要的元素是什么?计算机绘制曲线是通过一个点一个点来drawline完成的,没有完全的曲线。所以最重要的元素当然是点。你在绘图的代码里面定义一个数组来存放各条曲线的点坐标或者是数据(是数据你绘图的时候要经过计算换算成绘图座标)。另外再建一个类来写曲线信息,包括绘制开关,数据角标等等属性,再声明该类的arraylist来存放各曲线的信息。绘图时就可以很简单的实现一条曲线一条曲线的绘制,也可以方便的控制哪条绘制哪条不绘制。
如果图形比较复杂,建议还是使用drictx,那是不二的选择~!
另,建议:
不要用Timer来控制“比赛了”
改用线程吧[Sleep]