一、数据类型:

(一)内建类型:

整型(int ,short, long ,byte ,uint ,ushort, ulong ,sbyte);

浮点型(double float decimal);

布尔型(bool);

字符型(char);

对于整型和浮点型都有个ToString("格式化字符串"):

#——任意一个数字。有的话就显示,没有就不显示。

0——必须有一个数字,没有的话就补零。

.——小数点

,——千位分隔。

(二)常用的类:
Math DateTime string
Math:
Math.Ceiling(double ):大于当前小数的最小整数。
Math.Floor(double):小于当前小数的最大整数。
Math.Round(double):四舍五入
DateTime:
Year,Month,Day,Hour,Minute,Second,MilliSecond,Day Of Week, Day Of Year
AddYears(n),AddMonths(),AddDays().........
ToString("格式化字符串"):格式显示。
yyyy,yy——年份。MM,M——月份。dd,d——天。hh,h——时。mm,m——分。ss,s——秒。ms——毫秒

(三)自定义类型

struct

二、变量与常量:

(一)变量就是装数据容器。——U盘
  定义:
  数据类型 变量名[ = 值],变量名[ = 值],....;
  int a,b; int a = 5,b;
  变量的命名规则:
  1.变量名只能由字母、数字、下划线组成
  2.只能字母,下划线开头
  3.不能与关键词重复。

赋值:

变量名=值;——注意:变量类型与等号右边的值类型相一致。不一致就需要进行类型转换。
类型转换:
1.自动转换:一般来说自动转换,只要不存在丢数据的可能性,计算就会自动转化。例如:double a = 3+5.0;
2.强制转换:只要存在丢数据的可能性,计算机就不给自动转化,需要手动强制转化。
Convert.Toxxx(); Convert.ToInt32();
double a = 3.14;
int b = (int)a;
取值:直接写变量名。

(二)常量:常量也是装数据的容器,但在运算过程中常量不能放在单等的左边。——一次性光盘
分类:字面常量,符号常量。 
定义:const int PI = 3.14;
注意:常量在定义的时候必须要赋值。
取值:直接使用常量取值。

三:运算符:

算术运算符,关系运算符,逻辑运算符,其它运算符
(一)算术——7个
+ - * / % ++ --

整数除整数还是整数。

(二)关系——6个
== != > >= < <=

(三)逻辑——3个
&&  ||  !

(四)其它
1.复合运算符:+= -= *= /= %=
2.赋值: =   
3.条件运算符:表达式1?表达式2:表达式3

四、语句:

顺序、分支、循环

(一)分支——if

if(表达式)

{

}

if(表达式)

{

}

else

{

}

if(表达式)

{

}

else if(表达式)

{

}

...

else

{

}

if(表达式)

{  if(表达式)

{

}

else

{

}

}

else

{

...

}

例:

第一题:判断闰年平年

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class 闰平年
{
static void Main(string[] agre)
{
Console.Write("请输入一个年份:");
string a = Console.ReadLine();
int year = Convert.ToInt32(a); if (year % == )
{
Console.WriteLine(year + "年是闰年");
}
else if (year % == && year % != )
{
Console.WriteLine(year + "年是闰年"); }
else
{
Console.WriteLine(year + "年是平年");
}
}
}
}

第二题:判断一元二次方程根的情况

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//输入
Console.Write("分别输入a,b,c三个数");
string a1 = Console.ReadLine();
string b1 = Console.ReadLine();
string c1 = Console.ReadLine();
int a = Convert.ToInt32(a1);
int b = Convert.ToInt32(b1);
int c = Convert.ToInt32(c1); if (a == 0)
{
Console.WriteLine("不是一元二次方程");
}
else
{
int d = b * b - 4 * a * c;
if (d < 0)
{
Console.WriteLine("一元二次方程无实根");
}
else if (d == 0)
{
Console.WriteLine("一元二次方程有两个相同实根");
}
else
{
Console.WriteLine("一元二次方程有两个不同实");
}
} }
}
}

