(基于文本)用于C++实践的游戏

lam*_*mas 27 c++

我目前正在学习C++,所以我认为尝试(重新)编写一些"常见的"基于文本的游戏是一个好主意.(想到打猎Wumpus,猜猜计算机生成的(伪)随机数,...)

但是,我找不到任何这些任务的好来源.

  • 哪些基于文本的游戏可以"教育"我编程?
  • 你还记得你编程的特殊游戏(最好用C++编写),它教会了你很多东西吗?
  • 如果你能包括以下内容会很好:
    • 游戏的一般概念
    • 这个游戏需要/涉及的C++语言编程的哪些方面

Sim*_*son 11

"20个问题"的自学习版本可能非常有趣(如果您对此不熟悉,可以在Guess the Dictator/Sit-Com Character中进行相当有趣的实现).

示例会话(基于本网站提出的问题):

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

在这一点上,如果我已经回答了N,我将不得不说出我在想什么,选择一个问题,将我选择的独裁者/静坐角色与钱德勒和朋友区别开来,然后说出我的问题的答案是否是"是还是不是".然后记住这个问题,程序变得越来越多地了解sit-com角色和独裁者.

根据您的操作方式,这可以帮助您了解:

  • 控制台I/O(向用户询问问题)
  • 二叉树(每个问题是二叉树中的一个节点,子节点是你问的问题,取决于是/否响应)
  • 文件I/O(如果将树保存到磁盘)


Bra*_*rad 6

我正在努力记住我在高中CS课上做的一些有趣的事情.他们不是所有游戏,但在这里:

基于文本(ASCII)的动画 - 基本上我动画一条ASCII龙进入终端,说些什么,然后离开.在"绘制"每个帧后,它被清除,所以基本上它是一个逐帧的ASCII动画生成器.

迷宫 - 使用相同概念的Unicode字符.我从箭头键获得键盘输入,并根据您的输入重新绘制通过迷宫的块.再次,在每帧之后清除屏幕并再次打印文本.

- 与上面类似的概念,但它是一个蛇游戏.

简单的聊天 - 这在我们学校的中央服务器(有人意外地编写了0777)上轮询了一个共享文本文件,并且基本上促成了一个非常简单的聊天室.

蜂鸣器 - 这个程序在我的学校臭名昭着.直到XP显然Windows计算机上的声音缓冲区很容易被文本超载.运行此操作会导致计算机发出蜂鸣声,直到您将其关闭(并且在大多数情况下也会导致计算机陷入困境,因此您必须进行硬重启).绝对生气我们高中的管理.此外,它只是一个2线.

char o = 7;  
while(1) cout << o;
Run Code Online (Sandbox Code Playgroud)

无论如何,不​​确定这是否有助于你获得任何想法,但只是用你的想象力.无需了解很多关于编程的知识,您可以获得很多乐趣.要有创意.

  • 对于蜂鸣器,++故意甚至为您提供一个逃生C到帮助您的工作:尽量*为(;;)COUT <<"\一";*:P (4认同)

Byr*_*ock 5

Zork当然!

  • 听起来提问者是C++初学者; 使用高级解析器重新实现文本冒险游戏可能会有点挑战. (3认同)
  • 对于Infocom非常棒的+1,对于任务难度为-1. (3认同)
  • 如果你把它作为一个邪教经典实现它的奖励积分. (2认同)