游戏开发相关,C++教程(零)


3楼猫 发布时间:2024-11-16 23:35:15 作者:AC130熊 Language

闲话少说
先做个自我介绍吧……我是……我是……呃……不说也罢,你就知道我是计算机科班出身的。当然后来学的不咋地,但是教个大一大二c++还是小菜一碟就行了。
Q:为啥要学C++捏?
A: C 和 C++ 是接近底层的编程语言,能够直接管理内存,且在系统编程和游戏开发等领域应用广泛。有些游戏的编程语言看起来容易通用性很差(例如RPG Maker的Ruby语言),有的语言则即不简单同时也没有通用性(例如Godot的GDScript,基于python)。
学习 C++ 不仅有助于深入理解计算机原理,它的通用性也很强。许多知名游戏引擎(如 Unreal Engine 和 Source Engine)广泛使用 C++,而 Unity 也支持 C++ 插件扩展。
Q:为啥不学C而直接要学C++捏?
A:主要是安全考虑和兼容性考虑,C++环境下基本可以运行C语言的代码而且还有许多的库(Libraries)给你使用, C++ 是对 C 的扩展,能够兼容大部分 C 语言代码,同时提供了更强的内存管理和错误控制能力,降低了内存泄漏的风险。C++ 还拥有丰富的标准库,适合新手入门。
Q:C++好学吗?
A:不好学。
Q:那为什么还要学?
A:就是因为不好学才要学……
Q:学习C++需要具备什么样的基本知识。
A:首先是英语, 在学习 C++ 代码之前,建议先掌握基本的算法概念。编程中清晰的逻辑至关重要,推荐使用英文来写算法,这样逻辑表达更严谨,避免误解。尤其不推荐使用中文写算法,这不仅是本人喝洋墨水崇洋媚外,老实说更是因为中文的语言逻辑性不足尤其是经常性的会把【与】( && )跟【或 】( || )用【和】这个字搞混。例如
--------------------------------------------------------------------------------------------------------
开始
设 a 为假;
设 b 为假;
如果 a 和 b 都为真,则输出 “a 和 b 都为真”;
如果 a 或 b 为真,则输出 “a 或 b 至少一个为真”;
结束

--------------------------------------------------------------------------------------------------------
不用懵,我自己都懵了。谢谢。
推荐使用英文来写算法,这样逻辑表达更严谨,避免误解,例如
--------------------------------------------------------------------------------------------------------
BEGIN
SET a TO false
SET b TO false
IF a AND b THEN
OUTPUT "a and b are both true"
END IF;
IF a OR b THEN
OUTPUT "at least one of a or b is true"
END IF;
END

--------------------------------------------------------------------------------------------------------
其次,学好数学。因为所有的计算机编程问题本质上都是数学问题。它的本质就是把一个问题简化成数学模型的过程。从最简单的布尔函数运算,再到定义整数,浮点数(int, float,double)都离不开数学。以我们简单的for循环为例:

当然,也不用着急。英语,数学水平一般的足够了。(即高中数学和英语,150分卷子100分左右以上基本没问题)
但是请注意,毕竟教程么。等文章结尾我会留一些作业滴注意⚠:
不要用Chat GPT之类的作弊,自己憋(想当年我都是自己憋出来的,有了Chat GPT人类学习能力是一个巨大滴打击。总之,我知道这对现在的朋友来说可能不简单,但毕竟学习没有容易的,尽量自己做,忍住,忍住,再忍住。实在忍不住了,憋很长时间弄不出来……那就……不拦着了。至少你看一遍之后自己敲三遍,不懂得留言问。如果留言说不明白就私信。我够呛能回。实在不行我抽空录视频解答)
Q:我要用什么工具捏?
A:不推荐使用VS,推荐CodeBlock , 即便是笔者这种科班出身的CS银,补包也是个大问题,麻烦得很,每次换电脑都要花很长时间补包。注意,下载 codeblocks-20.03-setup.exe。

当然如果你下载了,安装了,运行
#include <iostream>
using namespace std;
int main() {
cout << "Fuck The World!" << endl;
return 0;
}
失败,那么可以尝试在线编辑器replit。

序章就写这么多,主要是准备工作,物质上的和心理上的。今天的作业么就是搞一个编辑器准备迎接轰炸,让C++从入门到入坟。

荐进阶毒物:韩大。如果你实在感兴趣C语言看起来啥样,和C++有什么区别可以参考他的系列教程。但老实说难度较大


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com