Взрослая социальная сеть
Текстовая версия форума
Знакомства для секса Регистрация


моя многопользовательская игра на с#

Текстовая версия форума: Архив компьютерного форума



Полная версия топика:
моя многопользовательская игра на с# -> Архив компьютерного форума


Страницы: [1]

Arhaim
Заказчик заказал одну игру. Клиентскую часть пишу на С#, серверную еще не решил (либо С либо перл, сервер под красной шапкой). Вообщем тут буду выкладывать некоторые отрывки кода, кого заинтересует. Будет много полезных алгоритмов, и обзора возможностей. Сам не писал давно под винду и С шарп не юзал уже года 3. Встречаю много новшеств. Вообщем в теме буду выкладывать некоторые куски программы + предлагаю обсудить аспекты построения МП игры, + возможности с#. Еще я буду писать возникшие вопросы, по нахождению их решения писать ответы. От Вас так же буду ждать помощи в решении моих вопросов.

Ну что же начнем с вопросов:
Есть Visual Studio 2005. На ней написана прога на с#.
У клиента фреймворка нет. Можно ли собрать проэкт так что бы он работал у клиента, а клиент фреймворк не устанавливал? Я слышал что да. Нужно где-то галочку во время компиляции поставить, и он вместе с проэктом в один файлик нужные фичи фреймворка пихает.
Вопрос: Правда ли это? и если да, то где установки менять?
Говорят что надо создавать отдельный проект для инсталяхи. итак что думаете по этому поводу ВЫ?
petya5
Про галочку в проекте ничего не знаю. Эта фичу наверняка тебе с с++ подсказали. Там подобным образом можно было слинковать библиотеки MFC или ATL. В результате прога вырастала на пару метров, зато ничего не нужно было с ней тащить.

В НЕТе, насоклько я знаю, подобной возможности нет. ТАк что единственный вариант - делать инсталляху. Либо средствами студии, либо шароварным инсталлером каким-нибудь. Студийным предпочтительнее, т.к. наверняка с его помощью легко можно будет "подцепить" Net. Хотя и сторонние инсталлеры поновее наверняка это могут.
Arhaim
QUOTE (petya5 @ 29.03.2007 - время: 16:09)
Про галочку в проекте ничего не знаю. Эта фичу наверняка тебе с с++ подсказали. Там подобным образом можно было слинковать библиотеки MFC или ATL. В результате прога вырастала на пару метров, зато ничего не нужно было с ней тащить.

В НЕТе, насоклько я знаю, подобной возможности нет. ТАк что единственный вариант - делать инсталляху. Либо средствами студии, либо шароварным инсталлером каким-нибудь. Студийным предпочтительнее, т.к. наверняка с его помощью легко можно будет "подцепить" Net. Хотя и сторонние инсталлеры поновее наверняка это могут.

Спасибо. Мне уже так несколько человек сказали, так что наверное ты прав.



Это сообщение отредактировал Arhaim - 02-04-2007 - 23:21
Arhaim
В моей игре должно быть взаимодействие с базой данных. так как на сервере стоит мускул, то работаю с ним.

Отображается список тикущих игр, к которым можно присоеденится

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

using System.Data.Odbc;

...
string HOST = "localhost";

string connectionString = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=" + HOST + ";DATABASE=pokerdb;UID=admin;PASSWORD=admin117;OPTION=3";
// string connectionString = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=gamesclub-js.com;DATABASE=dbms1;UID=412495m;PASSWORD=superpas117;OPTION=3";

try
{
connection = new OdbcConnection(connectionString);
connection.Open();

command= new OdbcCommand("select * from holdem_nl_rm", connection);
da=new OdbcDataAdapter(command);
da.SelectCommand = command;
table1 = new DataTable();
table1.Locale = System.Globalization.CultureInfo.InvariantCulture;
da.Fill(table1);
dataGridView1.DataSource = table1;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
};

Это сообщение отредактировал Arhaim - 02-04-2007 - 23:24
c0d3r
непонятно почему С#? по-моему это не самая лучшая идея для написания игры... без фреймворка никак. это ВМ!
Arhaim
QUOTE (c0d3r @ 19.04.2007 - время: 15:40)
непонятно почему С#? по-моему это не самая лучшая идея для написания игры... без фреймворка никак. это ВМ!

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