第三题:判断男女的身高体重是否正常

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class 体重
{
static void Main(string[] agre)
{
Console.Write("请输入你的性别(男,女):");
string sex = Console.ReadLine();
Console.Write("请输入你的身高(cm):");
string h = Console.ReadLine();
int high = Convert.ToInt32(h);
Console.Write("请输入你的体重(KG):");
string m = Console.ReadLine();
int t = Convert.ToInt32(m); if (sex == "男")
{
if (t > high - + )
{
Console.WriteLine("你的体重偏胖。");
}
else if (t < high - - )
{
Console.WriteLine("你的体重偏瘦。");
}
else if (t >=high - -&& t<= high - +)
{
Console.WriteLine("你的体重正常");
}
}
else if (sex == "女")
{
if (t > high - + )
{
Console.WriteLine("你的体重偏胖。");
}
else if (t < high - - )
{
Console.WriteLine("你的体重偏瘦。");
}
else
{
Console.WriteLine("你的体重正常");
}
}
else
{
Console.WriteLine("输入的不正确,请核实。");
}
}
}
}

第四题:输入一个日期判断是否正确

 static void Main(string[] args)
{
int year = , month = , day = ;
//输入
Console.Write("请输入年:");
year = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入月:");
month = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入日:");
day = Convert.ToInt32(Console.ReadLine()); //判断运算输出
//判断年份是否正确
if(year < || year>)
{
Console.WriteLine("年输入不正确");
}
else
{
Console.WriteLine("年正确");
} //判断月份是否正确
if (month < || month > )
{
Console.WriteLine("月输入不正确");
}
else
{
Console.WriteLine("月正确");
} //判断天是否正确
if(month==||month==||month==||month==||month==||month==||month==)
{
if(day < || day>)
{
Console.WriteLine("天输入错误,大月份最多是31天");
}
else
{
Console.WriteLine("天正确");
}
}
else if (month == || month == || month == || month == )
{
if (day < || day > )
{
Console.WriteLine("天输入错误,小月份最多是30天");
}
else
{
Console.WriteLine("天正确");
}
}
else if(month == )
{
//闰年与平年的判断
if(year%== || year%==&&year%!=)
{
//闰年
if (day < || day > )
{
Console.WriteLine("天输入错误,闰年2月份最多是29天");
}
else
{
Console.WriteLine("天正确");
}
}
else
{
//平年
if (day < || day > )
{
Console.WriteLine("天输入错误,平年2月份最多是28天");
}
else
{
Console.WriteLine("天正确");
}
}
}
}
}
}

(二)循环

for(初始条件;循环条件;变量改变)

{

循环体

}

循环的四要素:

循环的嵌套:打印星号。

两类问题:迭代法,穷举法。

迭代法: 按照某种规律通过循环迭代求解。

第一题:求100以内所有数的和。

第二题:求阶乘!(6的阶乘)

