Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 [2]  Все   Вниз
  Печать  
Автор Тема: Игрушки на С++ в коносли  (Прочитано 22869 раз)
0 Пользователей и 1 Гость смотрят эту тему.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #30 : 20-07-2011 08:07 » 

Согласен - совершенно бесполезное Улыбаюсь
Массив соответствий нажатых кнопок тонам - вся сложность.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
гайка
Гость
« Ответ #31 : 20-07-2011 10:41 » 

кстати в input_ij лучше заменить каскад if на switch
свич тут не прокатит, свич не терпит string. там лучше
Код: (C++)
if((s>='а')&&(s<='к')) j=(int)s+32;
else
{
     if((s>='А')&&(s<='К'))j=(int)s+64;
}
я так понял check просто проверяет занятость диагональных клеток
ну да, вроде того
да я там много чего тогда перемудрила, просто очень многого еще не знала. и переменные называла транслитом  :Улыбаюсь

Добавлено через 1 минуту и 48 секунд:
да и сейчас многого еще не знаю... ^_^

Добавлено через 5 минут и 1 секунду:
а большинство массивов можно было объявить публично...
« Последнее редактирование: 20-07-2011 10:47 от гайка » Записан
гайка
Гость
« Ответ #32 : 20-07-2011 12:47 » 

Джон, а я что? меня попросили выложить код (так настоятельно попросили, обвинили в стеснительности). спросила "куда?", говорят "сюда, в книги по с++", ну дык мне и не жалко А черт его знает...
его, конечно, использовать как учебное пособие по с++ смешно, но поковыряться и полюбопытствовать можно  Да-да
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #33 : 20-07-2011 15:29 » 

Гайка, вместо свича можно ассоциировать строки с чем угодно Улыбаюсь
Записан

гайка
Гость
« Ответ #34 : 20-07-2011 16:28 » 

Гайка, вместо свича можно ассоциировать строки с чем угодно Улыбаюсь
Как это сделать?
PS: я еще не переварила рефакторинг Антона :Улыбаюсь

Добавлено через 2 минуты и 4 секунды:
Да и к тому же, зачем? чем тебе мой вариант не нравится (не тот, что в файле, а тот что я новый написала). правда он не совсем мой, это Finch, его идея.
« Последнее редактирование: 20-07-2011 16:30 от гайка » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #35 : 20-07-2011 16:40 » 

Гайка, дык при помощи, к примеру, мапа

std::map< std::string, тут_тип_ассоциированной_сущности> myswitcher;

Цитата
чем тебе мой вариант не нравится
а про какой вариант речь ? Про лесенку ? Лесенка жутко не нравится
Записан

гайка
Гость
« Ответ #36 : 20-07-2011 17:11 » 

чем тебе мой вариант не нравится (не тот, что в файле, а тот что я новый написала)
Код: (C++)
if((s>='а')&&(s<='к')) j=(int)s+32;
else
{
     if((s>='А')&&(s<='К'))j=(int)s+64;
}
- это вместо половины лесенки, вторую лесенку можно через atoi
Алексей, ты не обижайся, но все-таки не забывай, что я всего лишь студент (да-да, именно такой, каких А.П. Чехов и Dimka терпеть не могут Да-да ), про мап впервые слышу.... вижу, точнее.

Добавлено через 7 минут и 59 секунд:
Кому ж они нравятся, лесенки эти... просто пол года назад, когда я с книжкой в руках учила плюсы, я другого выхода не видела...
« Последнее редактирование: 20-07-2011 17:19 от гайка » Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #37 : 20-07-2011 17:28 » 

погодите насколько я помню 'A' это не строка, а символ, т.е. 8бит знакового целого (обычно так), а switch работает с числами
какой-то жестокий offtop пошел, может разделим темку?
Записан

Странно всё это....
гайка
Гость
« Ответ #38 : 20-07-2011 18:01 » 

