Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 15.11.2012, 20:38   #1
DeaDCore
Оператор ЭВМ
 
Аватар для DeaDCore
 
Регистрация: 06.02.2012
Адрес: Equestria
Сообщений: 43
Написано 7 полезных сообщений
(для 10 пользователей)
Сохранение игры

Делаю сохранение игры на флешку но сохранение/загрузка работает только один раз. сохранился, загрузился и всё, при повторной попытке этих действий игра зависает. не могу найти причину.
вот код:
function readint:integer;
 begin
  readint:=(read_uns_byte<<24) and (read_uns_byte<<16) and (read_uns_byte<<8) and (read_uns_byte)
 end;

procedure writeint(intt:integer);
 begin
  write_byte((intt>>24) and $FF);
  write_byte((intt>>16) and $FF);
  write_byte((intt>>8) and $FF);
  write_byte((intt) and $FF);
 end;

procedure savegame;
 var
  ix,iy:integer;
 begin
  file_create('/e:/world.sav');
   if open_file('/e:/world.sav')=1 then
    begin
     writeint(seed);
     for ix:=0 to 255 do
     for iy:=0 to 127 do
      begin
       write_byte(map[ix,iy]);
       write_byte(i_map[ix,iy]);
      end;
     if close_file('/e:/world.sav')=1 then debug('OK');
    end;
 end;

procedure loadgame;
 var
  ix,iy:integer;
 begin
  if file_exists('/e:/world.sav')=1 then
   if open_file('/e:/world.sav')=1 then
    begin
     seed:=readint;
     for ix:=0 to 255 do
     for iy:=0 to 127 do
      begin
       map[ix,iy]:=read_byte;
       i_map[ix,iy]:=read_byte;
      end;
     if close_file('/e:/world.sav')=1 then debug('OK');
    end;
 end;
Что я сделал не так?
(Offline)
 
Ответить с цитированием
Старый 16.11.2012, 22:26   #2
barsunduk
ПроЭктировщик
 
Аватар для barsunduk
 
Регистрация: 09.05.2010
Адрес: рф ро шахты
Сообщений: 177
Написано 66 полезных сообщений
(для 271 пользователей)
Ответ: Сохранение игры

попробуй это
 file_create('/e:/world.sav');
заменить на
if file_exists('/e:/world.sav')<>1 then
  file_create('/e:/world.sav');
__________________
to be or not to be - it's not a question!
2b or not 2b = ff
(Offline)
 
Ответить с цитированием
Старый 17.11.2012, 18:26   #3
DeaDCore
Оператор ЭВМ
 
Аватар для DeaDCore
 
Регистрация: 06.02.2012
Адрес: Equestria
Сообщений: 43
Написано 7 полезных сообщений
(для 10 пользователей)
Ответ: Сохранение игры

Не помогло. Что может быть ещё? Зависает при попытке записать/прочитать байт.
(Offline)
 
Ответить с цитированием
Старый 17.11.2012, 19:12   #4
nil0q
ПроЭктировщик
 
Аватар для nil0q
 
Регистрация: 30.06.2009
Адрес: Челябинская обл.
Сообщений: 111
Написано 32 полезных сообщений
(для 99 пользователей)
Ответ: Сохранение игры

Та же беда с либой jsr75i вообще. При втором открытии файла и вызове open_file() виснет. Это к товарищу Винту.
__________________
Аинéжарбази овокáсьф имятнэ́меле как, имякщтóт и имяини́ль оклёт ими́ньдо сяюзлёп, ильсы́м эынэвьтспóс ышáн мóнян тягалзи, эы́жущт тят-ищт сант-ищтý анакаккáт; áкызэй овóваримь авотэ́ як итя́ммарг тыжýлс аирьтэмяег аянлетя́трэщтанот, мадóраи мынавóзарбо мэ́сьф мынтáняп авокáныдя, икиньхэ́ть мóкызэй астэя́львэй шóтрэщт ильсэ́й.
Щамóпф раткáдэрь оидюá!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 16:40.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com