(Основанные на тексте) Игры для практики C++

Если вы хотите обновить часть страницы, есть только 2 пути (для Интернета в целом, а не только для JSF). Вы должны использовать фреймы или Ajax. JSF 2 поддерживает ajax изначально, проверьте тег f: ajax, чтобы обновить только один компонент без перезагрузки всей страницы.

27
задан 2 revs, 2 users 90% 7 February 2010 в 21:22
поделиться

15 ответов

Я пытаюсь вспомнить некоторые забавные вещи, которые я делал еще в старших классах CS. Это не все игры, но здесь все сказано:

Анимация на основе текста (ASCII) - В основном я анимировал дракона ASCII, входящего в терминал, что-то говорящего и уходящего. После «прорисовки» каждого кадра он был очищен, так что в основном это был покадровый генератор анимации ASCII.

Лабиринт - Используются символы Unicode в той же концепции. Я получил ввод с клавиатуры от клавиш со стрелками и перерисовал ваш блок, проходя через лабиринт, на основе вашего ввода. Опять же, очистка экрана после каждого кадра и повторная печать текста.

Snake - похожая концепция, как и выше, но это была игра змея.

Простой чат - это опрос общего текстового файла на центральном сервере в нашей школе (который кто-то случайно сделал chmoded 0777) и упрощенный, по сути, очень простой чат.

Бипер - эта программа стала печально известной в моей школе. Вплоть до XP, видимо, звуковой буфер на компьютерах Windows мог легко перегружаться текстом. Запуск этого заставлял компьютер подавать звуковой сигнал до тех пор, пока вы его не выключили (и в большинстве случаев также приводил к тому, что он зависал так сильно, что вам приходилось делать полную перезагрузку). Определенно разозлил администрацию нашей средней школы. Плюс это только 2-х линейный.

char o = 7;  
while(1) cout << o;

Во всяком случае, не уверен, что это помогло вам получить какие-либо идеи, но просто используйте свое воображение. Вы можете повеселиться, не разбираясь в программировании. Просто будь креативным.

6
ответ дан 2 revs, 2 users 78% 28 November 2019 в 05:44
поделиться

Охота на Wumpus была бы фантастической. Это относительно простая игра, но большинство примеров - это старый процедурный код на бейсике. Вы можете начать с нуля и написать OO-версию на C ++.

Игра жизни Конвея - еще одна хорошая игра, так как она не требует взаимодействия с пользователем. Я написал 3D-версию в начале своей карьеры и нашел ее полезной. И очень интересно наблюдать: -)

< в сторону >
Я действительно скучаю по старым временам, когда в компьютерных журналах были списки программ на заднем плане, которые вы могли напечатать самостоятельно. У них были игры, утилиты, что угодно. Я так много узнал, просто копируя то, что написали другие.
& Л; / & в стороне триазола

0
ответ дан leedm777 28 November 2019 в 05:44
поделиться

Хороший источник классических игр -

http://www.atariarchives.org/basicgames/

Игры в старой школе базовые, но учатся перевести и написать их на любом языке, безусловно, будет полезно для приобретения навыков.

Например, если вы хотите заняться несколькими карточными играми, было бы хорошо создать заголовки, функции, классы и поместить код в библиотеки, которые можно было бы повторно использовать между двумя или более играми.

Это не так много, что вы делаете, пока это расширяет ваши навыки и переходит от тривиального к чему-то менее ...

Найдите наставника, который рассмотрит ваш код и предложит, что можно попробовать или сделать по-другому.

1
ответ дан VHF 28 November 2019 в 05:44
поделиться

У Facebook есть несколько классных инженерных головоломок, которые мне нравятся, но они могут быть немного продвинутыми, чтобы только начать. Я - так себе программист C ++, поэтому я решил головоломки сначала в Python, а затем в C ++.

Ознакомьтесь с: Пазлы Facebook Engineering

