Важная информация
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13

Тема: Карточная игра «Девятка»

  1. #1 Карточная игра «Девятка» 
    Начинающий Аватар для Эрик Замабувараев-Ёмолкуу
    Регистрация
    12.03.2018
    Сообщений
    31
    Сказал(а) спасибо
    0
    Поблагодарили 18 раз(а) в 13 сообщениях
    Игра выполнена в классическом стиле Windows.

    Правила
    Все карты колоды сдаются по кругу по одной карте. Перед раздачей карт все игроки ставят в банк оговорённую ставку. Игру начинает игрок, имеющий 9 бубен. Следующий игрок по часовой стрелке может положить 8 или 10 бубен, либо одну из трёх оставшихся 9. Если вышеназванных карт у него нет, то он пропускает ход и обязан поставить в банк определённую сумму. Также и в дальнейшем: при невозможности положить карту ход пропускается.

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

    Во вложении исходники, 32‐битная и 64‐битная версии.

    Игра пассивно разрабатывается на гитхабе [Ссылки могут видеть только зарегистрированные пользователи. ]
    Вложения
    • Тип файла: zip Nine.zip (388.1 Кб, Просмотров: 3)
    Ответить с цитированием  
     

  2. Пользователь сказал cпасибо:

    Free Admin (03.04.2018)

  3. #2  
    Admin
    Регистрация
    09.04.2014
    Сообщений
    1,212
    Сказал(а) спасибо
    776
    Поблагодарили 488 раз(а) в 401 сообщениях
    Это конечно хорошо, но данный раздел подразумевает, что вы выложите здесь интересные решения с кодом которые вы применяли в этой разработке...
    Ответить с цитированием  
     

  4. #3  
    Начинающий Аватар для Эрик Замабувараев-Ёмолкуу
    Регистрация
    12.03.2018
    Сообщений
    31
    Сказал(а) спасибо
    0
    Поблагодарили 18 раз(а) в 13 сообщениях
    Там много чего было интересного. Например, как включить визуальные стили Windows XP для элементов управления.

    Для начала нужно создать файл manifest.xml

    Код :
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    	<assemblyIdentity
    		version="1.0.0.0"
    		processorArchitecture="*"
    		name="Tagalong Games.Карточная игра «Девятка».Девятка"
    		type="win32" />
    	<description>Карточная игра «Девятка»</description>
    	<dependency>
    		<dependentAssembly>
    			<assemblyIdentity
    				type="win32"
    				name="Microsoft.Windows.Common-Controls"
    				version="6.0.0.0"
    				processorArchitecture="*"
    				publicKeyToken="6595b64144ccf1df"
    				language="*" />
    		</dependentAssembly>
    	</dependency>
    </assembly>

    Этот манифест нужно включить в ресурсы программы:

    Код :
    1 RT_MANIFEST "manifest.xml"

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

    FreeBasic Code:
    1.  
    2. Dim icc As INITCOMMONCONTROLSEX = Any
    3. icc.dwSize = SizeOf(INITCOMMONCONTROLSEX)
    4. icc.dwICC = ICC_ANIMATE_CLASS Or _
    5. ICC_BAR_CLASSES Or _
    6. ICC_COOL_CLASSES Or _
    7. ICC_DATE_CLASSES Or _
    8. ICC_HOTKEY_CLASS Or _
    9. ICC_INTERNET_CLASSES Or _
    10. ICC_LINK_CLASS Or _
    11. ICC_LISTVIEW_CLASSES Or _
    12. ICC_NATIVEFNTCTL_CLASS Or _
    13. ICC_PAGESCROLLER_CLASS Or _
    14. ICC_PROGRESS_CLASS Or _
    15. ICC_STANDARD_CLASSES Or _
    16. ICC_TAB_CLASSES Or _
    17. ICC_TREEVIEW_CLASSES Or _
    18. ICC_UPDOWN_CLASS Or _
    19. ICC_USEREX_CLASSES Or _
    20. ICC_WIN95_CLASSES
    21.  
    22. If InitCommonControlsEx(@icc) = 0 Then
    23. ' Ошибка
    24. End If
    Ответить с цитированием  
     

  5. Пользователь сказал cпасибо:

    Free Admin (04.04.2018)

  6. #4  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,848
    Сказал(а) спасибо
    1,815
    Поблагодарили 945 раз(а) в 807 сообщениях
    Записей в блоге
    1
    Цитата Сообщение от Эрик Замабувараев-Ёмолкуу Посмотреть сообщение
    Эрик Замабувараев-Ёмолкуу
    Блин, фильтр форума не пускает некоторые твои мессаги, приходится руками подтверждать.
    Думаю через опр-е кол-во постов должно пропасть.

    Цитата Сообщение от Free Admin Посмотреть сообщение
    что вы выложите здесь интересные решения с кодом которые вы применяли в этой разработке...
    Игорь всё в порядке - там есть исходники.



    Замабувараев, слушай, каков объём кода хотя бы примерно?
    Последний раз редактировалось >Quiet Snow<; 04.04.2018 в 16:45. Причина: Объединение сообщений
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  7. #5  
    Начинающий Аватар для Эрик Замабувараев-Ёмолкуу
    Регистрация
    12.03.2018
    Сообщений
    31
    Сказал(а) спасибо
    0
    Поблагодарили 18 раз(а) в 13 сообщениях
    Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
    слушай, каков объём кода хотя бы примерно?
    Исходники занимают примерно 200 килобайт. В самом большом файле примерно 1000 строк, в среднем где‐то двести строк на файл. Ужас.
    Ответить с цитированием  
     

  8. #6  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,848
    Сказал(а) спасибо
    1,815
    Поблагодарили 945 раз(а) в 807 сообщениях
    Записей в блоге
    1
    Цитата Сообщение от Эрик Замабувараев-Ёмолкуу Посмотреть сообщение
    Исходники занимают примерно 200 килобайт.
    Однозначно уходит в раздел проектов BASIC. Что-ж спасибо за разработку.
    Сам я в карточные игры не игрок, поэтому потестировать не смогу.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  9. #7  
    Профи Аватар для stabud
    Регистрация
    05.01.2013
    Сообщений
    768
    Сказал(а) спасибо
    319
    Поблагодарили 339 раз(а) в 268 сообщениях
    Записей в блоге
    6
    Эрик , если уж ты выкладываешь исходники , так уж проверь их. Ну вот как можно их скомпилировать , если там много чего не хватает ? Попробуй на чистой установке компилятора собрать свой проект... Мне это напоминает программеров-сишников , у них почти никогда проект невозможно собрать из коробки (всегда надо что-то править, где-то что-то искать , добавлять и пр.).
    И потом , любой проект , содержащий большое кол-во файлов , как минимум должен содержать руководство по компиляции , а по хорошему средство автоматизации (bat файл , make файл и т.п.)

    В общем пока это просто куча файлов и ничего более.

    Добавлено позже:

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

    Warning: resolving _cdtDrawExt@32 by linking to _cdtDrawExt
    Use --enable-stdcall-fixup to disable these warnings
    Use --disable-stdcall-fixup to disable these fixups
    Warning: resolving _cdtInit@8 by linking to _cdtInit
    Warning: resolving _cdtTerm@0 by linking to _cdtTerm
    Что это значит , х.з. , хотя игра запустилась. Алгоритм в игре хороший, поиграл мне понравилось.
    Последний раз редактировалось stabud; 05.04.2018 в 11:34.
    Ответить с цитированием  
     

  10. 2 пользователя(ей) сказали cпасибо:

    >Quiet Snow< (05.04.2018), Free Admin (05.04.2018)

  11. #8  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,848
    Сказал(а) спасибо
    1,815
    Поблагодарили 945 раз(а) в 807 сообщениях
    Записей в блоге
    1
    Цитата Сообщение от stabud Посмотреть сообщение
    И потом , любой проект , содержащий большое кол-во файлов
    Кстати именно поэтому и не использую настолько яростную декомпозицию.
    Грубо говоря программа дробится на самые толстые куски и они уже подвергаются декомпозиции(GUI, API, ENGINE и т.д).


    Цитата Сообщение от stabud Посмотреть сообщение
    Мне это напоминает программеров-сишников , у них почти никогда проект невозможно собрать из коробки
    Кстати да. У них вообще полная жопа. Я прикидываю как матерится какой-нибудь пользователь GNU C++
    который хочет собрать что-то с билдера или Visual Studio. И всё это при наличии чёткого, почти непоколебимого
    стандарта.
    Последний раз редактировалось >Quiet Snow<; 05.04.2018 в 19:16.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  12. #9  
    Начинающий Аватар для Эрик Замабувараев-Ёмолкуу
    Регистрация
    12.03.2018
    Сообщений
    31
    Сказал(а) спасибо
    0
    Поблагодарили 18 раз(а) в 13 сообщениях
    Т0 чт0 не указал как компилировать — это моя ошибка. Вот исправление.

    Для начала нужно каким‐либо образом достать библиотеку cards.dll. Эта библиотека входит в Windows XP/2003, лежит в системной папке. А уже на Windows 7 её нет, поэтому я её включил в архив, надеюсь, не забанют за распространение библиотек от корпорации Micro$oft. Сойдёт как 32‐битная, так и 64‐битная версии. Эту библиотеку нужно положить в папку с исходниками.

    Из файла «MainForm.bas» нужно удалить подключаемые заголовочники, это на девятой строке, сейчас они только мешают компиляции:
    Код :
    #include once "Irc.bi"
    #include once "IrcEvents.bi"
    #include once "IrcReplies.bi"

    Пакетный файл компиляции:
    Код :
    "%ProgramFiles%\FreeBASIC\fbc.exe" -s gui Nine.bas MainFormWndProc.bas PlayingCard.bas MainForm.bas NetworkParamDialogProc.bas AboutDialogProc.bas Drawing.bas DisplayError.bas GdiGraphics.bas Nine.rc


    Теперь должно собраться.

    Компоновщик может выкидывать предупреждения о неправильном объявлении функций.

    Планирую сделать эту игру сетевой.
    Ответить с цитированием  
     

  13. Пользователь сказал cпасибо:

    >Quiet Snow< (06.04.2018)

  14. #10  
    Профи Аватар для stabud
    Регистрация
    05.01.2013
    Сообщений
    768
    Сказал(а) спасибо
    319
    Поблагодарили 339 раз(а) в 268 сообщениях
    Записей в блоге
    6
    Цитата Сообщение от Эрик Замабувараев-Ёмолкуу Посмотреть сообщение
    Для начала нужно каким‐либо образом достать библиотеку cards.dll. Эта библиотека входит в Windows XP/2003, лежит в системной папке. А уже на Windows 7 её нет, поэтому я её включил в архив, надеюсь, не забанют за распространение библиотек от корпорации Micro$oft
    А я эту библиотеку для пробы брал из reactos , может из-за нее такие дикие предупреждения...

    Неплохо бы иметь возможность регулировать скорость анимации.
    Ответить с цитированием  
     

  15. Пользователь сказал cпасибо:

    >Quiet Snow< (06.04.2018)

Страница 1 из 2 12 ПоследняяПоследняя
Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Игра на деньги
    от dronchick в разделе Общие вопросы программирования
    Ответов: 5
    Последнее сообщение: 02.01.2017, 22:07
  2. Игра ASTEROID
    от Kakos_nonos в разделе Проекты на Pascal
    Ответов: 2
    Последнее сообщение: 08.07.2012, 13:44
  3. Игра в числа
    от Lika в разделе QBasic
    Ответов: 2
    Последнее сообщение: 24.10.2011, 21:32
  4. Моя игра DOSSR.
    от Абадябер в разделе Проекты на Basic
    Ответов: 26
    Последнее сообщение: 15.04.2011, 03:05
  5. Игра в хоккей
    от ss1 в разделе Разработки на QBasic
    Ответов: 12
    Последнее сообщение: 12.04.2011, 13:58
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •