二十年前的老游戏,为何再次让无数程序员痴迷不已?

news2024/11/27 7:32:03

SpaceTraders是个古老的策略类游戏,运行在古老的Palm OS和Windows Mobile PDA上。

1914009b61a915f6b2522dac92b15904.png

游戏开始时,玩家将获得一艘飞船,然后驾驶它在各个星球之间穿梭,挖掘星球矿产,低买高卖赚取利润,赚了钱可以升级飞船,购买更大货仓,更先进的武器, 因为星际航行中可以会碰到海盗,玩家需要决定是逃跑,交涉还是战斗......

听起来并不是非常吸引人,对吧?

但是,有个叫spacetraders.io的网站,把SpaceTraders玩出了新高度:它把这个游戏给API化了!

换句话说,游戏中的所有动作,都可以用API的方式来调用!

比如,注册一个玩家,可以用CURL发出这样的请求:

curl --request POST 
--url 'https://api.spacetraders.io/v2/register' 
--header 'Content-Type: application/json' 
--data '{
"symbol": "liuxin",
"faction": "COSMIC"
}'

购买一艘飞船:

curl --request POST 
--url 'https://api.spacetraders.io/v2/my/ships' 
--header 'Authorization: Bearer <token>' 
--header 'Content-Type: application/json' 
--data '{
"shipType": "SHIP_MINING_DRONE",
"waypointSymbol": "X1-DF55-69207D"
}'

给船补充燃料:

curl --request POST 
--url 'https://api.spacetraders.io/v2/my/ships/ONLYLIUXIN/refuel' 
--header 'Authorization: Bearer <token>'

卖货赚钱:

curl --request POST 
--url 'https://api.spacetraders.io/v2/my/ships/ONLYLIUXIN/sell' 
--header 'Authorization: <token>' 
--header 'Content-Type: application/json' 
--data '{
"symbol": "IRON_ORE",
"units": "100"
}'

我这里只列举了一小部分,除此还有导航、停泊、测绘、卸货、查看市场、完成合约等各种各样的API。

21f0c4cbf2f9ed7f962bdc1015325973.png

这些API可不仅仅支持一个人玩儿,而是支持多人在线的交互。

即使是多人在线游戏,通过命令行,用API的方式来玩儿这个游戏也太无趣了吧?

又慢又无聊,谁会这么玩呢?

但是,一旦你把视野打开,就会发现这是个非常棒的创意

因为任何程序员,不管他是使用什么编程语言,都可以通过代码调用这些API,写一个SpaceTraders的客户端应用程序,和其他人进行交互。

有很多人已经这么干了,有人做出了漂亮的图形化客户端:

a08beebba9866be2c2e87f97260d481f.png

有人做出了文本化的客户端

f47dc73ab475f64ec8c77161b4577a78.png

有人实现了Emacs Lisp 客户端

6b8caddd1e124a4b1064a5021c77e05e.png

有人用React做了客户端:

15455c4dc347bb69bfccb1dc8806585f.png

那开发这些“乱七八糟的”客户端有什么用处呢?

最大的用途就是:学习编程

我们每个人在学习编程中都会遇到这样的问题:学了很多语法,写了不少代码片段,但是越学越没意思,因为编程有很多知识点,很枯燥,很无聊,没有真实项目刺激,缺乏动力。

现在有了SpaceTraders API,事情就不一样了。

假如你想学习Python,你完全可以用Python 代码去调用这些API,实现一个Python版的SpaceTraders客户端。

为了尽快实现这个游戏的注册、飞行、挖矿、战斗,你不得不去做界面设计、架构设计、类的设计,和服务器API的交互,这个过程逼着你不得不接触到Python的各个方面。

编程的过程,结合了游戏的过程,有趣,不枯燥。

把这个客户端写完,对Python恐怕也熟悉个七七八八了。

难怪网友反馈说:我在48个小时内学到的东西比一个月的在线课程还多!

强烈建议那些正在学编程的同学看一看这个游戏,调用API去玩一玩。

这个SpaceTraders API让我想到了早些年流行的Robocode,玩家需要编写自己的机器人坦克,定义其行为和战斗策略,在一个虚拟的战场上与其他玩家编写的机器人对战。

e54dbfff5d8fe6f9e038781a204c57ea.png

只不过Robocode必须由Java编写,限制了用户的群体。

相比而言,SpaceTrader API更加开放,更加有趣。

“寓教于乐”可以让人轻松学习,不得不说,在这方面,国外程序员的创新和脑洞确实比较多,走到了我们的前面,值得我们学习。

(完)

最后宣传下我和闪客建立的星球“ChatGPT基地”,专门探索程序员在ChatGPT时代的定位,如何使用ChatGPT来提升工作效率。

在程序员领域,我们这个星球可能是玩ChatGPT玩得最深入的,已经远远超出了ChatGPT聊天的阶段,很多人进入了API开发,甚至私有化模型训练。

ChatGPT聊天 ->使用ChatGPT API开发应用 -> 训练私有化部署大模型

这里的朋友们很多已经从小白进化成ChatGPT领域的熟练玩家,星球的专栏有很多有价值的主题:

4a145b004fe72e9e44a1f415f90a65b6.png

来到这个星球,用心刷上个几天,你就不知不觉超越了这个领域 99% 的人了。

现在星球有这些活动:

加入星球即送ChatGPT账号(仅限今天进入星球的前100名,联系方式:加微信onlyliuxin97

输出优质内容即送100元红包

参与打卡挑战,有机会退星球费用

现在星球处于试运行期,原价199元,现在有个100元的优惠券,相当于99元就可以加入,早点儿拥抱ChatGPT,成为第一批会用ChatGPT和用好ChatGPT的人,占据先机,吃到红利。

ac96fe8ef3e0d80e2f56f8877e9ca171.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/513285.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

麻了,一个操作把MySQL主从复制整崩了

最近公司某项目上反馈mysql主从复制失败&#xff0c;被运维部门记了一次大过&#xff0c;影响到了项目的验收推进&#xff0c;那么究竟是什么原因导致的呢&#xff1f;而主从复制的原理又是什么呢&#xff1f;本文就对排查分析的过程做一个记录。 主从复制原理 我们先来简单了…

淘宝商品详情接口 淘宝商品库存接口 淘宝商品销量接口 淘宝商品sku信息接口 淘宝商品优惠价接口

淘宝商品详情API接口item_get是一个非常重要的API接口&#xff0c;它可以获取淘宝商品的详细信息。对于淘_宝卖家来说&#xff0c;通过调用该接口可以实现对自己商品信息的获取、修改和管理等功能。 使用item_get接口可以获取一个商品的所有信息&#xff0c;包括商品的标题、价…

[学习笔记] [机器学习] 4. [上]线性回归(正规方程、梯度下降、岭回归)

视频链接数据集下载地址&#xff1a;无需下载 本文学习目标&#xff1a; 掌握线性回归的实现过程应用LinearRegression或SGDRegressor实现回归预测知道回归算法的评估标准及其公式知道过拟合与欠拟合的原因以及解决方法知道岭回归的原理及与线性回归的不同之处应用Ridge实现回…

这次彻底不需要账号了,无需魔法永久白嫖GPT

免费GPT 自GPT风靡以来&#xff0c;大家用的是不亦乐乎&#xff0c;你用他去解决过实际问题&#xff0c;你用他去写过代码&#xff0c;你用他去修改过bug&#xff0c;你用他去写过sql&#xff0c;你用他去画过图&#xff0c;你问过他你能想到的任何“刁钻”问题。 你&#xff…

如何在没有密码的情况下解锁华为手机

华为手机用户通常会使用密码保护他们的设备免受未经授权的访问。但是当用户忘记密码时就会出现问题。如果您无法回忆起密码&#xff0c;可以选择重置手机。但是有更多更好的方法可以帮助您解锁华为手机。在本文中&#xff0c;我们将向您展示如何免密码解锁华为手机。按照本文&a…

“五位一体”打造数字业务安全体系

顶象联合中国信通院发布的《业务安全白皮书—数字业务风险与安全》显示&#xff0c;随着数字化的发展&#xff0c;企业的关键数据、用户信息、基础设施、运营过程等均处于边界模糊且日益开放的环境中&#xff0c;涉及利益流和高附加值的业务面临多样的安全隐患&#xff1b;同时…

Linux下最强安卓模拟器,流畅又丝滑(附详细安装教程)此瓜保熟|Linux游戏党

我打算完全从头开始&#xff0c;写一个专门用于桌面办公的纯国产操作系统 &#xff0c;规避主流操作系统上影响用户体验的问题&#xff0c;系统力求简洁。有兴趣加QQ群&#xff1a;709652950 好东西让更多人发现&#xff01;我找了整整两年&#xff0c;什么Anbox&#xff0c;什…

【必知必懂论文】之多模态实体识别

引言 命名实体识别&#xff08;NER&#xff09;是自然语言处理(NLP)领域中的最基础、最核心的任务之一&#xff0c;该任务旨在识别出文本中的命名实体&#xff08;通常指特定类型事物的名称或符号&#xff0c;一般是一个名词或者短语&#xff09;&#xff0c;并将识别出的实体…

【这七款网工在线画拓扑工具,你会用几个呢?】

其实绘制拓扑图的工具有很多&#xff0c;今天主要推荐给大家7款在线的绘图软件&#xff0c;不仅好用&#xff0c;不占内存&#xff0c;而且功能强大。 看看有没有你种草的那一款哈&#xff0c;当然&#xff0c;如果有其他更好用的工具&#xff0c;也欢迎留言区告诉其他网工朋友…

apifm-wxapi

文章目录 apifm-wxapi介绍为什么要用 apifm-wxapi使用1. 项目导入 apifm-wxapi2. 平台注册3. 平台配置4. 用户注册5. 用户登录6. 使用其他API 【参考】 apifm-wxapi 介绍 “微信小程序接口工具包&#xff0c;无需服务器&#xff0c;无需开发后台&#xff0c;开箱即用&#xf…

(四)运行微信小程序:在主页加入表单组件实现提交功能

我们在上个小练习的基础上&#xff0c;继续在主页添加功能——使用表单组件form。 根据微信官方文档&#xff1a; https://developers.weixin.qq.com/miniprogram/dev/component/form.html 当需要获取用户提交的信息时&#xff0c;可以使用表单组件form。当用户点击表单中fo…

从 0~1 创建 Vue3项目(Vue3 + JS)

前言 我目前还是在用 JavaScripr开发项目&#xff0c;后面会学习 TypeScript &#xff0c;也会专门写一篇《从 0~1 创建Vue3 TS 项目》。求关注&#x1f62d; 一、创建项目前的准备工作 1.1 安装Node 创建项目需要使用 npm 或 yarn 可以去看我的另一篇文章&#xff1a;《…

免费开源的Umi-OCR 文字识别工具

大家好&#xff0c;我是小寻&#xff0c;欢迎关注公众号:工具优选&#xff0c;免费领取优质项目源码和常用工具&#xff0c;还可以加入我的交流群! 如今&#xff0c;在日常生活和工作中&#xff0c;我们经常需要捕捉屏幕截图并识别其中的文本信息。比如别人给你发资料时直接发…

Git详细用法:Git概述 安装 常用命令 分支操作 团队协作 、GitHub、idea集成Git、idea集成GitHub、码云、GitLab

课程介绍 学习目标 第1章 Git 概述 Git 是一个免费的、开源的分布式版本控制系统&#xff0c;可以快速高效地处理从小型到大型的各种项目。 Git 易于学习&#xff0c;占地面积小&#xff0c;性能极快。 它具有廉价的本地库&#xff0c;方便的暂存区域和多个工作流分支等特性…

跟着LearnOpenGL学习3--四边形绘制

文章目录 一、前言二、元素缓冲对象三、完整代码四、绘制模式 一、前言 通过跟着LearnOpenGL学习2–三角形绘制一文&#xff0c;我们已经知道了怎么配置渲染管线&#xff0c;来绘制三角形&#xff1b; OpenGL主要处理三角形&#xff0c;当我们需要绘制别的图形时&#xff0c;…

切记:缺少进项利用这个方法!增值税高也不怕!

切记&#xff1a;缺少进项利用这个方法&#xff01;增值税高也不怕&#xff01; 业务是流程&#xff0c;财税是结果&#xff0c;税收问题千千万&#xff0c;《税算盘》来帮你找答案。 企业缺少进项&#xff0c;这个问题是所有企业和财务都无法回避的问题&#xff0c;让企业非…

实用篇 | huggingface的简单应用

本文主要介绍hugging Face(拥抱脸)的简单介绍以及常见用法&#xff0c;用来模型测试是个好的工具~ 如下图所示左边框是各项任务&#xff0c;包含多模态&#xff08;Multimodal&#xff09;&#xff0c;计算机视觉(Computer Vision)&#xff0c;自然语言处理(NLP)等&#xff0c;…

强人工智能时代,区块链还有戏吗?

最近很多人都在问我&#xff0c;ChatGPT 把 AI 又带火了&#xff0c;区块链和 Web3 被抢了风头&#xff0c;以后还有戏吗&#xff1f;还有比较了解我的朋友问&#xff0c;当年你放弃 AI 而选择区块链&#xff0c;有没有后悔&#xff1f; 这里有一个小背景。2017 年初我离开 IBM…

uni-app两个入口模块(客户端和用户端)

思路&#xff1a;使用vuex对小程序进行登录状态管理&#xff0c;采用集中式存储管理应用的登录状态 Vuex 是什么&#xff1f; | Vuex 效果&#xff1a; 新建store文件夹&#xff0c;在文件夹中新建一个index.js文件和一个modules文件夹&#xff0c;modules文件夹中新建一个st…

【历史上的今天】5 月 11 日:Dijkstra 算法开发者诞生;电子表格软件的开山鼻祖;机器狗 AIBO 问世

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 5 月 11 日&#xff0c;在 1995 年的今天&#xff0c;我国成为第六个研制成功磁悬浮列车的国家。磁悬浮列车利用“同性相斥&#xff0c;异性相吸”的原理&…