Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(基于文本的)C&x2B游戏+;实践 我目前正在学习C++,所以我认为尝试重新编写一些“常见”的基于文本的游戏是个好主意。(想想亨特·乌姆普斯,猜一个由计算机生成的(伪)随机数,…)_C++ - Fatal编程技术网

(基于文本的)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