您的位置:首页 > 游戏 > 游戏 > 哈尔滨住建委_专业网站建设专家_抖音seo软件_seo教程之关键词是什么

哈尔滨住建委_专业网站建设专家_抖音seo软件_seo教程之关键词是什么

2025/5/9 16:34:03 来源:https://blog.csdn.net/Kiradzy/article/details/146380989  浏览:    关键词:哈尔滨住建委_专业网站建设专家_抖音seo软件_seo教程之关键词是什么
哈尔滨住建委_专业网站建设专家_抖音seo软件_seo教程之关键词是什么

Langchain系列文章目录

01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南
02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖
03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南
04-玩转 LangChain:从文档加载到高效问答系统构建的全程实战
05-玩转 LangChain:深度评估问答系统的三种高效方法(示例生成、手动评估与LLM辅助评估)
06-从 0 到 1 掌握 LangChain Agents:自定义工具 + LLM 打造智能工作流!
07-【深度解析】从GPT-1到GPT-4:ChatGPT背后的核心原理全揭秘

PyTorch系列文章目录

Python系列文章目录

C#系列文章目录

01-C#与游戏开发的初次见面:从零开始的Unity之旅
02-C#入门:从变量与数据类型开始你的游戏开发之旅
03-C#运算符与表达式:从入门到游戏伤害计算实践
04-从零开始学C#:用if-else和switch打造智能游戏逻辑
05-掌握C#循环:for、while、break与continue详解及游戏案例


文章目录

  • Langchain系列文章目录
  • PyTorch系列文章目录
  • Python系列文章目录
  • C#系列文章目录
  • 前言
  • 一、循环基础:重复任务的利器
    • 1.1 什么是循环
      • 1.1.1 循环的核心思想
      • 1.1.2 生活中的循环例子
    • 1.2 C#中的循环类型
      • 1.2.1 for循环:已知次数的重复
      • 1.2.2 while循环:条件驱动的重复
  • 二、for循环:精确掌控重复次数
    • 2.1 for循环的语法
      • 2.1.1 语法分解
      • 2.1.2 常见问题:无限循环
    • 2.2 for循环的应用场景
      • 2.2.1 示例:打印数字
      • 2.2.2 游戏中的应用
    • 2.3 代码实战:用for循环生成敌人
  • 三、while循环:灵活应对未知次数
    • 3.1 while循环的语法
      • 3.1.1 语法特点
      • 3.1.2 常见问题:忘记更新条件
    • 3.2 while循环的应用场景
      • 3.2.1 示例:等待输入
      • 3.2.2 游戏中的应用
    • 3.3 代码实战:用while循环生成敌人
  • 四、break与continue:掌控循环的“魔法”
    • 4.1 break语句:强制退出循环
      • 4.1.1 示例:提前退出
      • 4.1.2 游戏应用:限制敌人生成
    • 4.2 continue语句:跳过本次循环
      • 4.2.1 示例:跳过偶数
      • 4.2.2 游戏应用:跳过特定位置
  • 五、游戏案例:生成10个敌人
    • 5.1 案例背景
    • 5.2 使用for循环生成
    • 5.3 使用while循环生成
    • 5.4 添加break与continue
  • 六、总结

前言

在编程中,重复执行任务是常有的事。比如在游戏开发中,我们可能需要生成多个敌人、处理玩家输入,或者让角色持续移动。这些重复性工作如果手动编写代码,不仅效率低下,还容易出错。这时,控制流中的循环就派上了用场。通过循环,我们可以让程序自动完成重复任务,既省时又省力。

本文将带你从零开始,深入掌握C#中的循环结构,包括for循环while循环,以及如何使用breakcontinue控制循环流程。无论你是初学者还是有一定经验的开发者,都能在这里找到适合自己的内容。我们还会通过一个实际的游戏案例——生成10个敌人,让你看到循环在游戏开发中的强大应用。准备好了吗?让我们开始吧!


一、循环基础:重复任务的利器

循环是编程中用来重复执行代码的核心工具。通过它,我们可以轻松处理大量重复性任务,而无需手动复制粘贴代码。

1.1 什么是循环