第三题:求年龄。(有6个小孩子排在一起,问第一个多大年龄,她说:比第二个小2岁,问第二个多大年龄,她说:比第三个小2岁,以此类推,问第六个多大年龄,她说:自己16岁,问第一个小孩子几岁?

第四题:一张纸的厚度是:0.15mm,假设这张纸足够大可以无限次对折,问:折26次的高度是多少?

第五题:棋盘放粮食(请在第一个格子放1粒粮食,第二个格子放2粒,第三个格子放四粒,以此类推,每个格子放的粮食都是前一个格子里粮食的2倍,直到放到第64个格子,请问第64个格子需要多少粮食?假如1粒粮食重量0.02克,那么棋盘64个格子的粮食一共重多少千克?

第六题:公园里有一只猴子和一堆桃子,猴子每天吃掉桃子数量的一半,把剩下的一半数量中扔掉一个坏的,到了第七天,猴子睁开眼发现只剩下一个桃子了,问公园原来有多少桃子?

第七题:落球问题(一个球从10米高度落下,每次弹起2/3的高度。问第五次弹起后的高度是多少?)

第八题:兔子小兔子的问题(一对新生兔,到三个月开始生一对小兔,以后每个月都会生一对小兔,小兔不断长大也会生小兔。假设兔子不死,每次只能生一对(公母),问第24个月末有多少只兔子?)

二、穷举法: 用循环把各种可能的情况都给走一遍,然后用if条件把满足要求的结果给筛选出来。

第一题:找出100以内的与7有关的数。

第二题:有三种硬币若干:1分,2分,5分。要组合1毛5,有哪些组合方式?

第三题:买东西。小张过元旦发了100元的购物券,他要买香皂(5元),牙刷(2元),洗发水(20元)。要想把100元正好花完,如何买这三样东西?

第四题:百鸡百钱。有100文钱,要买100只鸡回家。公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只。如何买?

第五题:百马百石。有100石粮食,母匹大马驮2石,每匹中马驮1石,每两匹小马驹一起驮1石。要用100匹马驮完100石粮食,如何按排?

第六题:某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:
A和B两人中至少去一人;                                 a+b>=1
A和D不能一起去;                                          a+d<=1
A、E和F三人中要派两人去;                             a+e+f==2
B和C都去或都不去;                  注释:             b+c!=1
C和D两人中去一个;                                        c+d==1
若D不去,则E也不去。                                   d+e==0||d==1
问应当让哪几个人去?

第七题:123()45()67()8()9=100;要求在()里面填写+或-使等式成立。

五、数组:

思想:解决大量同类数据存储和操作的问题。

特点:连续,同一类数据。

分类:一维数组,二维数组,多维数组。

一维数组:

定义: 数据类型[] 数组名 = new 数据类型[数组的长度] [{初始化}];

赋值: 数组名[下标] = 值;

可以与循环结合起来。

取值: 数组名[下标];

可以与循环结合起来。

第一题:做一个教练为6位球员打分的程序。并在此基础上显示球员总分和平均分,最高分和最低分,以及球员的代号。

class Class2
{
static void Main(string[] args)
{
int[] a = new int[];
Console.WriteLine("********球员训练记录********"); for (int i=;i<a.Length;i++)
{
Console.Write("请输入第"+(i+)+"个球员的成绩:");
a[i] =Convert.ToInt32( Console.ReadLine());
} for (int m = ; m < a.Length; m++)
{
Console.WriteLine("第"+(m+)+"个球员的成绩是"+a[m]+"。");
} int sum = ;
double ave = ;
for (int n = ; n < a.Length;n++ )
{
sum = sum + a[n]; }
ave = 1.0 * sum / a.Length;
Console.WriteLine("球员总成绩是"+sum+",平均成绩是"+ave+"。"); int max = ,min=;
int maxSub = -, minSub = -;
for (int b = ; b < a.Length;b++ )
{
max = max > a[b] ? max : a[b];
maxSub = b;
}
for (int c = ; c < a.Length; c++)
{
if(min>a[c])
{
min=a[c];
minSub=c;
}
}
Console.WriteLine((maxSub+)+"球员中最高成绩是" + max + ","+(minSub+)+"最差成绩是"+min+"。"); }
}
}

第二题:30个人投票,从5个人中选出一个班长

static void Main(string[] args)
{
//30人投票,从5个候选人中选一个出来
int[] vote = new int[];
for (int i = ; i < ; i++)
{
Console.WriteLine("请第" + (i + ) + "位同学投票(0-4):");
int temp = Convert.ToInt32(Console.ReadLine());
if (temp < || temp > )
{
Console.WriteLine("废票");
continue;
}
else
{
vote[temp]++; }
}
//计算最终得票
int max = , maxsub = ;
for (int i = ; i < vote.Length; i++)
{
//把每一位候选人的票数显示出来。
Console.WriteLine("第"+(i+)+"号候选人的票数是:"+vote[i]);
//计算最大值。
if (vote[i] > max)
{
max = vote[i];
maxsub = i; }
} //显示最终结果。
Console.WriteLine("最终投票结果为:"+(maxsub+)+"号候选人, 当选票数是"+max+"票");<br>
}

第三题:制作一个36选7的彩票生成器

static void Main(string[] args)
{
int[] a = new int[]; Random rand = new Random();
for (int i = ; i < ; i++) //7--代表要生成7个不同的数
{
//生成一个随机数。
int n = rand.Next();
n++; //查重
bool chong = false;
for(int j=;j<a.Length;j++)
{
if(n == a[j])
{
chong = true;
break;
}
}
//才能确定n合不合理
if(chong == false)
{
a[i] = n;
}
else
{
i--;
}//if
}//for //显示彩票号码
for(int k = ;k<a.Length;k++)
{
Console.Write(a[k] + "\t");
}
}//main
}
}

