(基于文本的)C&x2B游戏+;实践 我目前正在学习C++,所以我认为尝试重新编写一些“常见”的基于文本的游戏是个好主意。(想想亨特·乌姆普斯,猜一个由计算机生成的(伪)随机数,…)
然而,我找不到任何好的资源来完成这些任务(基于文本的)C&x2B游戏+;实践 我目前正在学习C++,所以我认为尝试重新编写一些“常见”的基于文本的游戏是个好主意。(想想亨特·乌姆普斯,猜一个由计算机生成的(伪)随机数,…),c++,C++,然而,我找不到任何好的资源来完成这些任务 哪些基于文本的游戏可以“教育”我编程 你还记得你编写的一个特殊游戏(用C++编写),它教了你很多东西? 如果您可以包括: 游戏的一般概念 该游戏的C++语言编程的哪些方面需要/涉及 当然可以 我在努力回忆我在高中CS课上做的一些有趣的事情。他们不是所有的游戏,但这里是这样的: 基于文本(ASCII)的动画-基本上,我制作了一条ASCII龙进入终端,说着什么,然后离开。在“绘制”每一帧后,它被清除,因此基本上是一帧一帧的ASCII动画生成器 Maze
- 哪些基于文本的游戏可以“教育”我编程 你还记得你编写的一个特殊游戏(用C++编写),它教了你很多东西?
- 如果您可以包括:
- 游戏的一般概念 该游戏的C++语言编程的哪些方面需要/涉及
当然可以 我在努力回忆我在高中CS课上做的一些有趣的事情。他们不是所有的游戏,但这里是这样的: 基于文本(ASCII)的动画-基本上,我制作了一条ASCII龙进入终端,说着什么,然后离开。在“绘制”每一帧后,它被清除,因此基本上是一帧一帧的ASCII动画生成器 Maze-在相同的概念中使用Unicode字符。我从箭头键获得键盘输入,并根据输入重新绘制迷宫中的方块。同样,在每一帧后清除屏幕并再次打印文本 蛇-与上述概念类似,但它是一款蛇类游戏 简单聊天-这项调查调查了我们学校中央服务器上的一个共享文本文件(有人无意中创建了0777),基本上建立了一个非常简单的聊天室 呼机-这个节目在我的学校里声名狼藉。显然,在XP之前,Windows计算机上的声音缓冲区很容易被文本超载。运行此操作会导致计算机发出嘟嘟声,直到您将其关闭为止(在大多数情况下,还会导致计算机陷入困境,以至于您必须进行硬重启)。肯定激怒了我们高中的管理层。再加上这只是一个2班机
char o = 7;
while(1) cout << o;
charo=7;
虽然(1)cout自学版的“20个问题”可能会很有趣(如果您不熟悉这一点,这里有一个非常有趣的实现)
示例会议(基于本网站的问题):
你是女性吗?
>N
你超重吗?
>N
你住在公寓楼里吗?
>Y
你出差是为了工作吗?
>N
你有没有奇怪的赚钱计划?
>N
你住在加利福尼亚吗?
>N
你是新来的医生吗?
>N
你父亲是同性恋吗?
>Y
你是同性恋吗?
>N
你是演员吗?
>N
你父母都是同性恋吗?
>N
你是黑人吗?
>N
我猜你是朋友的钱德,对吗?
>Y
在这一点上,如果我回答了N,我将不得不说出我在想谁,选择一个问题来区分我所选择的独裁者/静坐喜剧角色、钱德勒和朋友,然后回答我的问题是“是”还是“否”。这个问题被记住了,节目慢慢地变得越来越了解坐着的角色和独裁者
根据您是如何做到这一点的,这可以帮助您了解:
- 控制台I/O(询问用户问题)
- 二叉树(每个问题都是二叉树中的一个节点,子节点是您根据是/否回答提出的问题)
- 文件I/O(如果将树保存到磁盘)
你必须去参加有史以来最酷的文字游戏,Elite
您可以从非常可读、非常有趣的C代码中获得源代码。该资料来源可从以下网址获得:
精英以其“无限”的宇宙而闻名。这是一个相当聪明的设计。你小时候玩过的一些基本棋类游戏。
战舰!(在某些国家,称为SUB)->这会教你如何摆弄数组,传递缓冲区。也可以(如果你编写了一个AI)让你去玩它
跳棋/国际象棋->实现人工智能超出了基础学习的范围,但编写游戏的文本表示形式相当容易
Stratego或基础战争游戏->数据结构和OOP。猎杀Wumpus会很棒。这是一个相对简单的游戏,但大多数示例都是BASIC中的旧程序代码。你可以从头开始,在C++中编写一个面向对象的版本。
是另一个好的,因为它不需要任何用户交互。在我职业生涯的早期,我写了一个3D版本,发现它很有用。而且它很吸引人:——)
我真的很怀念过去的日子,那时电脑杂志的背面有程序列表,你可以自己输入。他们有游戏、公用设施等等。我从别人的作品中学到了很多东西。
Facebook有一些我喜欢的很酷的工程难题,但对于刚开始的人来说可能有点高级。我是一个如此的C++程序员,所以我先在Python中解决了谜题,然后在C++中。
退房:
他们似乎什么都有,从简单的开胃小吃到极具挑战性的自助餐
我相信这些拼图是为招聘而设的,但它们本身就很有趣。(也许我有点怪?)
此外,它们还有一个额外的好处:永远不知道你什么时候可能需要工作。经典游戏的好来源是
这些游戏都是旧式的基本游戏,但学习用任何语言翻译和书写这些游戏肯定会有助于获得技能
例如,如果您想处理一些纸牌游戏,那么最好创建标题、函数、类,并将代码放入库中,以便在两个或多个游戏之间重复使用
与其说你在做什么,不如说你在做什么,只要它能扩展你的技能,让你从琐碎的事情变成不那么琐碎的事情
找一位导师来检查您的代码,并就如何尝试或做不同的事情提出建议 那一天,我做了一个hot seat多人轮盘赌,教了我一些基础知识,全部是文字
Are you female?
> N
Are you overweight?
> N
Do you live in an apartment building?
> Y
Do you travel for your job?
> N
Do you have strange schemes to make money?
> N
Do you live in California?
> N
Are you a new doctor?
> N
Is your father gay?
> Y
Are you gay?
> N
Are you an actor?
> N
Are both your parents gay?
> N
Are you black?
> N
I guess you are Chandler from Friends, am I right?
> Y