Как создавать инсталяху привожу ниже
пользовался inno setup compiler ибо просто и доступно.

Часть скрипта генерится автоматом. В конце приведен пример проверки в реестре на установленость 2 -ого фреймворка, если нет то скачать.
Вообщем думаю пригодится многим начинающим.



; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
AppName=JS Poker
AppVerName=JS Poker 0.0.1
DefaultDirName={pf}\JS Poker
DefaultGroupName=JS Poker
OutputDir=C:\Documents and Settings\dima\Ðàáî÷èé ñòîë\smpoker
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Components]

Name: "MDAC"; Description: "Microsoft Data Access Components v2.7"; Types: full compact

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Documents and Settings\dima\Ðàáî÷èé ñòîë\smpoker\instal\Setup2.exe"; DestDir: "{app}"; Components: MDAC; Flags: ignoreversion
Source: "C:\Documents and Settings\dima\Ìîè äîêóìåíòû\Visual Studio 2005\Projects\llluk\smpoker_v.0.0.1\bin\Release\smpoker_v.0.0.1.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Documents and Settings\dima\Ìîè äîêóìåíòû\Visual Studio 2005\Projects\llluk\smpoker_v.0.0.1\bin\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Documents and Settings\dima\Ìîè äîêóìåíòû\Visual Studio 2005\Projects\llluk\work_cat\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\JS Poker"; Filename: "{app}\smpoker_v.0.0.1.exe"
Name: "{commondesktop}\JS Poker"; Filename: "{app}\smpoker_v.0.0.1.exe"; Tasks: desktopicon

[Run]

Filename: "{app}\Setup2.exe "; StatusMsg: ""; Flags: hidewizard
Filename: "{app}\smpoker_v.0.0.1.exe"; Description: "{cm:LaunchProgram,JS Poker}"; Flags: nowait postinstall skipifsilent
[Code]
function InitializeSetup(): Boolean;
var
ErrorCode: Integer;
NetFrameWorkInstalled: Boolean;
Result1: Boolean;
Result2: Boolean;
begin
NetFrameWorkInstalled := RegKeyExists(HKLM, 'SOFTWARE\Microsoft\.NETFramework\policy\v2.0');
if NetFrameWorkInstalled = true then
begin
Result := true;
end;

if NetFrameWorkInstalled = false then
begin
Result1 := MsgBox('Íà Âàøåì êîìïüþòåðå íå óñòàíîâëåí Microsoft .NET Framework 2.0,' #13 'äëÿ ïðîäîëæåíèÿ óñòàíîâêè íåîáõîäèìà åãî óñòàíîâèòü.' #13#13 'Óñòàíîâèòü Microsoft .NET Framework 2.0?',
mbConfirmation, MB_YESNO) = idYes;
if Result1 = false then
begin
Result := false;
end
else
begin
Result := false;
// my code 2
if not ShellExec('open', ExpandConstant('{src}\dotnetfx.exe'),
'', '', SW_SHOW, ewNoWait, ErrorCode) then
begin
// handle failure if necessary
ShellExec('open',
'http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe',
'','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
Result2 := false;
end
else
begin
//Keep going on the install.
//ShellExec('open', ExpandConstant('{src}\dotnetfx.exe'), '', '', SW_SHOW, ewNoWait, ErrorCode);
Result2:=true;
end;


end;
end;
end;
barrakuda
Почитал темку и наконец-то прикрутил mysql к шарпу через ODBC-драйвер! yahoo.gif
Спасибо любимому форуму smile.gif
А никто не пользовался SharpDevelop? Я никак не смог приладить .NET connector mysql как ни пытался :(
Ссылку на MySql.Data вроде как добавляет, а не компилирует ...
Arhaim
Шарп девелопер...
Ну я его уважаю ибо он бесплатный.
Но для коммерческих разработок к сожалению мало пригоден :(
Много чего нету. Да и без МСДНа тяжело работать...
barrakuda
Согласен, но есть ведь документация от .net sdk, а msdn он через инет в свободном доступе всегда. smile.gif
lankin
Кстати на сайте я находил некоторые вещи, не присутствующие в МСДН-ке, что шла с диском.

Страницы: [1]

Архив компьютерного форума -> моя многопользовательская игра на с#





Проститутки Киева | индивидуалки Москвы | Эротический массаж в Москве | Проститутки-индивидуалки Москва