去评论
推扬网

乔秋生:编程所写的代码 是如何变成游戏的?

admin
2020/08/11 14:08:35

何乘风的回答:

人能识别有意义的字母、数字组合,就是代码。电脑机器只能识别0和1的二进制数字组合。人写的代码不能直接被电脑识别,需要一个翻译的过程,这个过程叫"编译",把对人有意义的代码转换为对电脑有意义的二进制码。

你看到的游戏画面是电脑理解了这些二进制码之后的结果。电脑根据二进制码来进行游戏图像渲染、处理玩家的键盘鼠标操作信息。

举个简单的例子吧,假设人写的代码如下:

Action action = drawCar(); boolean goLeftBool = getInputLeftArrow(); if(goLeftBool){ action.setLocation(action.getLocation().getX()--, action.getLocation().getY()); }

这段代码大概意思是:画辆车,玩家按左,车往左走。编译之后形成下面这样的二进制码:

0010101010000101011111011101101010000101100101 0111011111011010000111010101010110001010111101 1010110001010101010101101101101010101010101011 0010101111010101011010101010101110110111011010 0101110101011001010110110110101010001010101011

其中每行代表源代码中的一句。就像黑客帝国一样,哈哈。这样电脑才能理解。

当然,这是个例子而已,真正编译出来的二进制码比这个要多得多!

杨玉琼的回答:

人能识别有意义的字母、数字组合,就是代码。电脑机器只能识别0和1的二进制数字组合。人写的代码不能直接被电脑识别,需要一个翻译的过程,这个过程叫"编译",把对人有意义的代码转换为对电脑有意义的二进制码。

你看到的游戏画面是电脑理解了这些二进制码之后的结果。电脑根据二进制码来进行游戏图像渲染、处理玩家的键盘鼠标操作信息。

举个简单的例子吧,假设人写的代码如下:

Action action = drawCar(); boolean goLeftBool = getInputLeftArrow(); if(goLeftBool){ action.setLocation(action.getLocation().getX()--, action.getLocation().getY()); }

这段代码大概意思是:画辆车,玩家按左,车往左走。编译之后形成下面这样的二进制码:

0010101010000101011111011101101010000101100101 0111011111011010000111010101010110001010111101 1010110001010101010101101101101010101010101011 0010101111010101011010101010101110110111011010 0101110101011001010110110110101010001010101011

其中每行代表源代码中的一句。就像黑客帝国一样,哈哈。这样电脑才能理解。

当然,这是个例子而已,真正编译出来的二进制码比这个要多得多!

晴天丶的回答:

起码你要对编程有所了解,要不你是无法理解的