Cocos2d-x   发布时间:2022-05-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Cocos2d如何实现一个指针的添加节点大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如何定义一个指向NPC的指针,
struct NPC * pn;

用户在终端输入npc的数量,动态分配npc的空间

#include <stdio.h>

#include <stdlib.h>


typedef struct _NPC{

char name[20];

int hp;

int act;

}NPc;

typedef struct _NODE{

NPC data;

struct _NODE * pNext;

}NODE;//一个节点


NODE * head=NULL; //定义头结点

void addNODE(){

if (head==NULL) {

head=@H_988_87@malloc(sizeof(NODE));

printf("请输入NPC信息名字 hp act");

scanf("%s %d %d",head->data.name,&head->data.hp,&head->data.act);

head->pNext=NULL;

}else{

NODE * p=head;//p指向头节点

while (p->pNext!=NULL) {

p=p->pNext;//p指向下一个节点

}

p->pNext=@H_988_87@malloc(sizeof(NODE));

p=p->pNext;

:18px; font-family:Menlo; color:rgb(201,&head->data.act);

p->pNext=NULL;

}

printf("添加节点成功\n");

}

void printNODE(){

NODE *p=head;

while (p!=NULL) {

printf("NPC名字 %s hp %d atc %d\n",p->data.name,p->data.hp,p->data.act);

p=p->pNext;

}

printf("输出所有节点成功\n");

}

void insertNODE(){

//创建一个新节点

NODE * newNODE=@H_988_87@malloc(sizeof(NODE));

printf("请输入NPC的名子 hp act\n");

scanf("NPC:rgb(201,newNODE->data.name,&newNODE->data.hp,&newNODE->data.act);

printf("请输入插入到第几个节点之后\n");

int index;

int count=0;

NODE * p=head;

scanf("%d",&indeX);

while (p!=NULL) {

count++;

if (count>=indeX) {

break;

}

p=p->pNext;

}

NODE *p2=p->pNext;

p->pNext=newNODE;

newNODE->pNext=p2;

printf("插入节点成功\n");

}

void deleteNODE(){

int index;

printf("请输入要删除第几个节点\n");

scanf("%d",&indeX);

int num=0;

NODE * p=head;

while (p!=NULL) {

num++;

p=p->pNext;

}

if (index==1) {

p=head;

head=head->pNext;

free(p);

}else if (index==num){

NODE * p=head;

while (p->pNext->pNext!=NULL) {

p=p->pNext;

}

free(p->pNext->pNext);

p->pNext=NULL;

}else{

int count=1;

NODE * p=head;

while (p!=NULL) {

count++;

if (count==indeX) {

break;

}

p=p->pNext;

NODE * p2=p->pNext;

p->pNext=p2->pNext;

free(p2);

}

printf("删除节点成功\n");

}

}

void modifyNODE(){

int index;

printf("请输入有修改的节点\n");

scanf("%d",&indeX);

NODE * p=head;

int count=0;

while (p!=NULL) {

count++;

if (count>=indeX) {

break;

}

p=p->pNext;

printf("请输入NPC的名字 hp act\n");

scanf("%s %d %d\n",&p->data.hp,&p->data.act);

}

printf("修改节点");

}

int main(int argc,const char * argv[]) {

printf("NPC管理系统\n");

int menuSELEct;

while (1) {

printf("1.添加NPC节点\n");

printf("2.输出所有NPC节点\n");

printf("3。插入NPC节点\n");

printf("4.删除NPC节点\n");

printf("5.修改NPC节点\n");

printf("6.退出\n");

scanf("%d",&menuSELEct);

switch (menuSELEct) {

case 1://添加节点

addNODE();

break;

case 2://输出节点

printNODE();

break;

case 3://插入节点

insertNODE();

break;

case 4://删除节点

deleteNODE();

break;

case 5://修改节点

@H_948_845@modifyNODE();

break;

case 6://退出

return 0;

break;

default:

break;

}

}

return 0;

}

大佬总结

以上是大佬教程为你收集整理的Cocos2d如何实现一个指针的添加节点全部内容,希望文章能够帮你解决Cocos2d如何实现一个指针的添加节点所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。