循环是一种控制流结构,允许一段代码在特定条件下重复运行。比如,想象你在玩一款射击游戏,每次开火都需要生成一颗子弹。如果没有循环,你需要为每颗子弹写一行代码;有了循环,只需几行就能搞定。

1.1.1 循环的核心思想

循环的核心在于条件重复执行。只要条件满足,代码就会一直运行,直到条件不再成立。例如,生成10个敌人时,循环会检查是否已达到10个,如果没有,就继续生成。

1.1.2 生活中的循环例子

生活中也有很多循环的例子,比如每天刷牙、吃饭,或者流水线上的工人重复组装零件。编程中的循环正是将这些重复任务交给计算机自动完成。

1.2 C#中的循环类型

C#提供了多种循环结构,常见的有for循环while循环do-while循环。本文将重点讲解前两者,因为它们在游戏开发中最为常用。

1.2.1 for循环:已知次数的重复

当你明确知道需要重复多少次时,for循环是最佳选择。比如,生成10个敌人。

1.2.2 while循环:条件驱动的重复

当重复次数不确定,但依赖某个条件时,while循环更合适。比如,等待玩家按下某个键。


二、for循环:精确掌控重复次数

for循环是编程中最常用的循环之一,尤其适合已知重复次数的场景。让我们详细了解它的用法。

2.1 for循环的语法

for循环的基本结构如下:

for (int i = 0; i < 10; i++)
{// 循环体:需要重复执行的代码
}
  • 初始化(int i = 0):设置循环的起点,通常是一个计数器变量。
  • 条件(i < 10):每次循环开始前检查,如果为真则继续,否则退出。
  • 迭代器(i++):每次循环结束后执行,通常用来更新计数器。

2.1.1 语法分解

  • i:循环变量,记录当前循环到了第几次。
  • i < 10:条件,限制循环执行10次。
  • i++:每次循环后i加1,确保最终退出循环。

2.1.2 常见问题:无限循环

如果忘记更新迭代器(比如漏写i++),循环条件永远为真,会导致无限循环。排查时,检查条件和迭代器是否正确。

2.2 for循环的应用场景

for循环适用于需要精确控制重复次数的情况,比如:

  • 打印1到10的数字。
  • 在游戏中生成固定数量的敌人。
  • 遍历数组中的元素。

2.2.1 示例:打印数字

for (int i = 1; i <= 10; i++)
{Console.WriteLine(i); // 输出:1, 2, 3, ..., 10
}

2.2.2 游戏中的应用

在Unity中,for循环常用于批量生成对象,比如敌人、子弹等。

2.3 代码实战:用for循环生成敌人

让我们看一个实际例子:在Unity中用for循环生成10个敌人。

using UnityEngine;public class EnemySpawner : MonoBehaviour
{public GameObject enemyPrefab; // 敌人的预制体void Start(){for (int i = 0; i < 10; i++){Vector3 position = new Vector3(i * 2, 0, 0); // 敌人位置,间隔2单位Instantiate(enemyPrefab, position, Quaternion.identity); // 生成敌人}}
}
  • 关键代码解析
    • i * 2:让敌人沿x轴排列,间隔2个单位。
    • Instantiate:Unity中用于实例化对象的函数。

运行这段代码,你会在场景中看到10个敌人整齐排列!


三、while循环:灵活应对未知次数

与for循环不同,while循环更适合重复次数不确定的情况。它完全依赖条件来决定是否继续。

3.1 while循环的语法

while循环的结构如下:

while (条件)
{// 循环体
}
  • 条件:每次循环前检查,如果为真则执行循环体,否则退出。

3.1.1 语法特点

while循环没有内置的初始化或迭代器,需要手动设置和更新变量。

3.1.2 常见问题:忘记更新条件

如果条件永远不会变为假(比如忘记更新变量),会导致无限循环。排查时,确保条件会随循环改变。

3.2 while循环的应用场景

while循环适用于依赖外部条件的情况,比如:

  • 等待玩家输入。
  • 敌人移动直到到达目标位置。
  • 游戏运行直到某个事件发生。

3.2.1 示例:等待输入

string input = "";
while (input != "exit")
{Console.WriteLine("请输入指令:");input = Console.ReadLine();
}

3.2.2 游戏中的应用

在Unity中,while循环可以用来控制动态行为,比如敌人持续移动。