Антон, да ты прав. но последний вариант все равно короче, чем свич!
вспомнила... я пыталась (тогда еще) свичом сделать вторую "лесенку", там m - строка (это необходимо, ведь вторая координата не всегда состоит из 1 символа, да и пользователь своими кривыми ручками может ввести что угодно) и из-за этого компилятор ругался.
ребята, ну чего вы так прицепились к этой несчастной "защите от дураков"? разве это в игрушке главное?
главное в check(), check_check(), go(), show_dead().
зачем делить тему?
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #39 : 20-07-2011 19:32 » new

Вот я тоже думаю. Девушка выложила из архивов свои старые первые "пробы пера", а их тут взялись разбирать, критиковать. Неужели кто-то думает, что Гайка будет переписывать свой старый морской бой??

Вот я свои "крестики-нолики" 8 класса берёг как память и назидание самому себе - мне и в голову не приходило их переписывать. Я над ними медитировал, сравнивая себя нынешнего с собою прошлым и гордясь тем, как я вырос над собой. Улыбаюсь
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
гайка
Гость
« Ответ #40 : 20-07-2011 21:36 » 

Dimka, в некоторых школах первоклассников просят нарисовать, кем они хотят стать, а перед выпуском в 11 классе им показывают эти рисунки. вот тут что-то подобное.
нет, ребят, не подумайте, что я вам запрещаю ковыряться в коде... бога ради (чем бы дитя не тешилось Отлично), не зря же я его выложила. можете даже попробовать сделать из него вкусную конфетку  Отлично
я и сама понимаю (и сразу вам об этом сказала), что код дилетантский. каждый из вас когда-то писал программульки с костылями и "лесенками"  Улыбаюсь
Записан
Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #41 : 21-07-2011 14:06 » 

Never,  шарик который отскакивает от стенок монитора) в школе была задачка)
алгоритм строчек в 15-20)
 потом можно на его основе кучу игрушек придумать)
и в консоли пойдет легко)

Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
гайка
Гость
« Ответ #42 : 21-07-2011 14:18 » 

Ochkarik, я могу растянуть строчек на 100, я умею  Прыгаем вместе
Записан
Never
Команда клуба

ua
Offline Offline
Пол: Женский

« Ответ #43 : 21-07-2011 14:21 » 

Ochkarik, да, пожалуй, у меня это на Флеше было реализовано. Можно, спасибо
Записан

не умеете летать- не мучайте метлу!
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #44 : 21-07-2011 15:10 » 

Never, я вот что вспомнил: на закате СССР под редакцией С. Капицы издавался очень интересный журнал "В мире науки" (перевод "Scientific American" примерно 2-месячной давности). Там была постоянная рубрика "Занимательный компьютер" под редакцией Алана Дьюдни (и несколько статей его предшественника Б. Хэйеса), где на домашних компьютерах решались всякие увлекательные задачи. Причем персоналки тех лет графикой не баловали, в основном все делалось на консоли, зачастую хватало даже Basic'a.

Вот здесь указатель статей за 1983-1993 гг. (то есть до того самого момента, когда журнал угробили перестройкой). Поищите там автора Дьюдни. Сам журнал нашел на торрентах. В данный момент на раздачах 44 сида, качается быстро.

Еще есть книга Ж. Арсак, "Программирование игр и головоломок". Качать здесь. Там тоже практически все можно реализовать на консоли. Правда, задачи Дьюдни показались мне интереснее.

P.S. В свое время получал массу удовольствия, воплощая эти нехитрые игры на самодельном домашнем компьютере. Надеюсь, начинающим они понравятся и сегодня.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #45 : 21-07-2011 15:48 » 

Цитата
Ж. Арсак, "Программирование игр и головоломок"
ооо, глаз зацепился за знакомое имя и знакомое название...  Посмотрел обложку - ага, есть у меня где-то такая книжка )

Только вот что-то поделать по ней вроде так руки и не дошли
Записан

гайка
Гость
« Ответ #46 : 21-07-2011 19:01 » 

Шарик, пожалуйста, забацала... получите, распишитесь   Что, съел?

* running_ball.rar (13.43 Кб - загружено 460 раз.)
« Последнее редактирование: 21-07-2011 19:32 от Джон » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #47 : 21-07-2011 19:27 » 

Гайка, Первое что бросается в глаза. У тебя слишком много в коде "магических чисел".
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
гайка
Гость
« Ответ #48 : 21-07-2011 19:29 » 

Finch, каких чисел?
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #49 : 21-07-2011 19:35 » 

Вот например твой код
Код: (C++)
void print_ball(int &i,int &j)
{
        int k,l;
        for(k=1;k<n-1;k++)
        {
                for(l=1;l<m-1;l++)
                        field[k][l]=' ';
        }
        for(k=0;k<7;k++)
        {
                for(l=0;l<10;l++)
                {
                        if(((k==0)||(k==6))&&((l>1)&&(l<8)))
                                field[i+k][j+l]='#';
                        else
                        {
                                if(((k==1)||(k==5))&&((l>0)&&(l<9)))
                                        field[i+k][j+l]='#';
                                else
                                {
                                        if((k>1)&&(k<5))
                                                field[i+k][j+l]='#';
                                        else
                                                field[i+k][j+l]=' ';
                                }
                        }
                }
        }
        output();
}
Сама через пол года будеш долго вспоминать что такое: 10, 7, 5, 6, 9, 8. Почему именно их выбрали?
Вот такие необъяснимые числа с первого взгляда и называются "магические числа". Я сам порой грешу, но стараюсь как можно меньше использовать. Лучше всего обозначить их через #define и закоментировать прокоментировать.  
« Последнее редактирование: 21-07-2011 19:53 от RXL » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #50 : 21-07-2011 19:35 » 

Джон, окей, я на сипипи файл заменила

Я же был прицепил полностью твой проект, только без файлов, которые генерятся студией. Так что всё в порядке. На будущее, всё что в Debug папке, можешь удалять, кроме ЕХЕ. Потом .suo .sdf и папку ipch тоже нафик.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
гайка
Гость
« Ответ #51 : 21-07-2011 19:46 » 

Джон, предупреждать надо Улыбаюсь к тому же проект был прицеплен через яндекс.народ.ру (ужасное место), а ты ссылку не менял вроде...
Finch, ты прав, я просто ленюсь... эти цифры связаны с размером "шарика", он у меня не совсем круглый, 7*10 символов. рандомная точка - в верхнем левом углу, от нее начинается построение фигуры (у меня язык не поднимается ее шариком назвать).

Добавлено через 5 минут и 25 секунд:
Кстати, в этом куске кода последний else можно нахрен удалить...
« Последнее редактирование: 21-07-2011 19:51 от гайка » Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #52 : 21-07-2011 19:53 » 

Дык, а чего предупреждать? Я ж к сообщению прицепил. Размер 14 кБ - вполне нормально. А на яндексе для гигантоманов-любителей, я ничего менять и не собирался. Ага
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
гайка
Гость
« Ответ #53 : 21-07-2011 20:00 » 

ну дык никто же не знает, что по ссылке для гигантоманов... 8) не знал...
Записан
Never
Команда клуба

ua
Offline Offline
Пол: Женский

« Ответ #54 : 22-07-2011 21:10 » 

Dale, спасибо за ценную инфу. И вообще, ребята, всем участвовавшим в теме, спасибо. Я получила даже больше чем расчитывала Улыбаюсь
Записан

не умеете летать- не мучайте метлу!
itrobo
Новенький

ru
Offline Offline

« Ответ #55 : 30-12-2018 07:00 » 

уже три года веду кружок программирования и разработал интересный практикум программирования на си http://itrobo.ru/programmirovanie/praktikum-programmirovanija-po-si.html
в него входит анимация, диалог с компьютером, игры крестики нолики и движение в лабиринте
думаю для начинающих будет очень интересно
« Последнее редактирование: 30-12-2018 11:41 от RXL » Записан
Страниц: 1 [2]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines