Untitled
unknown
c_cpp
a year ago
2.0 kB
7
Indexable
#include <stdio.h>
#include "function.h"
Cat* newCatType(){
Cat *newcat=(Cat *)malloc(sizeof(Cat));
newcat->catName=(char *)malloc(30);
char name[30];
scanf("%s",name);
strcpy(newcat->catName,name);
scanf("%d %d %d",&newcat->attackPower,&newcat->attackSpeed,&newcat->levelUpTime);
return newcat;
}
Monster* buildMonster(){
Monster *mon=(Monster *)malloc(sizeof(Monster));
scanf("%d %d %d %d",&mon->hp,&mon->skill_1_CooldownTime,&mon->skill_2_CooldownTime,&mon->skill_2_Duration);
return mon;
}
Battlefield* newCat(Cat **catTypes, int currentTime){
Battlefield *newkitty=(Battlefield*)malloc(sizeof(Battlefield));
int type;
scanf("%d",&type);
newkitty->catLevel=1;
newkitty->cat=(Cat*)malloc(sizeof(Cat));
newkitty->cat->attackPower=catTypes[type]->attackPower;
newkitty->cat->attackSpeed=catTypes[type]->attackSpeed;
newkitty->cat->levelUpTime=catTypes[type]->levelUpTime;
newkitty->cat->catName=(char *)malloc(30);
strcpy(newkitty->cat->catName,catTypes[type]->catName);
return newkitty;
}
void skill_1(Battlefield *battlefield[], Monster *monster, int currentTime){
int count=0;
for(int i=0;i<currentTime;i++){
if(battlefield[i]!=NULL){
battlefield[i]->catLevel=battlefield[i]->catLevel-1;
count++;
}
}
monster->hp=monster->hp+100*count;
}
void skill_2(Battlefield *battlefield[], Monster *monster, int currentTime){
for(int i=currentTime;i<currentTime+monster->skill_2_Duration;i++){
for(int j=0;i<currentTime;j++){
if(battlefield[j]!=NULL){
if(i%battlefield[j]->cat->attackSpeed == 0){
monster->hp=monster->hp+battlefield[j]->cat->attackPower;
}
}
}
}
}
Battlefield* deleteCat(Battlefield *battlefield){
free(battlefield->cat->catName);
free(battlefield->cat);
free(battlefield);
return NULL;
}
Editor is loading...
Leave a Comment