第五题:青歌赛中有10个评委给一个选手打分,每打分后,要去掉一个最高分和一个最低分,计算该选手的平均得分。

        static void Main(string[] args)
{
int[] a = new int[];
//亮分
ShuRu(a); //排序
PaiXu(a); //运算求平均
double avg = YunSuan(a); //输出显示
ShuChu(a, avg);
} private static void ShuChu(int[] a, double avg)
{
Console.WriteLine("去掉两个最高分:" + a[] + "和" + a[]);
Console.WriteLine("去掉两个最低分:" + a[a.Length - ] + "和" + a[a.Length - ]);
Console.WriteLine("该选手最终得分为:" + avg);
} private static double YunSuan(int[] a)
{
//求总分
int sum = ;
for (int i = ; i <= a.Length - ; i++)
{
sum += a[i];
}
//求平均
double avg = (1.0 * sum) / (a.Length - );
return avg;
} private static void PaiXu(int[] a)
{
for (int i = ; i <= a.Length - ; i++)
{
for (int j = ; j <= a.Length - i; j++)
{
if (a[j] > a[j - ])
{
int temp = a[j];
a[j] = a[j - ];
a[j - ] = temp;
}
}
}
} private static void ShuRu(int[] a)
{
for (int i = ; i < a.Length; i++)
{
Console.Write("请第" + (i + ) + "号评委亮分:");
a[i] = Convert.ToInt32(Console.ReadLine());
}
}
}
}

二维数组:
定义:
数据类型[,] 数组名 = new 数组类型[行数,列数] [{初始化}];
赋值:
数组名[行下标,列下标] = 值;
取值:
数组名[行下标,列下标];

第一题:输入学生的成绩

static void Main(string[] args)
{
int[,] a = new int[, ];
//输入
for (int i = ; i < ;i++ )
{
a[i, ] = i + ;
Console.Write("语文:");
a[i, ] = Convert.ToInt32(Console.ReadLine());
Console.Write("数学:");
a[i, ] = Convert.ToInt32(Console.ReadLine());
a[i, ] = a[i, ] + a[i, ];
}
//输出
Console.WriteLine("学号\t语文\t数学\t总分\t");
for (int n = ; n < ;n++ )
{
for (int m = ; m < ;m++ )
{
Console.Write(a[n,m]+"\t");
}
Console.WriteLine();
}
}
}
}

第二题:推箱子游戏

