☰
【C#游戏开发基础】变量、常量、数据类型、类型转换、全套运算符详解
2026/10/19 2:13:06 网站建设 项目流程

前言

任何编程语言的地基,永远都是数据 + 运算。 如果说分支结构是代码的 “判断力”,那变量、常量、数据类型、运算符就是代码的 “血肉”。

在游戏开发中:

  • 血量、蓝量、速度、攻击力 →变量
  • 重力加速度、最大血量、固定倍率 →常量
  • 坐标、文本、状态判断 →不同数据类型
  • 伤害计算、暴击判断、位移偏移、状态开关 →各类运算符

很多新手后期写复杂逻辑报错、数值异常、类型报错,根源都是基础数据与运算符掌握不扎实。

本篇结合唐老狮 C# 课程,一次性吃透 C# 最核心的底层基础,全游戏实战案例、无废话、可直接收藏当手册查阅。

一,变量(Variable)

1,什么是变量

程序运行中,值可以随时发生变化的量,可以理解为一个可以存放东西的箱子,游戏里绝大部分的动态数据全部用变量储存。

2,变量语法
//语法:数据类型 变量名 = 初始值; int hp = 100;
3,游戏开发场景
int playerHp = 100; // 玩家血量 float speed = 5.5f; // 玩家速度 bool isDeaC = false; // 玩家是否死亡 string playerName = "D.教授"; // 玩家名称
4,变量核心规则

1, 先定义,后使用

2,可以随时改变其数值

3,变量名最好如其意思

4,不能以数字开头,不能使用关键字

二, 常量(Const)

1. 什么是常量

程序运行全程,值固定不变,不可修改的量。用const修饰,一般用于游戏中永远不会变的固定参数。

2. 常量语法

const float GRAVITY = 9.8f // 重力是不变的量

3. 游戏开发场景

const int MAX_HP = 100; // 最大血量 cost float GRAVITY = 9.8f; // 重力 const int MAX_SPEED = 20; // 最大速度

4. 常量和变量的区别

变量:可改变、 动态数据(血量, 分数, 位置)

常量: 不可更改、固定数据(规则参数,固定阈值)

三,C#常用数据类型(游戏开发必用)

数据类型决定:变量存什么内容、占用多少空间、能做什么运算。

1. 数值类型(最常用)

int 整型 : 整数(血量, 分数, 数量) float 单精度浮点型 : 小数(速度, 坐标, 倍率) double 双精度浮点数 : 高精度小数(不常用)

2. bool类型(逻辑判断的核心)

bool 布尔: 只有true / false

用途: 用于判断是否落地,是否死亡,是否技能CD,是否发生碰撞

3. 字符串类型

string 字符串 : 存储文本

游戏用途:玩家名字、提示文本、道具名称

游戏开发类型选择黄金规则

  1. 整数数据无脑 int
  2. 小数游戏逻辑全部 float(Unity/Godot 引擎全部默认 float)
  3. 真假判断全部 bool
  4. 文字信息全部 string

四、类型转换(解决报错核心)

游戏开发中经常出现:int 和 float 混合计算、数值类型不匹配,必须掌握类型转换。

1. 自动转换(隐式转换)

小范围类型 → 大范围类型,系统自动完成,无精度丢失顺序:int → float → double

int a = 10; float n = a; // int自动转化为float

2. 强制转换(显式转换)

大范围 → 小范围,需要手动强制,会丢失小数精度语法:(目标类型)变量

float num = 9.9f; int res = (int)num; // 结果:9 直接舍去小数,不是四舍五入

3. 开发高频坑点

  1. int转float无损,安全
  2. float转int直接截断小数,会造成数值 BUG
  3. 不同类型运算,结果会自动提升为高精度类型

五、全套运算符详解(游戏开发全覆盖)

1. 算术运算符(数值计算)

用于:伤害计算、位移、冷却时间、分数运算

+ - * / % ++ --

整数相除 / 得整数

int a = 5 / 2; // 结果为2 不是2.5
  • 取余 %:判断奇偶、刷新计时器、间隔执行
  • ++ 自增、-- 自减:血量增减、分数累加

2. 逻辑运算符(条件判断)

用于:复合条件判断(同时满足、或满足其一)

&& 逻辑与: 两边为真才真(并且) || 逻辑或: 满足一个为真(或者) | 逻辑非: 取反
开发用途
  1. 角色状态叠加(奔跑、跳跃、攻击状态并存标记)
  2. 图层碰撞过滤
  3. 权限位标记
  4. 高性能代替部分布尔判断

新手前期可以先会认,后续做框架、状态机、优化代码会高频使用。

4. 三目运算符(极简判断)

唯一的三元运算符,简化简单 if-else语法:条件 ? 为真返回值 : 为假返回值

// 判断血量是否为满血 int hp = 80; string tip = hp >= 100 ?"满血状态":"非满血"

优势:简单二选一逻辑,一行代码搞定,代码更简洁优雅

六、运算符优先级(避免逻辑 BUG)

简单记住核心顺序:算术运算 > 位运算 > 逻辑运算 > 三目运算不确定优先级,就加小括号 (),绝对不会错!

七、全套知识点总结(背诵级)

  1. 变量:可修改,存动态游戏数据
  2. 常量:const 修饰,固定参数不可修改
  3. 数据类型:int 整数、float 小数、bool 真假、string 文本
  4. 类型转换:小转大自动转,大转小强制转(丢精度)
  5. 算术运算符:做数值计算、取余做计时器
  6. 逻辑运算符:复合条件判断
  7. 位运算:高性能状态标记
  8. 三目运算符:简化二分支判断

八、新手游戏开发规范

  1. 动态数据用变量,固定配置全部用常量
  2. 游戏小数统一使用 float,杜绝 double 混用
  3. 不同类型计算主动处理类型转换,避免隐式 BUG
  4. 复杂判断优先括号,不依赖运算符优先级
  5. 简单二选一判断优先三目运算符,精简代码

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询