和我一样,许多人喜欢足球模拟,许多人沉迷于编程。 有一次,在2004年,在FIFU玩了足够的游戏之后,我认为将我的两个爱好结合到一个游戏中会很不错,在该游戏中,玩家将不会被手动控制,而是由为他们编写的脚本来控制。
程序员自己开发的一种
游戏 ,例如“ RoboCup Simulation Soccer”。 那时我还是一个新手程序员,已经写了一些简单的游戏,但是由于我不知道如何为播放器编程语言编写合适的解释器,所以我无法完全实现我的想法。 现在有更多供程序员使用的游戏,但是我没有找到想要的游戏,经过多年的大量代码编写,我决定回到原来的想法。
游戏的结果是我想要的
-funcball.com 。
- 对于这4个播放器中的每个播放器,都会根据条件和操作编写代码,该代码和代码每50毫秒执行一次。
- 每个玩家只能控制自己,无法访问其他人的记忆,但可以向他们发出信号。 内存由标志实现。
- 所有球员都以相同的恒定速度移动,但带球的球员速度稍慢。 没有门将。
- 播放器代码是随机执行的。 首先执行从中心引入球的代码。
- 游戏的速度和持续时间可以更改。 可以记录比赛。
- 我试图使初学者尽可能清楚地使用该语言。 不需要编写函数,因为 内置的功能可让您对几乎所有玩家行为进行编程。
- 可以与游戏网站上的其他团队竞争。
传统语言
语法 :

有一种没有括号的书写形式,对于非程序员更常见:

这是另一个示例:

在这种情况下,将检查如果第三位球员没有接球,则跑到场地的第10平方。 美元符号退出脚本。
支持并鼓励嵌套:

在此示例中,存在条件“ player3_opened”。 这是一个函数,名称中包含一个自变量(3-玩家编号),我认为这是可以理解和理解的。
可以在代码中使用所谓的宏,而不是在运行时替换相应的值。 转移至玩家4的通行证示例:

[X4 + 50]是玩家4的X坐标增加了50,[Y4]是他的Y坐标。 在执行此命令之前,方括号中的宏将替换为特定的值,例如,其外观如下:send_ball:254.190。
宏可以使用内置的宏功能。 例如,如果玩家到对手球门的距离小于150像素,则击中球门:

X和Y将替换为玩家的坐标,D(X,Y,559,188)将替换为从该点到具有坐标559,188(目标坐标)的点的计算距离。 如果小于150,则将宏替换为True(真),否则,替换为False(假),结果将变为:If(真){beat_on_turns}。
我决定以通常的水平形式离开该领域。 原点是标准的-左上角。 对球员进行编程时,我们必须假定他们从场地的左半边开始。 他们的球员人数为1-4,其他球员人数为5-8。 在右侧比赛时,会反映所有球员的座标,平方数,角度和人数,即 球队的比赛将与左半部分完全相同。
编辑器不允许您用手编写所有代码,而是通过单击插入必要的功能。 每个功能都有帮助。

团队准备就绪后,可以将其上传到服务器(由游戏中的编辑器完成)。 之后,她将参加常规
赛 。 所有已加载的团队都将参加比赛,比赛的结果和记录将在网站上发布。 锦标赛多久一次取决于参与者的兴趣。 同时有一组球队获得首个冠军。
您还可以在网站上随时订购与选定球队的比赛。 团队将立即自动发送到单独的服务器,在该服务器上进行比赛,并将其记录发回,然后可以下载并观看。
所以,我邀请大家一起
玩 ! 我认为可能有很多人对此项目感兴趣,我希望本文能帮助他们找到他们。