int x=, y=;//记录小人初始位置
int[,] map= new int[, ]
{
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,}
}; //打印初始图
for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
if (map[i, j] == )
{
Console.Write(" ");
}
else if (map[i, j] == )
{
Console.Write("■");
}
else if (map[i, j] == )
{
Console.Write("□");
}
else if (map[i, j] == )
{
Console.Write("★");
}
else if (map[i, j] == )
{
Console.Write("♀");
}
} Console.WriteLine();
} //在键盘接受指令,对指令分析运算,输出数据
while (true)//无数次执行循环体
{ ConsoleKeyInfo s = Console.ReadKey();//在键盘接受指令
int t = map[x,y]; if (s.Key.ToString() == "RightArrow")//若接受指令为“→”,
{
if (map[x, y + ] == )//若右边方格为空格,小人物与空格交换数据
{
map[x, y] = map[x, y + ];
map[x, y + ] = t;
y++;
}
else if (map[x, y + ] == && map[x, y + ] !=)//若右边方格为箱子,右边方格接受小人物数据,小人物方格数据变零,右数第二个方格接受箱子方格数据
{
int m = map[x, y + ];
map[x, y + ] = t;
map[x, y] = ;
map[x, y + ] = m;
y++;
}
}
else if (s.Key.ToString() == "LeftArrow")
{
if (map[x, y - ] == )
{
map[x, y] = map[x, y - ];
map[x, y - ] = t;
y--;
}
else if (map[x, y - ] == && map[x, y - ]!=)
{
int m = map[x, y - ];
map[x, y - ] = t;
map[x, y] = ;
map[x, y - ] = m;
y--; }
}
else if (s.Key.ToString() == "UpArrow")
{
if (map[x - , y]==)
{
map[x, y] = map[x - , y];
map[x-,y] = t;
x--;
}
else if (map[x - , y] == && map[x-, y ] != )
{
int m = map[x-, y ];
map[x - , y] = t;
map[x, y] = ;
map[x - , y] = m;
x--; } }
else if (s.Key.ToString() == "DownArrow")
{
if (map[x + , y] == )
{
map[x, y] = map[x + , y];
map[x + , y] = t;
x++;
}
else if (map[x + , y] == && map[x + , y] != )
{
int m = map[x + , y];
map[x + , y] = t;
map[x , y] = ;
map[x + , y] =m;
x++;
} }
Console.Clear(); for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
if (map[i, j] == )
{
Console.Write(" ");
}
else if (map[i, j] == )
{
Console.Write("■");
}
else if (map[i, j] == )
{
Console.Write("□");
}
else if (map[i, j] == )
{
Console.Write("★");
}
else if (map[i, j] == )
{
Console.Write("♀");
}
} Console.WriteLine();
}
if (map[, ] == )
Console.WriteLine("过关!"); }

两个应用:二分法查找,冒泡排序。
二分法查找思想:前提是数组有序,每次找中间的值对比,否满足条件就扔一半。
使用最大下标max、最小下标min,中间值下标mid,控制查找的范围。 mid = (max+min)/2; max = mid+1; min = mid-1;
如果一直查到min>max就结束了,说明没有找到。

        static void Main(string[] args)
{
int[] a = new int[] {,,,,,, };
Console.Write("请输入要找的数:");
int find=Convert.ToInt32(Console.ReadLine()); int top, bottom, mid;//上限下标,下限下标,中间下标
top = ;
bottom = a.Length - ; while (bottom >= top)//只要下限下标还在上限下标的下面,就循环,否则没找到就结束。
{
//算中间下标
mid = (top + bottom) / ;
//取中间的值
int n = a[mid];
if(n<find)
{
top=mid+;//调整上限的下标
}
else if(n>find)
{
bottom = mid - ;//调整下限的下标
}
else
{
Console.WriteLine("找到了,在第"+mid+"下标处找到"+find);
break;
}
}
}
}
}

冒泡排序的思想:相邻两个数进行依次对比,互换。
两层循环,外层循环趟数,内层循环每趟的次数。
趟数:n-1
次数:n-i
for(int i=1;i<=n-1;i++)
{
for(int j=1;j<=n-i;j++)
{
if(a[j] > a[j-1])
{
互换。
}
}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Class2
{
static void Main(string[] args)
{
int[] a = new int[] { , , , , , , , };
//冒泡排序。
for(int i=;i<=a.Length-;i++) //趟数
{
for (int j = ; j <= a.Length - i; j++)//次数
{
if(a[j-] > a[j])
{
int t = a[j - ];
a[j - ] = a[j];
a[j] = t;
}
}
} //显示
for(int k=;k<a.Length;k++)
{
Console.WriteLine(a[k]);
}
}
}
}