3.3 代码实战:用while循环生成敌人

我们可以用while循环改写上面的敌人生成代码:

using UnityEngine;public class EnemySpawner : MonoBehaviour
{public GameObject enemyPrefab;void Start(){int count = 0;while (count < 10){Vector3 position = new Vector3(count * 2, 0, 0);Instantiate(enemyPrefab, position, Quaternion.identity);count++; // 更新计数器}}
}
  • 关键代码解析
    • count++:手动更新计数器,确保循环最终结束。

虽然效果与for循环相同,但while循环更灵活,适合条件复杂的场景。


四、break与continue:掌控循环的“魔法”

循环虽好,但有时我们需要更精细的控制。这时,breakcontinue就派上用场了。

4.1 break语句:强制退出循环

break语句可以立即终止整个循环,常用于提前结束。

4.1.1 示例:提前退出

for (int i = 0; i < 10; i++)
{if (i == 5){break; // 当i等于5时退出循环}Console.WriteLine(i); // 输出:0, 1, 2, 3, 4
}

4.1.2 游戏应用:限制敌人生成

假设我们只在特定条件下生成敌人:

for (int i = 0; i < 10; i++)
{if (SomeCondition()) // 假设某个条件成立{break;}Instantiate(enemyPrefab, new Vector3(i * 2, 0, 0), Quaternion.identity);
}

4.2 continue语句:跳过本次循环

continue语句会跳过当前循环的剩余代码,直接进入下一次循环。

4.2.1 示例:跳过偶数

for (int i = 0; i < 10; i++)
{if (i % 2 == 0){continue; // 跳过偶数}Console.WriteLine(i); // 输出:1, 3, 5, 7, 9
}

4.2.2 游戏应用:跳过特定位置

在生成敌人时,跳过某些位置:

for (int i = 0; i < 10; i++)
{if (i == 5){continue; // 跳过x=10的位置}Instantiate(enemyPrefab, new Vector3(i * 2, 0, 0), Quaternion.identity);
}

五、游戏案例:生成10个敌人

让我们通过一个完整的游戏案例,巩固所学知识。

5.1 案例背景

在Unity游戏中,我们需要生成10个敌人,排列在场景中。循环是实现这一需求的最佳工具。

5.2 使用for循环生成

完整代码如下:

using UnityEngine;public class EnemySpawner : MonoBehaviour
{public GameObject enemyPrefab;void Start(){for (int i = 0; i < 10; i++){Vector3 position = new Vector3(i * 2, 0, 0);Instantiate(enemyPrefab, position, Quaternion.identity);}}
}
  • 效果:10个敌人沿x轴排列,间隔2单位。

5.3 使用while循环生成

改用while循环:

using UnityEngine;public class EnemySpawner : MonoBehaviour
{public GameObject enemyPrefab;void Start(){int count = 0;while (count < 10){Vector3 position = new Vector3(count * 2, 0, 0);Instantiate(enemyPrefab, position, Quaternion.identity);count++;}}
}
  • 效果:与for循环相同,但逻辑更灵活。

5.4 添加break与continue

让我们增加一些控制逻辑:

using UnityEngine;public class EnemySpawner : MonoBehaviour
{public GameObject enemyPrefab;void Start(){for (int i = 0; i < 10; i++){if (i == 5){continue; // 跳过x=10的位置}if (i == 8){break; // 在第8个敌人后停止}Vector3 position = new Vector3(i * 2, 0, 0);Instantiate(enemyPrefab, position, Quaternion.identity);}}
}
  • 效果:生成0、2、4、6、12、14共7个敌人,跳过了x=10,且在x=16前停止。

六、总结

通过本文,我们系统学习了C#中的循环结构及其在游戏开发中的应用:

  • for循环:适合已知次数的重复任务,语法简洁。
  • while循环:适合条件驱动的场景,灵活性强。
  • break:强制退出循环,适用于提前终止。
  • continue:跳过本次循环,适用于过滤特定情况。
  • 游戏案例:通过生成10个敌人,我们看到了循环的实际威力。

循环是编程的基础,尤其在游戏开发中,它能帮你高效处理重复任务。希望你能通过实践进一步掌握这些知识,写出更棒的代码!


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com