ria pc game
translate to English   translate to Chinese
fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
21 февраля 2019 0:32
Вход Регистрация Забыли пароль ?

megainformatic - оплата через систему QIWI - выбор продукта
        Вы Выбрали способ оплаты через систему QIWI
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
megainformatic - Темы для WordPress

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - Макет дизайна Вашего сайта

скачать megainformatic cms

megainformatic - Итоги 2010 года

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - как создать инсталлятор для собственной cms

megainformatic - Новости - страница 2

Нововведения в megainformatic cms

Web Администрирование

Уроки Верстки

Система автоматизированной е-майл рассылки

Система автоматизированной е-майл рассылки

megainformatic - Выгрузка файла на сайт

megainformatic - выпадающее меню на html и css

megainformatic - Использование checkbox

Краеугольная особенность работы Web-form на примере смены состояния checkbox

Технологии WEB

Технологии WEB - AJAX-запросы

Часто Задаваемые Вопросы

Продукты

Проблемы с кодировками при отображении страниц

игра Нечто: Необъяснимое Нить Накала - "в плену желаний"

Система Автоматизации Доставки Электронных Заказов megainformatic cms e-pro

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

webinformatic: Музыкальная страничка трэкера

megainformatic - Создание музыки и звука

webinformatic: Создание музыки и звука: урок 2

megainformatic - Создание музыки и звука: урок 3 - настройка Impulse Tracker для работы в WinXP

megainformatic - Создание музыки и звука: урок 4 - Введение в Mod Plug Tracker

megainformatic - Создание музыки и звука: урок 5 - Первая композиция в Mod Plug Tracker

megainformatic - Создание музыки в Impulse Tracker 2.14 - урок 6 - Ввод Нот

megainformatic - Создание музыки в Impulse Tracker 2.14 Первая мелодия

megainformatic - Создание музыки в Impulse Tracker 2.14 Настройка параметров сэмплов

megainformatic - Создание музыки и звука: теория и практика создания трэкерской музыки

megainformatic - Инструкция по оплате услуг средствами WebMoney

Основы работы в Microsoft Visual Studio 2008 и DirectX 9 (DX SDK Aug 2008)

Введение в программирование игр на С++ для платформы DirectX 9 - Первый старт

Введение в программирование игр на С++ для платформы DirectX 9 - Меняем иконку приложения

Введение в программирование игр на С++ для платформы DirectX 9 Добавляем другую модель

Введение в программирование игр на С++ для платформы DirectX 9 Программирование игр в directx. Hello, World!

Введение в программирование игр на С++ для платформы DirectX 9 Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++ (часть 2)

Урок 2 Написание Win32-приложений. Обзор стартового кода Win32-приложения. Добавление ресурса текстовая строка

Урок 3 Создание Win32-приложений. Создание меню и простых диалоговых окон.

Урок 4 Создание Win32-приложений. Стандартные диалоги. Изучение сопутствующих конструкций языка. Консольные Win32-приложения. Указатели. Ссылочный тип. Массивы.

Урок 4 часть 2 Win32. Диалог выбора цвета, смена цвета фона окна приложения

Написание приложения DirectX9c + MFC в среде MSVS 2005

megainformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7

megainformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7 - Почему избраны DX8 и Delphi ?

megainformatic - Основы IDirectMusic8 в среде Delphi6-7

megainformatic - Основы DirectInput8 в среде Delphi 7

megainformatic - Основы DirectSound8 в среде Delphi6-7

megainformatic - Плагин для 3DS MAX из DX9 SDK

подробнее

2.02.2019

fle game generator - эффекты под музыку и без на движке fle game engine

fle game generator - эффекты под музыку и без на движке fle game engine - урок 2 - переходим к более сложным эффектам - вращение 3d объектов



В верхней части сайта Вы наверное уже заметили вращающийся кубик.

Зададимся целью решить эту вообщем-то достаточно тривиальную, но в то же время
базовую задачу.

То есть попробуем научиться создавать визуальный эффект вращающейся 3d модели
на примере 3d куба.

Научившись делать это, Вы сможете вращать и другие модели и, что самое важное -
узнаете основные принципы трансформаций 3d объектов в сцене.

Вам наверное было бы интересно знать, как реализовано перемещение 3d кубиков (или 3d сфер,
которые мы создали в предыдущем уроке -
fle game generator - эффекты под музыку и без на движке fle game engine

Скоро Вы это узнаете. А сейчас давайте изучим как вращать куб.

Самое простое - это реализовать поставленную задачу на уже реализованном примере.
Наши кубики в сцене летят. Но их много. Кроме того, в предыдущем уроке -
fle game generator - эффекты под музыку и без на движке fle game engine
у нас стали летать не кубики, а сферы.

fle game generator - 4 вида 3d шариков

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



Поэтому проделаем следующие шаги:

1) вернем снова в сцену летающие кубики вместо летающих сфер.

Как это сделать Вы можете догадаться из предыдущего урока
fle game generator - эффекты под музыку и без на движке fle game engine

fle game generator - 4 вида 3d кубиков и 2d снег

2) Отключим временно отображение 2d визуальных эффектов, чтобы
они нам не мешали.