六、函数:
什么是函数:能够完成某个独立功能模块就可称之为函数。
为什么要用函数:结构清晰,分工开发,代码重用。
四要素:函数名,形参,返回类型,函数体。
定义语法:
返回类型 函数名(形参列表)
{
函数体
}
调用:
函数名(实参列表);
数据类型 变量名 = 函数名(实参列表);

函数的传值与传址的问题。
1.内建类型,日期时间都是默认传值。 ——ref
2.数组,字符串默认都是传址。

 static void Mai3n(string[] args)
{
int[] m = new int[] { , , , };
//打印显示数组的初始值
for(int i=;i<m.Length;i++)
{
Console.Write(m[i] + "\t");
} //调用函数,传递整个数组
Add(m);//传得是数组名,是传址
Add9(m[]); //传得是数组的某个元素,是传值。 //打印显示数组的改变后的值
for (int i = ; i < m.Length; i++)
{
Console.Write(m[i] + "\t");
}
}
static void Add9(int a)
{ Console.WriteLine("Add9被用了,在Add9中把传进来的" + a + "变成了" + a * );
a = a * ;
}
static void Add(int[] a)
{
for(int i=;i<a.Length;i++)
{
a[i] *= ;
}
}
}
}

函数的返回值。——return 值或变量;要保持return后面的类型与函数的返回类型要一致。

递归。自己调自己。
语法思想:
返回类型 函数名(参数)
{
1.结束递归的判断。
2.递归运算:函数名(参数);
}

static void Main(string[] args)
{
Test();
}
static void Test(int a)
{
if(a >)
{
return;
}
a++;
Console.WriteLine("正在做第"+a+"个梦");
Test(a);
Console.WriteLine("第"+a+"个梦醒了");
}
}
}

七、结构体:
为什么要用结构体?自己定义的复合类型,更好地模拟生活中的各种对象。

定义
struct 结构体名
{
public 类型 子变量名;
public 类型 子变量名;
....
}

使用:
结构体名 结构体变量 = new 结构体名();
结构体变量.子变量 = 值;
结构体变量.子变量;

结构体数组:
结构体类型[] 数组名 = new 结构体类型[长度];
数组名[下标].子变量

如何使用循环来操作结构体数组。

例子:学生成绩统计

namespace ConsoleApplication1
{
struct XueSheng
{
public int XueHao;
public string XingMing;
public double YuWen;
public double ShuXue;
public double WaiYu;
public double ZongFen;
public int MinCi;
}
class Class1
{
static void Main(string[] args)
{
//int[] a = new int[5];
XueSheng[] s = new XueSheng[];
//输入
ShuRu(s);
//排序
PaiXu(s);
//填名次
XieMingCi(s);
//输出显示
ShuChu(s);
} private static void ShuChu(XueSheng[] s)
{
for (int i = ; i < s.Length; i++)
{
Console.WriteLine(s[i].XueHao + "\t" + s[i].XingMing + "\t" + s[i].YuWen + "\t" + s[i].ShuXue + "\t"
+ s[i].WaiYu + "\t" + s[i].ZongFen + "\t" + s[i].MinCi);
}
} private static void XieMingCi(XueSheng[] s)
{
for (int i = ; i < s.Length; i++)
{
s[i].MinCi = i + ;
}
} private static void PaiXu(XueSheng[] s)
{
for (int i = ; i <= s.Length - ; i++)
{
for (int j = ; j <= s.Length - i; j++)
{
if (s[j].ZongFen > s[j - ].ZongFen)
{
XueSheng temp = s[j];
s[j] = s[j - ];
s[j - ] = temp;
}
}
}
} private static void ShuRu(XueSheng[] s)
{
for (int i = ; i < s.Length; i++)
{
Console.WriteLine("正在输入第" + (i + ) + "个学生的信息");
s[i].XueHao = i + ;
Console.Write("姓名:");
s[i].XingMing = Console.ReadLine();
Console.Write("语文:");
s[i].YuWen = Convert.ToDouble(Console.ReadLine());
Console.Write("数学:");
s[i].ShuXue = Convert.ToDouble(Console.ReadLine());
Console.Write("外语:");
s[i].WaiYu = Convert.ToDouble(Console.ReadLine());
//总分:
s[i].ZongFen = s[i].YuWen + s[i].ShuXue + s[i].WaiYu;
}
}
}
}

对战的小游戏

struct Roal
{
public int blood;
public int def;
public int mov1;
public int mov2; }
class 黄金圣斗士:米罗VS沙加
{
static void Main(string[] args)
{
Roal cast1, cast2;
//角色1的属性
cast1.blood = ;
cast1.def = ;
cast1.mov1 = ;
cast1.mov2 = ;
//角色2的属性
cast2.blood = ;
cast2.def = ;
cast2.mov1 = ;
cast2.mov2 = ; //颜色设置
Console.ForegroundColor = ConsoleColor.Blue;
Console.BackgroundColor = ConsoleColor.White;
Console.Clear(); //输入操作
//角色1攻击
while(cast1.blood >&&cast2.blood >)
{
Console.WriteLine("请米罗发招:a-天蝎意念波 s-猩红毒针");
string m = Console.ReadLine();
Random n1 = new Random();
if (m == "a")
{
int s = n1.Next();//角色2的防御值
int s2 = cast1.mov1 - s;//攻击效果
cast2.blood -= s2;//角色2血量减少
}
else if (m == "s")
{
int s = n1.Next();//角色2的防御值
int s2 = cast1.mov2 - s;//攻击效果
cast2.blood -= s2;//角色2血量减少 }
//角色2攻击
Console.WriteLine("请沙加发招:k-天舞宝轮 l-六道轮回");
string h= Console.ReadLine();
Random i = new Random();
if (h == "k")
{
int s = i.Next();//角色1的防御值
int s2 = cast1.mov1 - s;//攻击效果
cast1.blood -= s2;//角色1血量减少
}
else if (h == "l")
{
int s = n1.Next();//角色1的防御值
int s2 = cast1.mov2 - s;//攻击效果
cast1.blood -= s2;//角色1血量减少
}
else
{
Console.WriteLine("发招失败");
}
Console.Clear();
cast1.blood = cast1.blood < ? : cast1.blood ;//控制血量不要小于零
cast2.blood = cast2.blood < ? : cast2.blood;//控制血量不要小于零
Console.WriteLine ("米罗血量:{0}",cast1.blood );
Console.WriteLine("沙加血量:{0}",cast2.blood);
} //输出对殴结果
if (cast1.blood == && cast2.blood == )
{
Console.WriteLine("同归于尽");
}
else if (cast1.blood ==)
{
Console.WriteLine("沙加打败米罗");
}
else
{
Console.WriteLine("米罗打败沙加,成为最强黄金圣斗士");
} }

C#阶段小结的更多相关文章

  1. [2018福大至诚软工助教]alpha阶段小结

    [2018福大至诚软工助教]alpha阶段小结 一.得分 1. 冲刺(7次 Scrum) 150分 1)第1篇(25分) 项目 评分标准 各个成员在 Alpha 阶段认领的任务 (6分)视详细程度给分 ...

  2. Element Vue 开箱即用框架如何使用-测试开发【提测平台】阶段小结(二)

    微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 上一篇总结了后端服务接口的开发,这篇我们主要来总结下前后端分离开发中的前端部分,主要是开箱即用的框架介绍和之前章节组件的梳理和部分的扩展内 ...

  3. Python Flask API实现方法-测试开发【提测平台】阶段小结(一)

    微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 本篇主要是对之前几次分享的阶阶段的总结,温故而知新,况且虽然看起来是一个小模块简单的增删改查操作,但其实涉及的内容点是非常的密集的,是非常 ...

  4. Android 手机卫士--阶段小结1

    本文地址:http://www.cnblogs.com/wuyudong/p/5904528.html,转载请注明源地址. 本文对之前手机卫士开发进行一个小结. 1.SplashActivity 版本 ...

  5. ios学习开发阶段小结

    总结一下,开发了1个月10天的ios经验. 先晒成绩单:两个实验性质的app,一个wifi管家,一个图片壁纸软件 技术小结: 1.熟悉基本的各种ns语法:#import,#include,@class ...

  6. Alpha阶段小结

    1 团队的源码仓库地址 https://github.com/WHUSE2017/MyGod 2 Alpha过程回顾 2.1 团队项目预期 有一个可视化的安卓APP,实现二手交易基本功能.预期的典型用 ...

  7. InChatter系统之客户端实现原理与阶段小结

    InChatter客户端的开发可以说是目前系统的阶段性结尾了.很抱歉的是,这篇文章来的这么晚,迟到了这么久. 在客户端的开发主要针对两个方面: 消息的传输与处理 消息的UI交互处理 一.消息的传输与处 ...

  8. Emacs学习阶段小结-Emacs常用快捷键总结

    首先推荐一下Emacs自带的Emacs Tutorial,跟着这个做一边,两三个小时,基本的使用就能掌握了.之后的神教程就有很多了,比如<Sams.Teach.Yourself.Emacs.in ...

  9. M3截止阶段小结

    python知识点总结1.copy模块中深浅拷贝copy() deepcopy()2.__new__ 方法参数    def __new__(cls, *args, **kwargs):        ...

  10. 【WebService】——阶段小结

    [概念] WebService集中解决了远程调用.跨平台和跨语言的问题.如下图中,A应用与B应用之间的相互调用不再局限于平台(Linux或Windows).语言(Java和C#). [与xml] 提到 ...

随机推荐

  1. 奔跑的绵羊js

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. redis基本指令

    1.键值相关命令       keys * 取出当前所有的key       exists name 查看n是否有name这个key       del name 删除key name       e ...

  3. ruoyi LogUtils

    package com.ruoyi.framework.util; import java.io.PrintWriter; import java.io.StringWriter; import ja ...

  4. 吴裕雄--天生自然 JAVA开发学习:运算符

    public class Test { public static void main(String[] args) { int a = 10; int b = 20; int c = 25; int ...

  5. [原]你知道怎么使用DebugView查看内核调试信息吗?

    原总结注册表sysinternalsdebugviewprocess explorerprocess monitor 简介 DebugView是sysinternals工具集中的一款用来查看调试信息的 ...

  6. PAT甲级——1061 Dating (20分)

    Sherlock Holmes received a note with some strange strings: Let's date! 3485djDkxh4hhGE 2984akDfkkkkg ...

  7. Linux-使用syslog来记录调试信息

    1.有三个函数:openlog.syslog.closelog 2.一般的log信息都在操作系统的/var/log/messages这个文件中存储着,但是ubuntu中是在/var/log/syslo ...

  8. Linux bootloader

    1.bootloader:初始化相关的硬件  loader:将操作系统从硬盘当中拷贝到内存当中去,,然后让CPU跳转到内存中执行操作系统. 2.boot阶段:(1)关闭影响cpu正常执行的外设   比 ...

  9. centos 从头部署java环境

    1.首先安装lrzsz 上传下载服务 yum install -y lrzsz 2.然后检查是否已经安装java rpm -qa|grep java 如果已经安装卸载后再重新安装 3.将下载好的jdk ...

  10. \_\_getattribute\_\_

    __getattribute__ 一.__getattr__ 不存在的属性访问,触发__getattr__ class Foo: def __init__(self, x): self.x = x d ...