В них, кажется, есть все: от простого (Hors d'oeuvre) до довольно сложного (Buffet).

Я полагаю, что эти головоломки были созданы для вербовки, но сами по себе они веселые. (Может быть, я немного отвратительный?)

Плюс, у них есть дополнительное преимущество: никогда не знаешь, когда тебе может понадобиться работа.

3
ответ дан Lee-Man 28 November 2019 в 05:44
поделиться

Вам следует проверить сайт на наличие интерактивной художественной литературы на английском языке:

http://www.intfiction.org/forum/

Здесь собираются новые разработчики текстовых игр, чтобы обсудить их. Однако реализация уже не ведется на Си++ - вместо них используются несколько специализированных языков программирования под названием Inform, TADS и Hugo.

В ифархиве:

http://ifarchive.org/

Реализацию одной из моих игр на С++ можно найти здесь:

http://www.caad.es/baltasarq/if/csa/csa-cpp.zip

Она может быть полезной, при условии, что вы можете читать на испанском языке. В любом случае, я сам перешел на Информ 6.

0
ответ дан 28 November 2019 в 05:44
поделиться

checkers. Мне было очень весело писать это в смеси кобола и фортрана. давным-давно назад

было очень приятно видеть, как ваше творение действует умно

конечно, вы проходите через множество итераций, в которых оно действует тупой, пока не дойдете до этой точки

0
ответ дан 28 November 2019 в 05:44
поделиться

В свое время я сделал многопользовательскую рулетку с горячим сиденьем, которая научила меня некоторым основам, основанным на тексте. По сути, игроки по очереди делали ставки на разные числа на разных уровнях ставок, победителю была ничья (с анимацией и звуком), удвоение или ничего. Было очень весело.

0
ответ дан 28 November 2019 в 05:44
поделиться

Как насчет Нима ? Есть два варианта: один с несколькими стопками, где вам разрешено брать столько жетонов в одну стопку, сколько вы хотите, и один с одной стопкой, где вам разрешено брать 1-N жетонов сразу (N обычно около 3). . Тот, кто заберет последний жетон, выигрывает или проигрывает.

Когда-то давно я реализовал версию второй игры, которая позволяла вам указывать все параметры игры, а затем спокойно выбирать, идти ли первой или нет, чтобы гарантировать победу. Ах, хорошие времена.

1
ответ дан 28 November 2019 в 05:44
поделиться

Ряд базовых настольных игр, в которые вы играли в детстве. Броненосцы! (В некоторых странах, известных как Sub) -> Это научит вас возиться с массивами, передавая буферы вокруг. Может также (если вы кодируете ИИ) заставить вас играть с этим.

Шашки/Шахматы -> Реализация ИИ выходит за рамки базового обучения, но довольно легко закодировать текстовое представление игры.

Стратегии или базовые военные игры -> Структуры данных и ООП.

1
ответ дан 28 November 2019 в 05:44
поделиться

Зорк конечно же!

5
ответ дан 28 November 2019 в 05:44
поделиться

Самообучающаяся версия «20 вопросов» может быть довольно забавной (если вы не знакомы с этим, есть довольно забавная реализация этого в Угадай персонажа диктатора / Sit-Com ).

Пример сеанса (на основе вопросов с этого веб-сайта):

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, я должен был бы сказать, о ком я думал, выбрать вопрос, который отличает выбранного мной диктатора / сидящего -ком персонаж от Чендлера из «Друзья», а затем скажите, будет ли ответ на мой вопрос «да» или «нет». Затем этот вопрос запоминается, и программа постепенно становится все более осведомленной о персонажах комедийных фильмов и диктаторах.

В зависимости от того, как вы это сделали, это может помочь вам узнать:

  • Консольный ввод-вывод (чтобы задать вопросы пользователю)
  • Двоичные деревья (каждый вопрос - это узел в двоичном дереве, а потомок узлы - это вопросы, которые вы задаете в зависимости от ответа «да / нет»)
  • Файловый ввод-вывод (если вы сохраняете дерево на диск)
11
ответ дан 28 November 2019 в 05:44
поделиться

Вы должны перейти к самой крутой текстовой игре на свете, Elite .

Вы можете получить исходный код в виде очень удобочитаемого и очень интересного кода C. Источник доступен на сайте Яна Белла .

Элита была известна своей «бесконечной» вселенной. Довольно умный дизайн.

0
ответ дан 28 November 2019 в 05:44
поделиться

Настольные игры, как шашки и Отелло. Еще в 90-е годы у меня был Othello-AI конкуренции с моими коллегами. Думаю, до этого я начинал с тик-так-носков.

Etudes for Programmers имеет несколько забавных проектов, если вы сможете найти копию.

0
ответ дан 28 November 2019 в 05:44
поделиться

Jotto - отличная игра, которая подходит для тех, кто учится. Вы должны хорошенько подумать о паре хороших структур данных, но вы можете легко собрать забавную игру менее чем на 1000 строк C ++.

0
ответ дан 28 November 2019 в 05:44
поделиться

Legendary NetHack кажется отличным выбором и изначально имеет графический пользовательский интерфейс ASCII . Однако он реализован на C, а не на C ++, хотя может быть хорошим учебным материалом. Здесь вы найдете все подробности:

http://en.wikipedia.org/wiki/NetHack

http://www.nethack.org/

0
ответ дан 28 November 2019 в 05:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: