Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для zxmaster
0 / 0 / 1
Регистрация: 10.08.2015
Сообщений: 54

База с результатами игры

06.10.2015, 23:00. Показов 989. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток.

Наступил полный ступор.

Есть игра. В ней 3 акта. В каждом акте бесконечное количество уровней сложности (как далеко игрок пройдет, зависит от него) (кто играл в diablo 3 там аналог великие порталы).

В данный момент я открыл 24 уровень сложности в первом акте. Нужно записать данные "акт" "уровень" "очки/баллы".

Подскажите концепт:

уровень закончился победой

-загрузить базу если есть
-найти есть ли запись с актом и уровнем
--(true) проверить score больше ли уже существующего
---(true) перезаписать новый результат
---(false) return;
--(false) добавить новый результат

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using UnityEngine;
using System.Collections;
using System;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
 
[Serializable]
public class LevelResults {
 
    public int act;
    public int level;
    public int score;
    
}
Я так понимаю мне нужно создать List из класса LevelResults и серилизавать его? Как лучше реализовать поиск внутри массива LevelResults? Сначала делать выборку по акту а потом искать внутри по переменной level?

Есть ощущение, что я фундаментально что-то не то задумал.

P.S. движок игры почти готов. остальные данные такие как количество монет, максимальный уровень сложности открытое оружие уже записываются и читаются. Имеем дело с бинарным файлом.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.10.2015, 23:00
Ответы с готовыми решениями:

TicTacToe, не выводится окно с результатами игры
Добрый день, уважаемые форумчане. Делал по образцу игру крестики-нолики на python через Kivy, все отлично, открывается окно, игра...

Как перенести игры результатами с ipad на iphone
Собственно по сабжу, а то результаты в игрухах на разных устройствах разные. Возможно ли это как то синхронизировать?

База данных для игры
Имеется игра, необходимо создать для нее базу данных .mdb, для сохранения прогресса пользователя. Ну вот подключил таблицу, а дальше? Не...

9
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
06.10.2015, 23:06
Цитата Сообщение от zxmaster Посмотреть сообщение
Нужно записать данные "акт" "уровень" "очки/баллы".
Всего-то? Так мало?
Цитата Сообщение от zxmaster Посмотреть сообщение
Есть ощущение, что я фундаментально что-то не то задумал.
Ну, хранить данные в файле точно не очень, на мой взгляд. Об использовании БД не задумывались?
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
06.10.2015, 23:14
А не проще ли все это делать сразу в XML файле? Зачем что-то сериализовывать? С XML файлом проблемы с поиском и добавлением нужной инфы отпадают сами собой так как есть стандартные методы для всего этого, почитайте про класс XDocument.

Добавлено через 2 минуты
Цитата Сообщение от insite2012 Посмотреть сообщение
Ну, хранить данные в файле точно не очень, на мой взгляд.
По-моему для такой задачи БД-из пушки по воробьям
0
 Аватар для zxmaster
0 / 0 / 1
Регистрация: 10.08.2015
Сообщений: 54
06.10.2015, 23:16  [ТС]
insite2012, задумывался. Уже почитал несколько уроков по XML базам. + еще есть SQlite (не изучал) думал начать делать. НО решил, что проще будет записывать уже куда всё записывается в бинарник. Игра casual не rpg. Поэтому +- еще одно два поля появятся.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
06.10.2015, 23:20
Цитата Сообщение от EvilFromHell Посмотреть сообщение
для такой задачи БД-из пушки по воробьям
Так я не имел ввиду серверную. Так, типа Access или SQLite. Опять же, шаловливые ручки пользователей надо учитывать, а ну как кому-то придет в голову идея перелопатить файл?
0
 Аватар для zxmaster
0 / 0 / 1
Регистрация: 10.08.2015
Сообщений: 54
06.10.2015, 23:34  [ТС]
Цитата Сообщение от EvilFromHell Посмотреть сообщение
А не проще ли все это делать сразу в XML файле?
Вот я и в раздумьях. Просто уже реализовал Save/Load функционал. Осталось лишь прикрутить к нему массив из классов LevelResults. Соблазн сократить время и нервы.

Цитата Сообщение от insite2012 Посмотреть сообщение
Опять же, шаловливые ручки пользователей надо учитывать, а ну как кому-то придет в голову идея перелопатить файл?
Так как в C# и программировании я еще новичок возможно, что игра дырявая на изменение данных и подтасовку результатов.

Добавлено через 6 минут
Еще не смотрел, но похоже то что надо.



В комментариях написано, что не работает для мобильных платформ. Хмм.
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
06.10.2015, 23:56
Цитата Сообщение от insite2012 Посмотреть сообщение
Опять же, шаловливые ручки пользователей надо учитывать, а ну как кому-то придет в голову идея перелопатить файл?
Ну перелопатить можно и саму игру при таком желании, шарп-то декомпилируется элементарно Как вариант-файлик зашифровать, но не думаю, что в этом есть большой смысл.
0
 Аватар для zxmaster
0 / 0 / 1
Регистрация: 10.08.2015
Сообщений: 54
07.10.2015, 17:11  [ТС]
EvilFromHell, insite2012, таки реализовал сереализацию в бинарник массива классов со свойствами.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
07.10.2015, 17:37
Цитата Сообщение от zxmaster Посмотреть сообщение
таки реализовал сереализацию в бинарник массива классов со свойствами.
Хозяин - барин)))
Я тоже одну из своих первых программ так делал, организовал нечто вроде БД (изобрел велосипед, так сказать).
Сериализовал лист с набором своих собственных объектов. Но в дальнейшем перешел на БД, все-таки они удобнее.
0
 Аватар для zxmaster
0 / 0 / 1
Регистрация: 10.08.2015
Сообщений: 54
07.10.2015, 18:59  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
Но в дальнейшем перешел на БД, все-таки они удобнее.
Еще по старому опыту "разработки" (если можно так выразиться) под php+mysql (11 лет назад) могу сказать что базы это всё. Нет ничего лучше базы данных.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.10.2015, 18:59
Помогаю со студенческими работами здесь

База данных для игры
всем привет! я в делфи новичок! хочу написать прогу для некой игры! в идее в ней будет *БД персов с игры *БД аккаунта *база...

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

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

У кого завалялась база с игры миллионер (О счастливчик)
Хочу написать свою игру миллионер, но никак не могу найти базу вопросов.

Новая системная база на B450. BSOD через 3-4 минуты после выхода из игры
Всем привет!Такая неприятная ситуация: на новой системе- синий экран!Почти всегда после игр+ и когда захожу в гугл хром!.А в браузере...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru