日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

姓名大战c语言,c语言姓名大作战游戏

發(fā)布時間:2023/12/10 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 姓名大战c语言,c语言姓名大作战游戏 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

結構體內(nèi)容為 玩家名字 血量,攻擊力,防御力

通過名字來計算出兩個玩家各自的初始血量,攻擊力,防御力

#include

#include

#include

#include

#include

typedef struct st

{

char name[20];

int hp;

int stk;

int fangyu;

}STU;

void set_color(int color)

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);

}

void js(STU *p)

{

int i,s=0;

for(i=0; iname); i++)

{

s += abs(p->name[i]);

}

p->hp = s % (200-150+1)+150;

p->stk = s % (50-30+1)+30;

p->fangyu = s%(5-1)%5;

}

int zhangdou(STU *p1, STU *p2)

{

int tstk; //保存p1的攻擊力

int tfy; //保存p2的防御力

tstk = p1->stk;

tfy = p2->fangyu;

printf("[%s]向[%s]發(fā)起攻擊--",p1->name, p2->name);

if (rand()%100 > 70)

{

set_color(4);

printf(" *暴擊* ");

set_color(7);

tstk+=tstk/2;

}

if (rand()%100<10)

{

set_color(4);

printf(" *超級防御* ");

set_color(7);

tfy=tfy+5;

}

tstk-=tfy;

if (tstk < 0)

tstk=0;

p2->hp -= tstk;

if (p2->hp < 0)

{

p2->hp = 0;

}

printf("[%s]受到了%d點傷害并抵擋%d點傷害,HP剩余%d\n\n",p2->name, tstk, tfy, p2->hp);

if (p2->hp == 0)

{

return 1;

}

return 0;

}

main()

{

STU p1,p2,*p;

srand(time(NULL));

printf("輸入兩個玩家姓名:");

scanf("%s%s",p1.name, p2.name);

system("cls");

//計算hp和stk

js(&p1);

js(&p2);

printf("姓名: %s hp: %d 攻擊力: %d 防御力: %d\n",p1.name,p1.hp,p1.stk, p1.fangyu);

printf("姓名: %s hp: %d 攻擊力: %d 防御力: %d\n",p2.name,p2.hp,p2.stk, p2.fangyu);

//z戰(zhàn)斗過程

while (1)

{

if (zhangdou(&p1, &p2) == 1)

{

set_color(3);

printf("[%s]",p1.name);

printf("勝利!\n");

set_color(7);

break;

}

Sleep(500);

if (zhangdou(&p2, &p1) == 1)

{

set_color(3);

printf("[%s]",p2.name);

printf("勝利!\n");

set_color(7);

break;

}

Sleep(500);

}

}

從文件中讀取技能

#include

#include

#include

#include

#include

#include

typedef struct st

{

char name[20];

int hp;

int stk;

}STU;

typedef struct

{

char name[20];

int stk;

}JN;

void set_color(int color)

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);

}

void js(STU *p)

{

int i,s=0;

for(i=0; i < strlen(p->name); i++)

{

s += abs(p->name[i]);

}

p->hp = s % (200-150+1)+150;

p->stk = s % (50-30+1)+30;

}

//初始化技能

int JN_init(JN jn1[100])

{

int k=0;

FILE *fp = NULL;

fp = fopen("E://aa//JN.txt","r");

if (fp == NULL)

{

printf("技能文檔不存在");

exit(0);

}

while (1)

{

JN t;

if (feof(fp)!=0)

{

break;

}

fscanf(fp,"%s%d",t.name,t.stk);

jn1[k++]=t;

}

fclose(fp);

return k;

}

void zhangdou(STU *p1, STU *p2,JN *p3)

{

int p2hp;

printf("[%s]對[%s]發(fā)出%d攻擊",p1->name,p2->name , p1->stk);

p2hp = p1->stk + p3->stk;

p2->hp -= p2hp;

printf("使出技能[%s]增加%d點傷害",p3->name, p3->stk);

if (p2->hp < 0)

p2->hp = 0;

printf("[%s]剩余血量%d\n",p2->name, p2->hp);

}

int main()

{

int i,k=0,t=0,t1,t2,c=0,jk=0,tk;

JN jn[100];

STU play[100],*p;

FILE *fp = NULL;

srand(time(NULL));

fp = fopen("e://aa//name.txt","r");

if (fp == NULL)

{

printf("玩家文檔不存在!");

return 0;

}

//從文件中讀取名字

while (1)

{

STU temp;

if (feof(fp) != 0)

{

break;

}

fscanf(fp,"%s",temp.name);

play[k++]=temp;

}

fclose(fp);

//計算hp和stk

for (i=0; i

{

js(&play[i]);

printf("姓名: %s hp: %d 攻擊力: %d\n",play[i].name, play[i].hp, play[i].stk);

}

//讀取技能文檔

fp = NULL;

fp = fopen("E://aa//JN.txt","r");

if (fp == NULL)

{

printf("技能文件缺失");

return 0;

}

while (1)

{

JN Temp;

if (feof(fp)!=0)

break;

fscanf(fp,"%s%d",Temp.name, &Temp.stk);

jn[jk++] = Temp;

}

fclose(fp);

//z戰(zhàn)斗過程

while (1)

{

t1=rand()%k;//k為玩家數(shù)

t2=rand()%k;//隨機獲取玩家id

tk=rand()%jk;//隨機技能

if (t1 == t2)

continue;

//血量同時不為0才能戰(zhàn)斗

if (play[t1].hp != 0 && play[t2].hp !=0)

zhangdou(&play[t1], &play[t2], &jn[tk]);

else

{

t=0;

for (i=0;i

{

if (play[i].hp != 0)

{

t++;

c=i;

}

}

if (t==1)

{

printf("勝利者:%s",play[c].name);

break;

}

}

Sleep(100);

}

return 0;

}

總結

以上是生活随笔為你收集整理的姓名大战c语言,c语言姓名大作战游戏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。