2010-08-08 2 views
1

Я создаю игру с использованием C#, и мне бы хотелось, чтобы онлайновая доска рекордов. Я предпочитаю, чтобы рекордер хранился в базе данных MySQL, но будут работать и другие способы.Онлайн-рекордер для моей игры

Просьба указать мне в правильном направлении.

Редактировать, больше информации:

Я использую MySQL на локальном хосте, DbName: diggangames. Игра, которую я создаю на C#, является базовым консольным приложением, и оценка вычисляется в конце, это оценка + строка + временная метка, которую я хочу вставить в базу данных. После вставки я хочу, чтобы просмотреть таблицу с вхождением в

+3

Каких конкретной технических проблем вы сталкиваетесь? –

+0

@Rex M: Я не знаю, как закодировать его, мне нужны подсказки о том, как выполнить таблицу рекордов. –

+0

Обеспечить больше контекста, и сообщество будет лучше в состоянии помочь. Например, у вас есть дБ на данный момент? По крайней мере, дайте нам некоторые подробные функциональные требования. – Tahbaza

ответ

4

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

На сервере это зависит от того, какой язык/платформа вы используете. Для web/MySQL я бы порекомендовал PHP, так как он был построен с поддержкой. И, откровенно говоря, с самого начала это проще, чем ASP.net.

Как только у вас есть что-то для обработки этого доступа, в вашем приложении C# вы можете использовать WebRequest для публикации информации и просмотра ответа. Что-то вроде этого:

WebRequest req = WebRequest.Create("http://my.site.com/reportscore"); 
req.Method = "POST"; 
req.ContentType = "application/x-www-form-urlencoded"; // or something like that 

Stream reqStream = req.GetRequestStream(); 
byte[] encoded = Encoding.UTF8.GetBytes("score=12345&name=Somebody"); 
reqStream.Write(encoded, 0, encoded.Length); 
reqStream.Close(); 

WebResponse resp = req.GetResponse(); 

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

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

+0

Я уже знаком с PHP, так что это очень хорошо, не могли бы вы привести мне какие-либо примеры, как использовать Post и PHP с помощью C# Console Application? –

+0

Вы должны иметь возможность добавлять необходимые ссылки, а затем использовать WebRequest для публикации информации. Клиенту все равно, работает ли на сервере PHP, ASP.net или что-то еще, до тех пор, пока он говорит HTTP. – cHao

+0

Этот код, который вы опубликовали, дает мне это как сообщение об ошибке: «Ошибка Нет перегрузки для метода« Write »принимает« 1 »аргументы« Это строка, в которой находится ошибка: «reqStream.Write (Encoding.UTF8.GetBytes ("оценка = 12345 & имя = Кто"));» –

1

Начало здесь: http://www.15seconds.com/issue/050210.htm

Это учебник для использования ASP.NET для подключения и чтения из/обновления MySql.

Подключение к и используя MySql из консольного приложения в значительной степени так же, как с ASP.Net, так что это будет полезно ...

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

1

вот пара ссылок не напрямую в Asp.net, но вы можете быстро начать работу.

http://code.google.com/p/scoreninja/

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

есть также один подобный для android.

http://www.andoop.com/ahighscore

Смежные вопросы