#includestdio.h
#includestring.h
#includemalloc.h
#includestdlib.h
#define PLACE_OF_LA D:\\data1.txt
#define PLACE_OF_LB D:\\data2.txt
#define LEN_OF_LA 6
#define LEN_OF_LB 3
#define LEN_OF_LC LEN_OF_LA+LEN_OF_LB
typedef struct elem{
int id;
char name[12];
}ElemType,*TpList;
typedef struct seqlist{
TpList list;
int num;
char *place;
}TSeqList,*pTSeqList;
TpList list_init(int num);
void list_read(pTSeqList p);
void list_sort(TpList p,int len);
TpList list_init(int num)
{
TpList p=(TpList)malloc(sizeof(ElemType)*num);
if(!p)
{
printf("Fail!");
exit(0);
}
return p;
}
void list_read(pTSeqList p)
{
int i;
FILE *pData=NULL;
if((pData=fopen("p-place","r"))==NULL)
{
printf("fail to open!");
return;
}
for(i=0;ip-num;i++)
{
if(fscanf(pData,"%d",(((p-list)+i)-id))==EOF)
{
printf("fail to read!");
return ;
}
if(fscanf(pData,"%s",(((p-list)+i)-name))==EOF)
{
printf("fail to read!");
return ;
}
}
fclose(pData);
return ;
}
void list_sort(TpList p,int len)
{
int i,j,id;
char *temp;
for(i=0;ilen-1;i++)
{
for(j=i;jlen;j++)
{
if((p+i)-id(p+j)-id)
{
id=(p+i)-id;
(p+i)-id=(p+j)-id;
(p+j)-id=id;
strcpy(temp,(p+i)-name);
strcpy((p+i)-name,(p+j)-name);
strcpy((p+j)-name,(p+i)-name);
}
}
}
return ;
}
int main()
{
int i;
pTSeqList pa,pb;
TpList pc;
pa-num=LEN_OF_LA;
pb-num=LEN_OF_LB;
pa-place="PLACE_OF_LA";
pb-place="PLACE_OF_LB";
pa-list=list_init(pa-num);
pb-list=list_init(pb-num);
pc=list_init(LEN_OF_LC);
list_read(pa);
list_read(pb);
for(i=0;ipa-num;i++)
{
pc[i].id=(pa-list)[i].id;
strcpy(pc[i].name,(pa-list)[i].name);
}
for(i=0;ipa-num;i++)
{
(pc+i+pa-num)-id=((pb-list)+i)-id;
strcpy((pc+i+pa-num)-name,((pb-list)+i)-name);
}
list_sort(pc,LEN_OF_LC);
printf("id name");
for(i=0;iLEN_OF_LC;i++)
{
printf("%d\t",pc[i].id);
printf("%s\n",pc[i].name);
}
free(pa);
free(pb);
free(pc);
return 0;
}
绘制的话,当然现在说的是c语言的debug调试窗口的方法,等到后面学到其它编程就可以用面向对象的方法了
好了,先说这个,,如果是用printf绘图,那么你把你地图放到一个二维数组里面,两级for循环打印就行了
清除就用system("cls");
包含头文件windows.h
键盘的调用,既然是简单的话,就用getchar或者是scanf来输入
如果是没有按键就要执行的操作,就用while(!kbhit){}贪吃蛇一般就用这个东西,因为没有按键按下的时候,程序还是一样要运行,不能一直等到用户的按键
其余,百度
我只知道大概可以使用Python调用C或C++写的库,最近刚刚学过python,记得有SWIG工具可以实现,具体方法不清楚,python可视化编写游戏,我用过pygame,还是比较方便的,如果要开发塔防也行,这里有一些实验的代码可以发给你。如果对python感兴趣,推荐一本python基础编程,电子版pdf我这里也有。C++中嵌入python,我没太见过,不清楚。暂时只知道这些,仅供参考。另外,对于开发塔防游戏很感兴趣,本来准备用纯python写一个的,不知道你有没有兴趣合作?
Construct 2--非常适合一个人做游戏,无需编程知识,就可以让你在Windows上创建 iOS、Android以及Facebook游戏,还是个不错的HTML5游戏引擎。
GameSalad--GameSalad同样有着可视化的界面,使用简单的拖放操作方式,无需一行代码。GameSalad适合那些喜欢创造游戏而不喜欢写代码的游戏爱好者,把“快速原型”的概念提到了一个新水平。使用GameSalad可开发出适合多种移动设备和平台的游戏,比如iPhone、iPad、Android、Windows、Mac以及HTML5游戏。
对应你说的,开发软件只是一个平台,关键是你是否有编程的能力,只要有能力,别说塔防了,飞机大战都不是问题,如果没有,那上面两款软件比较适合你玩玩。
先把需要的素材整理好 。 例如 塔防精灵 怪物精灵 游戏地图 等
都做好之后开始写代码 例如 要有精灵类这个类是基类 之后有两个扩展类一个是塔防精灵 另一个是怪物精灵 还有有地图类 控制类 根据需要在添加。
这样的都会有一个地图,都会有坐标,
*子弹追踪移动的敌人如何实现?
[子弹的移动] 首先会有时间触发.可以按敌人每移动一点就可以触发移动事件.会返回敌人的坐标,每个子弹发出时.在子弹的类中要有目标对象的记录.由于速度不会一样.简单的话用圆型子弹,复杂点就其它形状(要转向处理,旋转)
*敌人要是很多只追踪最近的一个
这个其实差不多,在有坐标时你就可以按指定的方式查找你炮塔指定坐标内的全部对象,计算一下就可以得到.
问题2:炮塔对着敌人转,炮塔的转向如何表现出来,怎么画出来?
如果是 顶视图只要图片旋转一下就可以了,如果不是那就要有这个塔的各个方位的图片,在旋转指定角度时绘制指定方位的图
问题3:敌人的爆炸效果,如何画出来?
如果你知道gif文件的话就知道,其实也是一张张的图片快速刷新替换 来达到的,计算机的速度你可以放心
问题4:每次添加的一个炮塔,如何去控制这个炮塔,是一个控件还是?或者数组?
你控制是升级还是位置.如果知道点游戏编程的话,都应该在设计时都会有大小也有坐标.在.具体是控件还是数组.还是看你的基础了,控件可能简单一点吧
控件: 单击事件等,可以弹出升级 删除等操作
不用的话.直接要有物体管理类.记录每一个物体的坐标,在发生事件时,可以查找指定坐标物体.然后再绘制要怎么做出响应
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
其实你在做时应该先看下 RPG游戏制作流程,工作模式
提醒大家:这绝对不是一篇cocos2d的入门教程,而是对入门后的朋友提供的关于具体类型游戏的开发指导。如果你还不懂ios开发基础,也不懂cocos2d,建议先去看看入门的教程再说,否则你会很头疼的。另外,这里所采用的案例是类似fieldrunner或三国塔防之类的游戏,而不是植物大战僵尸那一型的。
在所有类型的休闲游戏中,塔防游戏一直是大家最喜欢的类型之一(想想植物大战僵尸,想想无数经典的塔防游戏),考虑到这类游戏的编程比较麻烦,这里我们先大概说一下塔防游戏的基本设计机制。
神马是塔防游戏:
敌人从地图的一端进入,经过某个特定的路径后最终达到目的地(通常是地图相反的一端),并偷取了你的宝物若干。当然,前提是他们活下来了。
2.玩家沿着路径放置一些防御炮塔,在敌人经过时朝他们开火。敌人一波一波的过来,同事变得越来越强大,你需要不断放置更多的防御工事,同时升级这些炮塔。
3.要赢得游戏,你得挺过20到50波的敌人,或者是无止尽的玩下去,直到你的宝物被全部偷走为止。
好吧,既然大家对塔防游戏都这么熟悉,那为什么哥还要在此唠叨,而不直接开始写源代码?淡定,淡定!为神马哥要花这些时间讲游戏机制,很简单,塔防游戏可以说是一种古董游戏类型了。如果你想让自己辛辛苦苦开发出来的游戏有人问津,恐怕不是几千几万行完美的源代码就可以解决的。所以哥得说,要嘛你别做此类游戏,如果要做的话,还是得有点创意才行。
是的,作为一个程序猿和攻城师,你的代码可以无比高效完美,但如果在游戏的创意设计方面乱七八糟,恐怕没人会对你的游戏感兴趣,甚至你自己都懒得花时间来玩一下。下面是哥认为设计塔防游戏要注意的一些元素:
我来说两句