当前位置: 首页 > article >正文

实训项目之姓名大作战

1.//存在漏洞,谁在前,谁先胜出

#include <stdio.h>

#include <string.h>
#include <math.h>
#include <windows.h>


typedef struct _PLAYER
{
char name[32]; // 姓名
int HP; // 生命力
int atk; // 攻击力
}PLAYER;


void print(PLAYER *p);
void calc(PLAYER *p);
int fight(PLAYER *pa, PLAYER *pb);


main()
{
PLAYER p1 = {0}, p2 = {0};


// 输入姓名并计算属性
printf("请输入两个名字:");
scanf("%s %s", p1.name, p2.name);
calc(&p1);
calc(&p2);


while (1)
{
if (fight(&p1, &p2) == 1)
{
printf("%s胜出!\n", p1.name);
break;
}
Sleep(200);


if (fight(&p2, &p1) == 1)
{
printf("%s胜出!\n", p2.name);
break;
}
Sleep(200);
}
system("pause");
}


// 计算属性方法,可适当调整
void calc(PLAYER *p)
{
int i, count = 0;


for (i = 0; i < strlen(p->name); i++)
{
count += abs(p->name[i]);
}
p->HP = count % 21 + 80; // HP范围:80-100
p->atk = count % 21 + 20; // atk范围:20-40


print(p);
}


// 打印属性方法
void print(PLAYER *p)
{
printf("姓名:%s  生命力:%d  攻击力:%d\n", p->name, p->HP, p->atk);
}


// 战斗,pa为攻击方,pb为防御方
int fight(PLAYER *pa, PLAYER *pb)
{
int harm = 0;


printf("[%s] 攻击了 [%s],", pa->name, pb->name);
harm = pa->atk;
// 暴击
if (rand() % 100 > 70)
{
harm += pa->atk * 0.5; // 暴击加50%伤害
printf("并打出了暴击,");
}
pb->HP -= harm;
if (pb->HP < 0)
{
pb->HP = 0;
}
printf("造成了 <%d> 点伤害,[%s] 还剩余 {%d} 点生命力\n", harm, pb->name, pb->HP);
if (pb->HP == 0)
{
return 1;
}
return 0;

}

2.

http://www.lryc.cn/news/2413852.html

相关文章:

  • java qq批量注册_JavaQQ 模仿QQ,实现简单的qq功能:注册、登陆、查找好友、聊天 。服务端还需 配置文件 ICQ-IM-Chat 272万源代码下载- www.pudn.com...
  • TextBox多行文本框内容自动换行
  • 至商3000服务器信息,至商软件怎么使用
  • 详细介绍操作系统
  • access视频教程百度网盘_office 2016 全套高清视频教程打包下载 - 行客工作室
  • 5.3 负反馈放大电路的方块图及一般表达式
  • WorkPlus即时通讯,让沟通零障碍!企业协作更高效
  • Kali Linux环境下实施DoS攻击工具解读与实战应用
  • sap,一句话入门
  • 【宅男宅女们的福音】电影天堂最新电影爬取及搜索脚本
  • SQL实战50例:MySQL查询语句练习
  • C语言之指针与结构体
  • 古代奥运会创始人是谁?
  • Android-保姆级初步工作
  • 如何防御DDOS攻击 DDOS攻击是什么意思
  • 常用黑盒测试方法
  • 使用canvas进行图像处理
  • JSBSim学习笔记(1)——简介
  • WakeLock保持后台唤醒状态
  • js disabled属性的添加与删除
  • USACO1.4 母亲的牛奶 Mother's Milk
  • Reflect中MethodInfo使用方法
  • MyEclipse 8.0 M1 下载 (Standard and Pro Editions)
  • 本地连接的ip地址 子网掩码 默认网关 还有dns服务器地址怎么设置? (转自网易博客)
  • OA项目之我的审批(查询会议签字)
  • nodejs 使用async进行BT吧最新电影数据爬取
  • FLASH常见问题
  • C/C++《计算思维综合实践I》参考选题(84题)[2024-05-22]
  • 个人面试总结暨2020年终总结
  • 聊一聊go的单元测试(goconvey、gomonkey、gomock、ginkgo)