все что требуется это открыть в MSVS 2005 проект fgg (его можно скачать по ссылке
из предыдущего урока fle game generator - эффекты под музыку и без на движке fle game engine)

найти файл start.cpp и в нём закомментировать строку

//g_Snow.Draw();

Но если делать более изящно, то лучше сделать так:

В класс CD3DGameApp

добавить переменную bool типа

в модуль
start.h

class CD3DGameApp
{
public:

//...

bool			m_b_Show_2d_visual_effects;

а в модуле

start.cpp

Добавить такие строки кода -



CD3DGameApp::CD3DGameApp() //в данный метод
{

//...

//после строки
	m_bPauseMusic = true;
//добавляем
	m_b_Show_2d_visual_effects = false;


void CD3DGameApp::LoadParams() //в данный метод
{
//после строки
	g_MusicThemes.m_iPlayMode = m_iMusicPlayMode;
//добавляем
	int i_show_2d_visual_effects = (int)floor(m_Params->GetValue(3));
		if ( i_show_2d_visual_effects < 1 )
			m_b_Show_2d_visual_effects = false;
		else
			m_b_Show_2d_visual_effects = true;
			
			
			


HRESULT CD3DGameApp::Render(IDirect3DDevice9* pd3dDevice) //в данный метод
{

//...
//добавляем
if ( m_b_Show_2d_visual_effects )
//перед строкой
	g_Snow.Draw();
	
	
	
HRESULT CD3DGameApp::FrameMove()) //в данный метод
{

//...
//добавляем
if ( m_b_Show_2d_visual_effects )
//перед строкой
	g_Snow.FallSnow();



В файле

путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\base\params.txt

добавляем в самый конец новую строчку -

show_2d_visual_effects=1; //отображать 2d визуальные эффекты 0 - нет, 1 - да

Сохраняем изменения.

Компилируем приложение. Запускаем.

Теперь при каждом старте

путь_к_папке_исходных_файлов_fgg\fgg\fgg\start.exe

Можно через файл

путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\base\params.txt

задавать режим отображения визуальных эффектов.

Если зададим 0 - сохраним изменения и затем запустим
путь_к_папке_исходных_файлов_fgg\fgg\fgg\start.exe

увидим что 2d визуальный эффект падающий снег - пропал.

Закроем приложение по нажатию клавиши [Esc].

Теперь в файле
путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\base\params.txt

зададим как
show_2d_visual_effects=1; //отображать 2d визуальные эффекты 0 - нет, 1 - да

Сохраняем, снова запускаем
путь_к_папке_исходных_файлов_fgg\fgg\fgg\start.exe

2d снег стал виден снова.

Таким образом Мы вынесли настройку отображения 2d визуальных эффектов в виде
падающего снега в файл настроек
путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\base\params.txt

fle game generator - 4 вида 3d кубиков



3) У нас слишком много летающих кубиков. Сделаем, чтобы летал всего 1.

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

В модуле start.cpp летящие кубики отображаются строкой кода
g_Snow3D.Draw();

объект g_Snow3D

приведет нас к классу CSnow3D,
который объявлен в модуле snow_3d.h

Найдите модуль snow_3d.h в папке scripts/snow в окне Solution explorer

fle game generator - модуль snow_3d.h в папке scripts/snow в окне Solution explorer

строка кода
#define Snow3dParamsFile L"\\Media\\textures\\snow\\3d\\params.txt"

говорит сама за себя.

Т. е. в папке \\Media\\textures\\snow\\3d\\ есть файл

params.txt

где нужно всего лишь указать 1 параметр

вместо
snows_num=500; //число снежинок

написать как
snows_num=2; //число снежинок

Сохранить изменения в файле и перезапустить приложение

путь_к_папке_исходных_файлов_fgg\fgg\fgg\start.exe

Почему я указал 2 снежинки, т. е. 2 кубика, а не 1 ?

Дело в том, что 1 кубик Вы можете даже не увидеть. Особенно если
он движется где-то под плоскостью пола.

А вот 2 - увидите наверняка !

fle game generator - 1 летящий красный кубик

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

Это уже чуть сложнее.

Но я надеюсь вы разберетесь.

А вот и ответ:

В модуле start.cpp анимация происходит в методе
CD3DGameApp::FrameMove

Там же есть строчка кода
g_Snow3D.FallSnow();

Уже знакомый вам объект g_Snow3D

не правда ли ?

Остается заглянуть в реализацию метода

CSnow3D::FallSnow

в модуле snow_3d.cpp

вместо строк


//анимируем падение снежинок

		pSnow->m_Position.x += g_fElapsedTime * pSnow->Speed.x;
		pSnow->m_Position.y += g_fElapsedTime * pSnow->Speed.y;
		pSnow->m_Position.z += g_fElapsedTime * pSnow->Speed.z;
		


написать


		pSnow->m_Position.x += g_fElapsedTime * pSnow->Speed.x * 0.0f;
		pSnow->m_Position.y += g_fElapsedTime * pSnow->Speed.y * 0.0f;
		pSnow->m_Position.z += g_fElapsedTime * pSnow->Speed.z * 0.0f;		
		


То есть вся суть в том, что поскольку скорость перемещений кубика
по осям x, y, z всегда будет равна 0, то кубик никуда
перемещаться не будет.

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

модуль start.cpp

метод
CD3DGameApp::Render

строку RenderFloor(pd3dDevice);

закомментировать

//RenderFloor(pd3dDevice);

Сохраняем изменения, выполняем сборку проекта, запускаем.

Получаем результат.

fle game generator - 1 неподвижный красный кубик

Правда когда пол отображается существенно легче ориентироваться
в 3d пространстве перемещая и вращая камеру.

А когда вокруг черным черно - то Вы легко можете заблудиться
в сцене.

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

Далее мы разберемся как выставить в сцене камеру в некоторое
начальное состояние, чтобы не искать кубик вращениями и
перемещениями камеры, а он сразу
был бы перед глазами.

Во время наших манипуляций с камерой (когда мы перемещаем
или вращаем камеру в сцене) можно выводить
на экран значения ключевых координат камеры.

Клавиши и мышь управляют нашей камерой и это описано
в readme.txt который есть внутри папки

путь_к_папке_исходных_файлов_fgg\fgg\fgg\

[Enter] - переключение в полноэкранный/оконный режим

[Esc] - выход из приложения


клавиша [F] - скрыть/показать FPS и другие параметры.

клавиша [M] - скрыть/показать кнопку настроек экрана.

клавиша Пробел - следующая заставка

клавиша [R] - включить/остановить воспроизведение музыки

клавиша [T] - перейти к воспроизведению следующего муз. трека
(независимо от заданного режима воспроизведения музыки).


Управление камерой:

левая или правая или средняя кнопка мыши + перемещение указателя мыши - изменение угла
обзора из камеры.

Клавиши управления курсором - основные или на доп. клавиатуре или
W, A, S, D - перемещение в 3d пространстве.

Q, E - перемещение камеры вверх/вниз
Но сначала, как и обещал узнаем все-таки как сделать наши
кубики вращающимися.

Это делается достаточно просто -

в модуле snow_3d.cpp

находим метод
CSnow3D::Draw



открываем его реализацию в модуле
models.cpp

CD3D9Mesh::Draw(

там есть метод

CD3D9Mesh::SetupMatrices(

который собственно и отвечает за все трансформации
летающих 3d кубиков - вращения, перемещения, изменения масштаба.



вместо строки
m_f_Y_Rotation = 0.0f;

создать строку
m_f_Y_Rotation += g_fElapsedTime * 1.0f;

Сохранить изменения. Собрать и запустить приложение.

Чтобы 3d кубики было лучше видно я сделал снова, чтобы кубики
перемещались и изменил для них такие параметры



путь_к_папке_исходных_файлов_fgg\fgg\fgg\\Media\textures\snow\3d\params.txt

сделал 10 кубиков и крупнее их размер
snows_num=10; //число снежинок

min_snow_scale=100.0f; //мин. размер снежинок
max_snow_scale=100.0f; //макс. размер снежинок



Вот что у меня получилось

fle game generator - вращающиеся кубики

Анимация будет не такой прерывистой как на показанном рисунке,
а более плавной.

Просто для демонстрации я использовал gif изображение
содержащее всего 4 кадра анимации.

подробнее

роман Eternity Вечность - автор Синицин Андрей megainformatic - страница 4

 

к странице 1 к странице 2 к странице 3 страница 4

 

* * *

в коде есть -

BEGIN_MESSAGE_MAP(CAnimateCtrlPage, CPropertyPage)

//...

ON_BN_CLICKED(IDC_PLAY, OnPlay)






class CAnimateCtrlPage : public CPropertyPage
{

	afx_msg void OnPlay();
	
	
	
//...


void CAnimateCtrlPage::OnPlay()


Нужно записывать код вручную или надо генерировать ? И если генерировать, то как ?


На кнопке кликаем правой кнопкой и генерируем Add Event Handler


Получилось -

void Cwinsock_samp1Dlg::OnBnClickedButtonTest()

Как теперь получить IDC_STATIC и установить его текстовое свойство, чтобы
увидеть результат работы ?


Посмотрел пример тут -
\CmnCtrl1\animctrl.cpp

CWnd* pFrame = GetDlgItem(IDC_ANIMFRAME);
	pFrame->GetClientRect(&m_rectAnimateCtrl);
	
	
Значит по-аналогии


есть что-то более близкое -

вкладка CMonthCalCtrl


\CmnCtrl1\MonthCal.cpp
\CmnCtrl1\MonthCal.h

и там посмотреть как происходит работа с меткой Selection

Как выводится текущая дата в метку Selection ?


\CmnCtrl1\MonthCal.cpp


void CMonthCalPage::HandleSelect


	m_pszSelection.Format(_T("%02d/%02d/%2d"),ct.GetMonth(),ct.GetDay(),ct.GetYear());
	

//...

CMonthCalPage::CMonthCalPage

//...

m_pszSelection = _T("");


//...

void CMonthCalPage::DoDataExchange

//...

	DDX_Text(pDX, IDC_STRSELECTION, m_pszSelection);



Значит делаем по-аналогии

\winsock_samp1\winsock_samp1Dlg.cpp


void Cwinsock_samp1Dlg::DoDataExchange	
	
	DDX_Text(pDX, IDC_STATIC2, m_pszSelection);  //в данной строке возникает ошибка, почему ?


Надо было у добавленного элемента Static Text на форме, прописать в его свойствах этот же ID.


Однако по клику на кнопке Test в элементе Static Text ничего не отображается. Почему ?

внутри
void Cwinsock_samp1Dlg::OnBnClickedButtonTest


Добавил вызов
UpdateData(TRUE);


Но и это не решило вопрос. Что еще не учтено ?


Надо в справочном руководстве посмотреть как ведется работа со Static Text.
Может быть там есть примеры его использования.

void Cwinsock_samp1Dlg::OnBnClickedButtonTest()
{
	// TODO: Add your control notification handler code here
	//m_pszSelection.Format(_T("%02d/%02d/%2d"),ct.GetMonth(),ct.GetDay(),ct.GetYear());

	int i = 1;

	m_pszSelection.Format( _T("test %02d"), i );

	UpdateData(FALSE);  //надо было просто делать FALSE - и это решило проблему !
	//если TRUE - ничего не происходит
	
	
	
Работает !


Для проверки сделал, 


void Cwinsock_samp1Dlg::OnBnClickedButtonTest()
{
	// TODO: Add your control notification handler code here
	//m_pszSelection.Format(_T("%02d/%02d/%2d"),ct.GetMonth(),ct.GetDay(),ct.GetYear());

	//int i = 1;

	time_t osBinaryTime;
	time( &osBinaryTime ) ;

	CTime ct( osBinaryTime );
	//ct.
	m_pszSelection.Format( _T("%02d/%02d/%2d %02d:%02d:%02d"),ct.GetMonth(),
		ct.GetDay(),ct.GetYear(), ct.GetHour(),
		ct.GetMinute(), ct.GetSecond() );

	UpdateData(FALSE);
}


Т. е. чтобы по клику в текстовой метке на форме выводилась текущая дата и время.
	


	
Переходим к работе с Windows Sockets 2

	
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.WIN32COM.v10.en/winsock/winsock/initializing_winsock.htm



void Cwinsock_samp1Dlg::OnBnClickedButtonTest()
{
	// TODO: Add your control notification handler code here

	WSADATA wsaData;
	
	int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );

	int iRes2 = 0;

	if ( iResult != NO_ERROR )
	{
		//printf("Error at WSAStartup()\n");

		iRes2 = -1;
	}

	//m_pszSelection.Format(_T("%02d/%02d/%2d"),ct.GetMonth(),ct.GetDay(),ct.GetYear());

	//int i = 1;

	time_t osBinaryTime;
	time( &osBinaryTime ) ;

	CTime ct( osBinaryTime );
	//0x%x
	m_pszSelection.Format( _T("%02d/%02d/%2d %02d:%02d:%02d iResult = 0x%x"),
		ct.GetMonth(), ct.GetDay(),ct.GetYear(), ct.GetHour(),
		ct.GetMinute(), ct.GetSecond(), iRes2 );

	UpdateData(FALSE);
}



Ошибок нет, всё ок.

Идём дальше.


Эта сфера деятельности уже не приносит такой прибыли, которую приносило 5-10 лет назад.
Тогда был настоящий бум.

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

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

Брэйн-аск - модуль, загружаемый непосредственно в мозг и могущий выполнять какие-либо
полезные функции.

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

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


Но человеку нужно нечто большее. Всегда что-то особенное. Необычное. Музыка души.
Свободный полёт. Фантазия. Сон. Тонкая грань мечты и действительности.
Каждый видит мир по-своему. В одном мы все похожи - нам нужна мечта.

Без неё мир не изменится. Человек перестанет быть человеком. Где эта тонкая пленка реальности
и сна ?

										* * *

Антон спал безмятежно. Он летел куда-то, в пространстве, синеве небес. Было лето.
Солнце. Нежная прохлада и легкий ветерок.

И он погрузился в сон. Синева. Простор и облака. Во сне мы можем делать многое,
чего не можем наяву. Решать сложные проблемы. Находить ответы на трудные вопросы.
Так и он. Думал и мечтал. И все это протекало легко и безмятежно.

Никуда не надо было бежать. Ни от кого убегать. Просто иной мир. Параллельный
и всеобъемлющий. Может быть он более реален, чем вне сна.

И там царит вечное лето. 

Всё происходит очень быстро. Но там время течет в другом режиме. Здесь 5 минут,
там - возможно целая жизнь. 

Команда идёт. Она спешит к тебе на помощь. Тебе кажется, что изменить ничего
нельзя, но ты только помечтай. И тогда - всё придёт.

И Антон увидел нечто новое. Другой мир - такой, каким он будет. Всё будет сложнее,
и в то же время упростится на новом уровне.

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

Да - о таком еще можно только мечтать. ВОТ ОНО !
Начинаем.

Оказывается мечать тоже надо уметь. А как вы думали ? В любом деле важен опыт
и умение.

... Люди годами выстраивают свой бизнес, а ты хочешь за 5 минут заработать полмиллиона.
Что же такое ты должен сделать ?


ping ping ping

Раздалось вдруг.

Пришло время изучать ping.

Ping — утилита для проверки целостности и качества соединений в сетях на основе TCP/IP,
а также обиходное наименование самого запроса.

Первоначально словом «ping» (по созвучию) именовали направленный акустический
сигнал противолодочных гидролокаторов или «асдиков» (англ. ASDIC, аббревиатура от
Allied Submarine Detection Investigation Committee) времён Второй мировой войны.

Утилита отправляет запросы (ICMP Echo-Request) протокола ICMP указанному узлу сети
и фиксирует поступающие ответы (ICMP Echo-Reply). Время между отправкой запроса
и получением ответа (RTT, от англ. Round Trip Time) позволяет определять двусторонние
задержки (RTT) по маршруту и частоту потери пакетов, то есть косвенно определять
загруженность на каналах передачи данных и промежуточных устройствах.

В Microsoft SDKs\Windows\v7.0

есть пример исходного кода для написания этой утилиты -
c:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\netds\winsock\ping\Ping.cpp

Её код Мы и будем сегодня изучать.

Сначала важные вопросы:


где скачать Microsoft SDK Windows v7.0 ?

https://www.microsoft.com/en-us/download/details.aspx?id=3138

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

Объём скачиваемых данных составляет около 2.5 Gb


Исходный код будем открывать в MSVS 2005 и компиляцию выполнять там же.

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

И сразу же смените путь введя команду

cd и скопировав и вставив путь 
C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\netds\winsock\ping\Release

Тогда введя ping - и нажав Enter Вы получите распечатку доступных опций утилиты ping:

usage: ping [options] 
        host        Remote machine to ping
        options:
            -a 4|6       Address family (default: AF_UNSPEC)
            -i ttl       Time to live (default: 128)
            -l bytes     Amount of data to send (default: 32)
            -r           Record route (IPv4 only)
			
			
Если не вводить команду cd, а сразу ввести ping - то Вы запустите стандартную
утилиту ping из комплекта стандартных утилит Windows.

Так что будьте внимательны !


Если Вы запустите стандартную утилиту ping - то набор её параметров будет совсем иным -

cd c:\

c:\>ping

Использование: ping [-t] [-a] [-n <число>] [-l <размер>] [-f] [-i ]
         [-v ] [-r <число>] [-s <число>]
         [[-j <список_узлов>] | [-k <список_узлов>]] [-w <время_ожидания>]
         [-R] [-S <адрес_источника>] [-4] [-6] конечный_узел

Параметры:
    -t                    Задает проверку связи с указанным узлом до
                          прекращения.

...

и т. д.

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

Так что запускайте его именно через последовательность команд

cd и скопировав и вставив путь 
C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\netds\winsock\ping\Release

(вводится только один раз, далее вы уже остаетесь в данной папке и вводить команду
cd и путь повторно уже не нужно)

ping host megainformatic.ru

И получите в ответ что-то подобное -

Pinging 81.177.141.113 with 32 bytes of data

Reply from 81.177.141.113: bytes=32 time=62ms TTL=128
Reply from 81.177.141.113: bytes=32 time=47ms TTL=128
Reply from 81.177.141.113: bytes=32 time=47ms TTL=128
Reply from 81.177.141.113: bytes=32 time=47ms TTL=128


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

Здесь и далее мы остановимся на более практических вопросах:

- Какой именно код используется для работы с Windows Sockets 2;

и

- Как собственно работает ping - т. е. какой код требуется, чтобы
обеспечить её работу.


Естественно полный исходный код Мы здесь приводить не будем -
его Вы можете посмотреть сами скачав Microsoft Windows SDK 7

Здесь и далее мы будем останавливаться только на самых важных
моментах, на которые следует обратить внимание.

Все особенности применения можно почерпнуть из вышеупомянутых мануалов по
Microsoft Windows SDK 7, которые Вы найдёте там же -

например -
C:\Program Files\Microsoft SDKs\Windows\v7.0\Help\1033\WinSock.hxs


Чем его открыть ?

http://www.softpedia.com/get/System/OS-Enhancements/Help-Explorer-Viewer.shtml#download

и кликаем кнопку Softpedia Mirror (US)

Скачиваем и устанавливаем.


Программа оказалась довольно примитивной.
Она не поддерживает даже drag'n'drop.

Чтобы открыть вышеупомянутый 
C:\Program Files\Microsoft SDKs\Windows\v7.0\Help\1033\WinSock.hxs

Вам надо сначала открыть саму прогу -
C:\Program Files (x86)\HelpExplorer Software\Help Explorer 3\bin\helpexplorer.exe

Затем в ней выбрать пункт меню File > Open
и в окне диалога указать нужный файл.

Не совсем удобно. Но стандартно и привычно.

Главное мануал таки открылся.

Help Explorer 3.0 для открытия hxs файлов

Утилита как видим на скрине не первой свежести - датирована аж 2006 годом.

Но главное работает.

Так что двигаемся далее.


Итак,

Смотрим код в исходном файле -
c:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\netds\winsock\ping\Ping.cpp


Исполнение начинается с функции main. В этом легко убедиться запустив приложение
из MSVS в режиме отладки, т. е. Debug


int __cdecl main(int argc, char **argv)
{



Какова основная задача приложения ping ?


    // Load Winsock
    if ((rc = WSAStartup(MAKEWORD(2,2), &wsd)) != 0)
	{
		//...


Т. е. загрузить Win Sock

Если ошибок нет - двигаться дальше:

Выполнить ряд проверок

и создать Raw Socket -


    // Create the raw socket
    s = socket(gAddressFamily, SOCK_RAW, gProtocol);



Который будет использоваться для обмена информацией с запрашиваемым узлом
сети интернет.

Если адрес узла в виде IP или доменного имени (через предшествующий параметр host)

как например

ping host megainformatic.ru

Не был задан - то ничего не происходит.

Точнее утилита просто выдает в консоль ошибку 

Pinging :: with 32 bytes of data

WSAIoctl failed: 10022
sendto failed: 10049


В конце работы обязательно освобождаются все выделенные ресурсы
и в том числе вызывается


    WSACleanup();



И ничего не происходит.


Озадачимся вопросом: Как запустить ping в режиме отладки и при
этом передать параметр узла с которым мы хотим провести проверку ?


как передать параметр в консольное приложение в режиме отладки MSVS 2005


https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#
q=%D0%BA%D0%B0%D0%BA+%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%82%D1%8C+%D0
%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80+%D0%B2+%D0%BA%D0%BE%D0%BD%
D1%81%D0%BE%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5+%D0%BF%D1%80%D0%B8%D0%BB%D0%BE
%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5+%D0%B2+%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D0
%B5+%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B8+MSVS+2005



http://forum.sources.ru/index.php?showtopic=275506

В MSVS 2005 студии по своему проекту правой кнопкой мышки и выбрать
Properites->Debugging->Command Arguments


как передать параметр в консольное приложение в режиме отладки MSVS 2005


Теперь можно в режиме отладки отследить по коду как используется 
заданный параметр коммандной строки: host megainformatic.ru

и собственно понять что и где происходит и как работает.

Для примера покажу как отображаются значения переменных в режиме
отладки - показано значение переменной rc после выполнения строк
кода -


    // Load Winsock
    if ((rc = WSAStartup(MAKEWORD(2,2), &wsd)) != 0)
	{
		//...



как отображаются значения переменных в режиме
отладки - для примера показано значение переменной rc после выполнения строк
кода if ((rc = WSAStartup(MAKEWORD(2,2), &wsd)) != 0)


Оно как видим равно 0, значит всё ОК. Win Sock 2 был успешно загружен,
ошибок не возникло и выполнение движется дальше по коду.


Нажимая клавишу [F10] по-шагово выполняем код строчку за строчкой и 
смотрим что меняется внутри переменных.


Например видим вызов функции ResolveAddress


    // Resolve the destination address
    dest = ResolveAddress(


Функция ResolveAddress объявлена в модуле
c:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\netds\winsock\ping\resolve.cpp

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

Лучше понять как это происходит можно поставив контрольную точку внутри
функции ResolveAddress в модуле 
c:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\netds\winsock\ping\resolve.cpp

или в момент когда выполнение дойдёт до строки 

    // Resolve the destination address
    dest = ResolveAddress(


момент когда выполнение дойдёт до строки ResolveAddress

Воспользоваться клавишей [F11].

нажимаем клавишу [F11] чтобы попасть в реализацию функциюю ResolveAddress, описанную в модуле c:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\netds\winsock\ping\resolve.cpp


Если Вы уже ушли в исполнении дальше по коду (нажимая [F10]), то
знайте, что

вернуть исполнение на строку назад конечно нельзя.
Но вы можете просто дать приложению выполниться до конца нажав
стрелочку Continue на панели инструментов. А после того 
как приложение завершит работу, снова перезапустить его
в режиме отладки, используя эту же кнопку (после завершения работы приложения
она называется Start Debugging).


кнопка Start Debugging в среде MSVS 2005 для запуска приложения в режиме отладки


Двигаться внутри кода функции ResolveAddress можно также - нажимая [F10], а значения
переменных узнавая путём наведения на них указателя мыши.


Вы наверное уже заметили три вещи:

1) Повествование уже далеко ушло в сторону от романа Ethernity - Вечность.
2) На картинке выше, изображена контрольная точка останова - красный кружок.
3) Рассказ о Win Sock параллельно переплетается с особенностями
использования MSVS 2005 студии для отладки Ваших приложений и
изучения исходного кода примеров.

Отвечу по-порядку:

1) Повествование уже далеко ушло в сторону от романа Ethernity - Вечность.

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

Не просто вольное чтение, но и какая-то полезная информация.

2) На картинке выше, изображена контрольная точка останова - красный кружок.

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

Контрольные точки останова работают только на исполнимом коде.
Если вы установите точку остановки на строке комментария или объявлении
переменной, то остановки не произойдёт, потому что в данном месте
никакой код не выполняется.

Строки комментариев просто ингнорируются при компиляции, а
объявление переменных это особый механизм, который часто 
компилятор оптимизирует тем или иным способом, так что оно
тоже перестает быть исполнимым кодом в обычном понимании.


3) Рассказ о Win Sock параллельно переплетается с особенностями
использования MSVS 2005 студии для отладки Ваших приложений и
изучения исходного кода примеров.

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

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

От этого, как говорится, никуда не деться.

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


далее мы узнаем о,

Практическом использовании полученных сведений из кода утилиты ping

Можно узнать IP-адрес по доменному имени ?
Как ведется работа с Windows Sockets 2 ?

И конечно история Антона и Ани будет продолжена.


к странице 1 к странице 2 к странице 3 страница 4 к странице 5

подробнее

Шарики и Ямки / Balls and Holes PC игра



read this paper in english

Шарики и Ямки / Balls and Holes игра PC версия 03.07.2017 скачать







Версия: 03.07.2017

Шарики и Ямки: Каникулы Зеленого Шарика.

Сумасшедший Дэйв из игры Растения против Зомби в гостях у Кости Коробкина.

Костя Коробкин вынужден спасаться от ядовитых горошин.

В игре используется новая технология рассредоточения внимания.

Это значит, что Игрок получает задачи, которые нужно решать одновременно.

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

Системные требования:

Windows XP / 7 / 8 / 10
directx 9c
~740 Mb свободного места на носителе информации.

Размер самораспаковывающегося архива: 493 Mb

Контрольные суммы для проверки целостности скачанного архива:

CRC32: C9FE6254
MD5: 5D715D4C32DE1F78C299B20BA6F16995
SHA-1: 6A25CB6BA47B32870C553A722E0667BA82199565









Шарики, ямки, двигай, лови, исследуй и погружайся !

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



Релаксационная составляющая игры:

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

Вы думали, что просто будете ловить шарики и всё ? Нет !
Попробуйте-ка управлять шариком или сразу несколькими и
не попадать в ямку.

Получилось ? А теперь так: шарик можно будет двигать
лишь в одном направлении, а пол - в другом - по
прямой или диагонали.

Действо будет сопровождать атмосферная музыка и
герои - Петька и Василий Иванович, Ниро Вульф и Арчи
Гудвин, а также пираты из Острова Сокровищ.

Пустыня, джунгли, подводный мир, космос, карамельная
страна, город с улицей у дома Ниро Вульфа и остров
сокровищ ! Что может быть интереснее ?

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

В подводном мире шарики будут скрывать заросли
водорослей.

В космосе ямки замаскированы и нужно не попадать в них.

В карамельной стране есть блоки, к которым шарик
может прилипнуть.

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

Про необычный уровень я уже рассказывал - там
на Острове Сокровищ
нужно будет управлять и шариком и полом одновременно !

review #82 balls and holes level 7 Treasure Island lets play ! / обзор 7 уровня Остров Сокровищ. Lets play





Да кстати, если шарик летал очень быстро, то за его
успешную поимку можно получить не 1, а целых 2 или
даже 3 очка !

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

Наверняка Вас мучал когда-нибудь вопрос: А как сделать свою игру ? С чего
начать ?

Можно конечно взять какой-то готовый движок и начать учиться делать
игры сначала на нём.

Но и в этом случае рано или поздно Вам понадобится изучать программирование.

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

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

Однако выход есть - надеяться на себя и свои силы !
Не слушать "авторитетов" и "профессионалов".
Прислушиваться нужно, но слепо следовать их советам - НЕТ !

Почему ?

Да просто потому что у каждого из нас свой, уникальный путь.

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

Да ! Это отличный посыл. Так и надо держать.
Однако если Вы не будете ничего делать, ждать сложа
руки чего-то интересного в вашей жизни - то всё что Вы внушили
себе окажется простым самообманом.

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

Игра - это не только то, во что мы играем, но и то, что кто-то создает.

А мы посмотрим на это изнутри !

Итак, можно изучить основы языка c++ и directx,
почитать про спрайты, игровые объекты,
системы координат, загрузку игровой сцены, перемещение в ней персонажа, проверка столкновений,
создание игровых сцен, воспроизведение звуков и музыки и другие важные и нужные темы.

Список тем постоянно пополняется и расширяется.
Для себя Вы конечно же составите свой рабочий план -
список тем, которые ВАМ НУЖНО ОБЯЗАТЕЛЬНО ИЗУЧИТЬ,
ДЛЯ ТОГО ЧТОБЫ СДЕЛАТЬ СВОЮ ИГРУ.

А следующая наша тема будет про самые основы - использование переменных в игре на c++ directx 9c.
Экспериментировать мы будем на реальной игре - Шарики и Ямки, вводя туда что-то новое
и одновременно осваивая нужный материал.





Шарики и Ямки / Balls and Holes игра PC версия 03.07.2017 скачать







Версия: 03.07.2017

Шарики и Ямки: Каникулы Зеленого Шарика.

Сумасшедший Дэйв из игры Растения против Зомби в гостях у Кости Коробкина.

Костя Коробкин вынужден спасаться от ядовитых горошин.

В игре используется новая технология рассредоточения внимания.

Это значит, что Игрок получает задачи, которые нужно решать одновременно.

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

Системные требования:

Windows XP / 7 / 8 / 10
directx 9c
~740 Mb свободного места на носителе информации.

Размер самораспаковывающегося архива: 493 Mb

Контрольные суммы для проверки целостности скачанного архива:

CRC32: C9FE6254
MD5: 5D715D4C32DE1F78C299B20BA6F16995
SHA-1: 6A25CB6BA47B32870C553A722E0667BA82199565





подробнее

cj megainformatic - Я пишу музыку для души и для продажи

Зачем я пишу музыку ? Когда я это делаю я преследую 2 цели:

1) Выразить свои чувства, передать настроение или изменить его в лучшую сторону. Т. е. я пишу чтобы душевно успокоиться и обновиться.

2) Если кому-то случайно понравится мой трек и он решит его приобрести в личное пользование, то я буду рад, что мне удалось сочетать приятное с полезным - т. е. мой трек не только принес что-то из духовной сферы мне самому, но и принес пользу и кому-то другому, плюс я получил за это небольшое денежное вознаграждение.

Что лучше писать свою музыку или слушать чужую ?

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

Я веду речь про крупные сайты музыкальных стоков (audio stock) где можно найти музыку самого разного качества и направленности.

Когда музыки очень много, возникает вопрос: а зачем писать еще ? Ведь итак уже её целое море, океан, лавина.

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

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

Поэтому оба этих варианта - создание и прослушивание - это два взаимодополняющих друг друга элемента.

И если Вы хотите чего-то достичь, то как минимум нужно пытаться, а опускать руки - не стоит.

Самое интересное тут вот что - всё о чём мы говорим на самом деле уже может не быть таким актуальным, а вот когда приходит момент когда мы делаем очередной шаг, а не просто думаем или говорим про это, вот тогда уже наступает настоящий МОМЕНТ ИСТИНЫ - например, с течением времени может оказаться, что мелкие сайты, где мало музыки, но она приемлемого качества и является авторской, станут более актуальными нежели сайты крупных аудио стоков.

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

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

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

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

Кстати напоследок ссылка на мои свежие треки - Лето-осень 2014 cj megainformatic - native reactions - Естественные реакции

Спасибо вам, читающим данную статью и слушающим музыку.

megainformatic cms rs

megainformatic cms rs

Стоимость: 14000 руб.

Данная система управления сайтом megainformatic cms rs имеет все необходимые компоненты для создания вашего собственного сервиса строительной организации или сайта совершенно иной направленности - медицинские услуги, справочное бюро, онлайн библиотека или что угодно еще - все зависит от ваших потребностей и задач.

система модульна и расширяема, а также постоянно развивается автором. Сайт который Вы сейчас смотрите является ядром данной системы.

megainformatic cms rs это комплексное и технологичное решение, для вашего сайта !

Демонстрационные сайты системы -

http://varve.ru/webprojects/rs/ (готовый сайт под ключ)

Вы можете войти в демонстрационный личный кабинет суперадмина на сайте http://varve.ru/webprojects/rs/captain/ используя следующие данные доступа -

admin
123456

Характерные особенности:

- управление галереями отзывов и работ;
- настройки блоков сайта из админ-панели;
- система сменных шаблонов;
- возможность создания системы личных кабинетов;
- страницы, отзывы, галереи, категории, продукты, мета-теги;
- карта сайта, модуль сбора расширенной статистики посещаемости;
- другие необходимые модули - админ-панель, оформление заказа, возможность подключения нужных платежных систем, профиль, настройки, управление контентом, посещаемость, улучшенный поиск по сайту, карта сайта map.php и sitemap.xml, мета-теги, редактор статей и личных страниц и другие;


Что собой представляет система megainformatic cms rs ?

Полностью готовый к использованию сайт с открытым исходным кодом на php.

Система писалась и разрабатывалась только одним разработчиком (мной).

Скрипты доступны для расширения функционала, для сайта можно создать любой другой шаблон.

Код и система модулей просты и ясны для понимания.

Таким образом megainformatic cms rs представляет собой готовое решение "под ключ" для организации сервиса сайта строительной компании, которая занимается ремонтом, строительством, монтажом различных встраиваемых систем под ключ.

Ключевые особенности системы:

- решение целевых задач;
- компактность (дистрибутив не превышает 4 Mb);
- быстрота развертывания на вашем сайте - в течение 15 минут сайт будет готов к работе;
- открытый исходный код, позволяющий свободно модифицировать некоторые особенности системы под свои нужды;
- модульность, расширяемость - позволяет расширить и дополнить функционал необходимыми дополнениями;


И самая главная особенность этой системы - минимально возможная цена. Аналогичные решения, представленные на рынке стоят на порядок выше.
Это сделано не в ущерб качеству, т. к. megainformatic cms rs писалась с нуля, используя опыт работы со многими другими cms и включает исключительно необходимый для работы функционал и ничего лишнего.
При разработке системы учитывался личный опыт автора по работе и функционированию сайтов на самых различных cms -

joomla, drupal, wordpress, shop script le, opencart, prestashop, modx, bitrix, pg dating pro, dle, host cms, и целого ряда менее известных систем.

В основу положена работа над собственным проектом megainformatic.ru - т. е. весь накопленный потенциал и опыт реализованы в megainformatic cms rs.

megainformatic live chat
Начать беседу
X
 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
megainformatic Размещение баннерной рекламы у нас
Время загрузки: 0,0709