Форум программистов, компьютерный форум CyberForum.ru

Программа для игры в покер - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы http://www.cyberforum.ru/cpp-beginners/thread797100.html
Задана целочисленная квадратная матрица A(N x N). Найти максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
C++ Задача про Лестницу Условия формулируются так: Есть лестница высотой в n ступенек (плюс «нулевая» - площадка, где мы стоим вначале). На каждой ступеньке написано число (положительное или отрицательное). На стартовой площадке и на последней ступеньке - нули. Можно ступать либо на следующую ступеньку либо перескакивать через одну. Напишите алгоритм, определяющий, как надо шагать, чтобы сумма чисел на пройденных... http://www.cyberforum.ru/cpp-beginners/thread797095.html
Где графику делать? C++
Всем доброго времени суток! Собственно вопрос в следующем. Курсовая работа по программированию - разработать приложение для игры в Рассаду. головоломка такая. надо сделать с графическим интерфейсом, чтобы "и мышкой можно было поиграться и чтоб красиво было." Тоесть рисование черточками ему не подходит. Сам я пишу в visual studio 10 и после гуглинья ниче внятного про графику в консоли в вс10 я...
Одномерные массивы (найти количество элементов, отличающихся от среднего арифметического не более чем на 5%) C++
В одномерном массиве, состоящем из n вещественных элементов, найти количество элементов, отличающихся от среднего арифметического не более чем на 5%.
C++ Шаблон класса http://www.cyberforum.ru/cpp-beginners/thread797084.html
Приветствую. Есть глупый вопрос. Имеется класс: #pragma once #include "support.hpp" template <typename at> class ellipse {
C++ Программа в IDE Eclipse (написать программу которая выводит на консоль геометрическую фигуру: прямоугольник) написать программу которая выводит на консоль геометрическую фигуру: прямоугольник. более в задании ничего не указано, видимо не принципиально какой язык java или С++ подробнее

Показать сообщение отдельно
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
02.03.2013, 03:13     Программа для игры в покер
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
тут тоже
В принципе верно, но не совсем. Достаточно большой проект принято разделять и влавствовать чуть ли не до бесконечности. То есть по сути появляется большое количество модулей разделённых относительно кода (но не работы - они могут работать и параллельно). У каждого модуля есть своя "точка входа" и своя "точка выхода".

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
И к регистрам и прерываниям никто тебе доступа не даст, когда параллельно с тобой запущено ещё несполько приложений и сама операционка Windows.
Наглая ложь! Я хоть и пару месяцев кодил на асме, но что Linux, что Windows даёт полный доступ к любым прерываниям и регистрам. Как же другие приложения? Насколько я помню, регистров не мало + запоминаются состояния. К тому же шанс того, что система тебя вытолкнет из работы вне вызова какого-нибудь прерывания довольно мал, так что в принципе содержимому в регистрах можно доверять. И именно поэтому во времена Pentium II-III-IV винда могла очень легко "залипнуть".

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Ну в принципе да, а что? Методы классов - те же функциии. Вообще всё зависит, например, оконное у тебя приложение или консольное.
Ну в принципе да, на практике - иначе. ЯВУ позволяют обойтись без... такого цикла
C
1
for (;;) {...break;...}
То есть где-нибудь есть что-то вроде
C++ (Qt)
1
return app.exec()
который в неявном виде запускает цикл и настраивает events или систему сообщений, уведомлений, сигнал-слотов. По-разному...
Но на самом деле, это именно цикл. В цикле программа методично превреяет, не были нажаты определённые кнопки и как на их нажатие реагировать (изменять ход течения программы).
Цитата Сообщение от kravam Посмотреть сообщение
И я не сразу понял. Да и понял ли? Для меня ООП- возможность конструировать собственные типы данных
Вот-вот... Мне вообще кажется, что в этом мире только от силы полтора человека понимают суть ООП. Остальные умеют лишь пользоваться им...
ООП - совокупность методов, методик построения ПО. Нельзя взять и понять ООП. Для этого, имхо, может потребоваться десятки лет практики и тонны прочитанной литературы. Но если грубо, то во времена WWII не было даже ассемблера и всё кодилось прямо в двоичных (максимум - десятиричных) кодах. Приход ассемблера внёс первый уровень абстракции - мнемоники. Потом парни из AT&T решили создать хорошую ОС. Но это было сложно и вдобавок они сделали Си. В общем-то, первый ужасный и в то же время очень мощный системый ЯВУ. Хотя, скорее ЯСУ (среднего уровня), но не суть - это всё мелочи. Впоследствии, ОС'ы становились более громозкими, их API разрасталось, усложнялось, расслаивалось; ПО стало более комплексное и куда более сложное... Си стало не хватать и появился Си++ - улучшенный Си, на что намекает инкремент, или Си с классами в раннем варианте. И если сначала комманды были представлены цифрами, потом их обозвали буквами, в Си их стало возможным объединить в функции, то в Си++ класс - аггрегатор функций на основе используемых данных! Это самая обычная эволюция (есть неизвестная революция - функциональные ЯП, но... слишком она неизвестная).

Ну вот, собственно и ответ. Как организовывать программу? Всё просто - пишем коды. Когда видим, что функция стала слишком большой, делаем больше функций. В идеале функции должны быть длиной 10-15 символов (хотя краткость - сестра таланта, не забываем), а размером - 5-6 строк максимум (содержательных, офк).
Так же и с классами - видем, что он ожирел - время рефакторинга. Разделяем сначала данные на классы (семантически, офк), после чего переписываем методы классов.
Из вредных советов, имхо:
+ должна быть структурка (или класс) GameState, массив этих GameState'ов и указатель на текущий. У них должны быть методы, вроде updateState()...
+ игрок человек и игрок компьютер не должны быть разделены классом - это одна сущность и не стоит плодить их по напрасну, лучше проверять тип внутри update() и либо ждать ввода, либо ходить самому каким-то образом.
+ бумага - лучший друг человека; она всё стерпит, а если писать карандашом - долго прослужит... хотя если есть комманда, white-board всё же лучше.


Это всё мнение человека (кроме исторических фактов, офк) и оно не претендует быть истинной в первой инстанции.

Добавлено через 2 минуты
Алсо, рекомендую [перевод].

Добавлено через 10 минут
Цитата Сообщение от nefton Посмотреть сообщение
Микроконтроллеры (точнее компиляторы для них) не поддержуют С++ и уж точно не поддерживают его полностью.
Не знаю о чём Вы, но Си++11 сейчас вообще никто полностью не поддерживает, а Си++ начала двухтысячных прекрасно транслируется в Си99 код. Тем более, что древние компиляторы именно так и делали Си++ -> Си -> ассемблер -> бинарник.

По поводу алгоритма? Что за сила руки? Есть вполне определённые алгоритмы рассчёта вероятности выигрыша. Нужно всего лишь посмотреть на свою руку, посчитать (читай, найти) лучшую комбинацию (что очень легко считается с помощью деревьев) и определить вероятность, что у противника рука слабее (с рассчётом на вылетевшие карты, размер колоды и возможности на флопе, тёрне и ривере получить что-нибудь интересное.
Это не так просто с точки зрения математики, но с точки зрения кода это довольно просто.

Добавлено через 6 минут
Цитата Сообщение от XRuZzz Посмотреть сообщение
вы не сможите скомпилировать класс с_Figure на компиляторе для микроконтроллера пока не уберете строчку
C
1
#include "stdafx.h"
Простите, что!? Причём здесь невозможность откомпилировать на микро- контроллер или процессор и прекомпилированные хэдеры?
 
Текущее время: 22:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru