自己正在编一个小型策略游戏(和战棋一样很呆那种),因为数据庞大执行速度太慢,决定换Vc做
其实是模仿日本某个小游戏做的,原作也是用vc(代码我可要不来),见附件现在提几个问题
1.如何往菜单动态里添加项目,比如我想做一个名为"省份一览"的顶级菜单,把地图的省份做成菜单项,城市作为子项
2.绘制地图,我想的办法是调用画板类,地图由代表城市的小图标组成,之间拿折线连起来,再配上不需要响应点击的文本注释,然后放缩后就拿坐标狂算,当然千城以上估计就慢了,特别是判道路有没有通过窗口时候
另外有一个法子就是假定道路图案游戏中不会发生变化(目前我只设计了陆路和水路两种,将来可能细分),游戏开始时直接做死一层,然后城市图标需要改变时按地形-->道路-->城市-->附加标志的顺序刷即可
我这样想对吗??还是一定要上direct??不用direct实现缓存难度如何??
3.有没有生成随机的图的算法,要求是(1)参数为点的个数 (2)入度有上限 (3)尽可能发生少交叉和重合

解决方案 »

  1.   

    面粉厂(MFC)还是强大的,不过这几天让模板卡的够呛,面粉变浆糊...
      

  2.   

    1.GetMenu之后AppendMenu,或者InsertMenu再Setmenu回去。
    2.可以把地图什么的画到一个大的内存DC(整个地图xxxx*xxxx)里面,然后把窗口所在部分(1024*768)的那部分bitblt到窗口DC显示就可以了。
    以后有什么更新只需要处理内存DC,显示部分可以通过定时或者接收事件的方式更新(bitblt)
      

  3.   

    卡模板的不是MFC而是C++的编译器,lz用的vc6.0?
    如果用模板比较多的话至少要vc2003
      

  4.   

    我用的vs2005,开发MFC程序和VC6的一样吧??
    如果换成.NET架构(好像只要加进去.NET的控件就会问你要不要变)
    哪些地方的效率会减少??
      

  5.   

    好像很少听说游戏拿GDI来做,一般至少是DirtectDraw做的2D游戏
      

  6.   

    顶楼附件已经传到这里
    http://icesheep.ys168.com
    写着主程序下载的那个就是说实话,策略游戏稍微出名点的我几乎都玩过,加上千奇百怪的即时战略可能有上千个了
    其中有几个也给我留下难忘的印象,但是看到这个两兆的小游戏,确实被萌到了
    极小的体积(当然运行大地图还是很吃内存的)
    庞大的地图(日本有个bt做了个6000城市的地图)
    可怕的AI(当然也和核心规则简单有关)
    相当不错的可扩展性(当然再丰富些就好了)
    我想重做一遍,对核心规则和脚本系统丰富下另附本人机器内不删的大型游戏名单前十
    10.太阁(4,5):说实话现在基本靠下各种改版维持兴趣
    9.三国志(5,7,9,11):7代开始了rpg模式,9和11则是战略模式
    8.黑与白:1代很多方面都是先驱者,2代
    7.上古卷轴(3,4):唯一入我眼的rpg,以前翻译有技术障碍,所以是外文的
    6.全面战争:万人战,值得一提的是并不慢
    5.魔兽争霸3:需要提到的是出色的编辑器使得无数人编起了模组,美术上也比较耐看,其余部分和我无关
    4.欧陆风云2:可以理解为西方的三国志,不过场面和跨度大多了,出品商paradox公司原来是编数据库的
    3.太空帝国4:太空游戏还没有找到实质比这个游戏丰富的,特别要想下这游戏是两个人开发的,体积也不大
    2.模拟人生(全系列):这个对我的存在意义就是抵消了其他几个带来的疲惫,美工很NB
    1.文明(全系列):Sid是比God更高的存在^-^
    没有列入一些老游戏的原因是体积小,本来就没可能删掉(也包括战国史和骑马砍杀)
    至于为何没有星际,帝国,heroes3,暗黑,wow之类
    那些都是在网吧和别人一起玩的,让我一个人玩基本没兴趣