day2

显示转换

小数据类型 变量 =(小数据类型)变量;

↑必须都是数字类型
强制转换符
string->int
convert.to类型;
例:

string str=console.ReadLine();
int age=convert.toint32;
system.console.wroteline(“我的年龄是”+age+“岁”);

隐式转换
不会导致数据丢失,不需要任何语法,小转大自动转换

运算符

关系运算符

大于>,<小于,
<=大于等于,>=小于等于,
==等于,!=不等于
返回的是一个bool值

逻辑运算符
&按位与运算 转换成二进制运算(一假全假
18&6 == 2
10010
00110
———
00010
| 按位或运算(一真全真
18 | 6 == 22
10010
00110
———
10110

&& 短路与运算(且
左右放俩bool数值

||短路或运算(或

!非

c#的三大结构
顺序结构
分支结构(条件判断
if if…else
循环结构

if语句

if(条件表达式)
{语句;
}

当条件表达式为true,则执行大括号中的所有语句,没满足就跳过大括号里的语句

三目运算符

布尔类型 ? 结果a :结果b;

如果布尔为true 则结果是a,否则是b
例:
A > B ? A : B
若A>B,结果是a

if的第三种形式

if()
{语句;
}
else if()
{语句二;
}
————
else
{语句n;
}

如果第一个为真,执行第一个,如果一为假就执行后面的

switch语句

switch(表达式/变量-大多情况下都是变量)
{case 值 :{语句1;break;}
case 值2 :{语句2;break;}
default:{语句n+1;break;}=》等价于else
}

根据表达式的值查找与值匹配的分支,直到遇到break,遇到break则跳出swith继续往下,如果没匹配到就执行default后面的语句然后跳出

函数
在静态的方法里面调用函数也需要是静态的(static)

修饰符    返回类型    函数名称  (传参数的)
{代码块
}

(void->不需要任何返回值)

//调用函数
函数名 ( ) ;

 if (string.IsNullOrEmpty(name))

判断name字段是否为空

 hp = new Random().Next(90,110);

新生成一个随机数 ↑随机范围(包含
下限不包含上限

Console.WriteLine("恭喜,角色创建成功!您的角色名称为:{0},初始血量为:{1},攻击力为:{2},
速度为:{3}",name,hp,atk,speed);

{0}占位符,字符串后面按顺序添加变量

练习

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace day02
{class Program{//姓名static string name = "";//最大血量static int hp;//当前血量static int c_hp;//成长static int g_hp;//攻击力static int atk;//成长攻击static int g_atk;//速度static int speed;//成长速度static int g_speed;//等级 1000exp=1Levelstatic int level = 1;//经验static int exp = 100;//当前经验值static int c_exp = 0;//金币static int money = 10;//幸运值static int lucky;static string pyz = "排云掌";//创建角色static void creatrCharacter(){//系统提示Console.WriteLine("请输入你的角色名称:");name = Console.ReadLine();//判断name字段是否是空值if (string.IsNullOrEmpty(name)){//默认名称name = "起不起名";}//血量hp = new Random().Next(90,110);//给当前血量赋值c_hp = hp;//成长血量g_hp = new Random().Next(7,12);//攻击力atk = new Random().Next(7,12);//成长攻击g_atk = new Random().Next(2, 5);//速度speed = new Random().Next(90,110);//成长速度g_speed = new Random().Next(10,16);//幸运值lucky = new Random().Next(1,200);//给出提示Console.WriteLine("恭喜,角色创建成功!您的角色名称为:{0}," +"初始血量为:{1},攻击力为:{2},速度为:{3}",name,hp,atk,speed);//基础属性总和int num = hp + speed + atk;//成长数值总和19-30int num2 = g_atk + g_hp + g_speed;//判断人物属性给出提示if (num<200 ){//系统提示Console.WriteLine("你的角色有点子弱");}else if (num>=200 &&num<=210){//判断人物属性给出提示Console.WriteLine("属性也就一般般! ");}else{//判断人物属性给出提示Console.WriteLine("不愧是你,你就是欧皇本黄!!!");}if (num2<=23){//判断人物成长属性给出提示Console.WriteLine("嘶,你不太行啊这个潜力 ");}else if (num2>=23&&num2<=27){//判断人物成长属性给出提示Console.WriteLine("潜力中等,我觉得海星 ");}else{//判断人物成长属性给出提示Console.WriteLine("不愧是你,潜力牛批");}}//新手村static void xinShouCun(){//提示Console.WriteLine("您的前方有一名乞丐,另外一侧站在一位看起来很富有的人" +",请问你要同谁对话");Console.WriteLine("1.乞丐    2.富有的人   3.谁都不理");//获取玩家选择string str = Console.ReadLine();//判断玩家选择if (str == "1" ){//乞丐//系统提示Console.WriteLine("乞丐觉得你根骨奇佳,掏出一本绝世武功");//判断事件几率if (new Random().Next(0,100) >70){//残废//减掉当前血量30点c_hp -= 30;//减掉基础速度5点speed -= 5;//系统提示失败Console.WriteLine("学武走火入魔,掉了30点血");}else{//成长属性提升//成长血量+5g_hp += 5;//成长攻击力+1g_atk += 1;//成长速度+5g_speed += 5;//系统提示成功Console.WriteLine("少侠领悟超群,学会了绝世武功,感觉神清气爽,各项属性有所提升");}}//判断玩家选择else if (str == "2"){//富有的人//判断事件几率if (new Random().Next(0, 100) > 70 ||lucky>=130){//得到钱//获得20金币money += 20;//系统提示事件方向Console.WriteLine("富豪觉得你很有潜力,给了你20金币让你出去历练");}else{//破产了//扣掉9金币money -= 9;//系统提示事件方向Console.WriteLine("富豪心情不好,叫人打了你一顿,损失9金币qaq");}}//离开新手村提示Console.WriteLine("伴着村名的鼓励声,你离开了新手村,向长安进发");//判断玩家幸运值触发隐藏事件if (lucky>=130){//系统提示Console.WriteLine("在离开村子的路上,不经意间崴到脚滚到了一个神秘的山洞中,看到一具白骨,在白骨边上放了一本武功秘籍,你经不住好奇拿起来翻看");//判断攻击力走向不同分支if( g_atk >= 4){//判断事件方向(概率if (new Random().Next(0,100)<=70){//攻击力+5atk += 5;//系统提示事件走向Console.WriteLine("少侠骨骼清奇,领悟奇佳,感到武学上有所领悟(攻击力增加了)");}else{//当前血量-10c_hp -= 10;//系统提示事件走向Console.WriteLine("少侠因心境不稳走火入魔,减少了10点血");}}}}//查看信息static void ShowInfo(){Console.WriteLine("您当前的属性是:" +"hp:{0}/{1},攻击力:{2},速度:{3},当前金钱:{4},当前等级:{5},当前经验:{6}/{7}",c_hp,hp,atk,speed,money,level,c_exp,exp);}//郊区static void jiaoQu(){//提示Console.WriteLine("村口站着一位背着行囊的商人,是否对话");Console.WriteLine("1.对话    2.抢劫");//获取用户选择string str = Console.ReadLine();//判断用户选择if (str == "1"){//对话Console.WriteLine("商人笑眯眯的看着你说道:“只要给我20金币,就能让你脱胎换骨,一飞冲天!");Console.WriteLine("1.给了给了   2.拉倒没钱");//获取用户选择string str1 = Console.ReadLine();//判断用户选择以及金币数量if (str1 == "1" && money>=20){//扣掉20金币money -= 20;//血上限+10hp += 10;//攻击力+2atk += 2;//速度+8speed += 8;//提示Console.WriteLine("你感到一阵神清气爽,武学上有所领悟(属性提升)");//查看人物属性ShowInfo();}else{//系统提示Console.WriteLine("商人一脸不屑的看了你一眼离开了这个位置");}}//判断用户选择else if(str == "2"){//计算人物初始属性int num = hp + speed + atk;//抢劫//判断人物属性是否足够抢劫if (num>210||lucky>=180){//获得30金币money += 30;//获得100点经验c_exp += 100;//系统提示Console.WriteLine("你掏出了一把刀,商人落荒而逃,获得了30金币,获得了100经验");//查看人物属性ShowInfo();}else{//如果不成功扣掉当前10血量c_hp -= 10;//系统提示Console.WriteLine("抢劫失败,商人鄙视的看了你一眼并且把你打了一顿,掉了10点血");}}//遇到野怪提示Console.WriteLine("你遇到了一匹野生的疯狗,要跑路吗?");Console.WriteLine("1.跑啥干他!    2.告辞告辞打不过");//获取用户选择string str2 = Console.ReadLine();//判断用户选择if (str2 == "1"){//设置野怪血量int gouHp= 30;//设置野怪攻击力int gouAtk = 4;//设置野怪速度int gouSpeed = new Random().Next(90,120);//打野怪,如果玩家和野怪都活着就继续循环while (gouHp>=0&&c_hp>=0){//判断玩家和野怪的速度,如果玩家比野怪快就玩家先攻击if (speed > gouSpeed){//系统提示玩家攻击Console.WriteLine("你打了疯狗一拳,他掉了{0}点血", atk);//减掉野怪等同于玩家攻击力的血量gouHp -= atk;//系统提示野怪攻击Console.WriteLine("疯狗咬了你一下,你掉了{0}点血",gouAtk);//减掉玩家等同于野怪攻击力的当前血量c_hp -= gouAtk;}else{//系统提示野怪攻击Console.WriteLine("疯狗咬了你一下,你掉了{0}点血", gouAtk);//减掉玩家等同于野怪攻击力的当前血量c_hp -= gouAtk;//系统提示玩家攻击Console.WriteLine("你打了疯狗一拳,他掉了{0}点血", atk);//减掉野怪等同于玩家攻击力的血量gouHp -= atk;}}//如果玩家血量小于等于0if (c_hp<=0){//系统提示死亡Console.WriteLine("你被野狗攻击致死,请大侠重新来过");//跳出整个main函数//return;Environment.Exit(0);}//如果野怪的血量小于等于0else if(gouHp<=0){//获得10金币money += 10;//获得40经验c_exp += 40;//系统提示奖励Console.WriteLine("恭喜大侠战胜野狗一条,获得10金币,获得40经验");//查看当前玩家属性ShowInfo();}}}//升级系统static void LevelUp(){//判断当前经验是否满足升级条件if (c_exp >= exp){//等级+1level += 1;//当前经验值减去经验值上限c_exp = c_exp - exp;//升级后血量上限提升hp += g_hp;//把当前血量补满上限c_hp = hp;//攻击力提升atk += g_atk;//速度提升speed += g_speed;//经验值上限提升exp += 100;//系统提示Console.WriteLine("恭喜大侠升级了!");}}//补血系统static void healthUp(){//判断当前血量if (c_hp <= 5){//提示Console.WriteLine("可以使用1枚金币恢复血量,是否恢复");Console.WriteLine("1.恢复     2.不了");//获取用户选择string str = Console.ReadLine();//判断用户选择和金币数量if (str == "1" && money >= 1){//扣1金币回满血money -= 1;c_hp = hp;Console.WriteLine("已经为少侠恢复血量");//查看当前属性ShowInfo();}}}//技能static void PaiYunZhang(){//技能伤害参数int pyzAtk = atk + new Random().Next(3,5);//技能释放提示Console.WriteLine("你使用了排云掌,造成了{0}点伤害",pyzAtk);}static void Main(string[] args){//创建角色creatrCharacter();//查看信息ShowInfo();//新手村xinShouCun();//查看信息ShowInfo();//郊区jiaoQu();//升级系统LevelUp();//查看信息ShowInfo();}}
}

2020.7.15 c#转换符 运算符 if语句 swith语句 函数 随机数的生成,判断字符是否为空 占位符相关推荐

  1. java读取excel并替换占位符_正则表达式 – 有没有一种简单的方法来替换Excel中的占位符?...

    没有完全测试,但这样的帮助?选择具有公式的单个单元格并运行Sample.我没有做任何错误处理.我假设ActiveCell将有一个公式.我也会按照你在上面的评论中说的那样,你的公式将没有命名范围 Dim ...

  2. oracle占位符怎么打,PL/SQL Challenge 每日一题:2018-7-11 动态SQL中的占位符

    最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析.讨论也可获得纪念章一枚. 每两周的优胜者可获得itpub奖励的技术图书一本. 以往 ...

  3. android判断字符中是否包含表情符

    public class EmojiFilter { /**      * 检测是否有emoji字符      * @param source      * @return FALSE,包含图片    ...

  4. 如何为“选择”框创建占位符?

    我正在使用占位符进行文本输入,效果很好. 但是我也想为我的选择框使用一个占位符. 当然,我可以使用以下代码: <select><option value=""&g ...

  5. Go 语言的%d,%p,%v等占位符的使用

    Go语言的%d,%p,%v等占位符的使用 1.首先需要了解哪些占位符分别代表什么 这些是死知识,把常用的记住,不常用的直接查表就行了 golang 的fmt 包实现了格式化I/O函数,类似于C的 pr ...

  6. java接口自动化Excel占位符_基于maven+java+TestNG+httpclient+poi+jsonpath+ExtentReport的接口自动化测试框架...

    接口自动化框架 项目说明 本框架是一套基于maven+java+TestNG+httpclient+poi+jsonpath+ExtentReport而设计的数据驱动接口自动化测试框架,TestNG ...

  7. img 加载 svg占位符_如何使用SVG作为占位符以及其他图像加载技术

    img 加载 svg占位符 by José M. Pérez 由JoséM.Pérez 如何使用SVG作为占位符以及其他图像加载技术 (How to use SVG as a Placeholder, ...

  8. linux bool变量,Objective-C中的占位符,打印BOOL类型数据

    常用的一些占位符: %@:字符串占位符 %d:整型 %ld:长整型 %f:浮点型 %c:char类型 %%:%的占位符 尽管有那么多的占位符,但是好像没有发现BOOL型的数据的占位符,这也是比较纠结的 ...

  9. python a和b字符串和占位符输出_python格式化输出

    python格式化输出 一.格式化输出三种方式 在写程序的过程中难免要得,输出有有特色的格式来,没有特色,谁还会耐得下去看呢,恐怕自己都写小烦躁,不要不要得,毕竟人就是个神奇的小动物嘛,所以说不得不提 ...

最新文章

  1. 2022-2028年中国HDPE膜行业市场研究及投资发展分析报告
  2. R语言ggplot2可视化删除所有分面图(facet_wrap可视化的facet结果)的标签实战(Remove facet_wrap labels)
  3. 国内哪里培训python比较好-python培训哪家机构比较好?
  4. 微信打开网页下载东西时如何调用其他浏览器下载
  5. 用C++实现网络编程---抓取网络数据包的实现方法
  6. 【软工项目组】第九次会议
  7. linux guide编译器,GUIDE编译器-GUIDE编程工具-GUIDE编译器下载 v1.0.2官方版-完美下载...
  8. 用macport安装nginx
  9. 剑指offer面试题[29]-数组中出现次数超过一半的数字
  10. 数据库系统教程第三版施伯乐
  11. 用python实现猜数字游戏
  12. python爬取电子病历_电子病历患者查询
  13. structure 2.3.4 软件使用指南
  14. 有哪些培训管理教务系统?染书CRMA,进销存管理明细清晰
  15. 泛微OA流程中如何引用自开发的JS
  16. 洪恩软件进军网游产业 池宇峰揭密完美世界
  17. WPF之NPOIE导出xcel
  18. OpenLayers使用高德导航接口实现动画animate
  19. Python量化交易平台开发教程系列0-引言
  20. 输入3×4的矩阵 将值为负的位置和值输出

热门文章

  1. 在Windows系统下安装VirtualBox与Ubuntu的详细教程
  2. 后台服务器显示监控,后台服务器显示监控
  3. java基础类,方法和对象
  4. 二、八、十、十六进制互相转换大全
  5. 6-13漏洞利用-smtp暴力破解
  6. 湖中剑 前端周刊 #12 | React Router 6、依赖锁定、React Hooks指南、海王 Next.js、AppToolkit效率工具
  7. java题excel地址,(Java实现)蓝桥杯Excel地址
  8. 工程师需要知道的计算技巧
  9. Unity3D 使用粒子做出漂亮的拖尾效果
  10. Batch Normalization (BN)简洁介绍