18.02.2018, 23:18
|
#7
|
AnyKey`щик
Регистрация: 18.02.2018
Сообщений: 5
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Как сделать такую игру
Появилась другая проблема
Когда я запускаю игра начинает потреблять много оперативной памяти
вот код.
Type block Field x,y Field img Field id Field isclick End Type Type savetmp Field idget,idnum,file,id End Type If FileType("data\temp\cubetmp.dat") = 1 Then DeleteFile("data\temp\cubetmp.dat") ; Удаляем Temp-файл если он есть HidePointer Graphics 800,600,32,2 SetBuffer BackBuffer() Global rcube Global generate DrawCubes() While Not (KeyHit(1)) Rect MouseX(),MouseY(),16,16 ; Рисуем курсор UpdateCubes() Flip Cls ; Очищяем экран Wend DeleteFile("data\temp\cubetmp.dat") ; Удаляем Temp-файл End Function DrawCubes() ; Рисуем игровое поле generate = 0 tmp.savetmp = New savetmp tmp\idnum = 0 tmp\idget = 0 tmp\file = WriteFile("data\temp\cubetmp.dat") ; Создаём Temp-файл For i = 1 To 9 SeedRnd MilliSecs() For a = 1 To 9 rcube = Rand(1,3) If rcube = 1 Then b.block = New block b\img = LoadImage("data\gfx\cube_1.jpg") tmp\idnum = tmp\idnum+1 tmp\idget = rcube WriteInt(tmp\file,tmp\idget) EndIf If rcube = 2 Then b.block = New block b\img = LoadImage("data\gfx\cube_2.jpg") tmp\idnum = tmp\idnum+1 tmp\idget = rcube WriteInt(tmp\file,tmp\idget) EndIf If rcube = 3 Then b.block = New block b\img = LoadImage("data\gfx\cube_3.jpg") tmp\idnum = tmp\idnum+1 tmp\idget = rcube WriteInt(tmp\file,tmp\idget) EndIf DrawBlock b\img,a*60,i*60 Next Next generate = 1 If generate = 1 Then DebugLog "Cubes Generated" CloseFile tmp\file EndIf End Function ; Делаем игровое поле Function UpdateCubes() ; Обновляем игровое поле ltmp = ReadFile ("data\temp\cubetmp.dat") ; Читаем Temp-файл For i = 1 To 9 For a = 1 To 9 tmp.savetmp = New savetmp tmp\id = ReadInt(ltmp) ; Читаем переменую rcube из Temp-файла If tmp\id = 1 Then b.block = New block b\img = LoadImage("data\gfx\cube_1.jpg") EndIf If tmp\id = 2 Then b.block = New block b\img = LoadImage("data\gfx\cube_2.jpg") EndIf If tmp\id = 3 Then b.block = New block b\img = LoadImage("data\gfx\cube_3.jpg") EndIf DrawBlock b\img,a*60,i*60 Next Next CloseFile ltmp ; Закрываем Temp-файл End Function
|
(Offline)
|
|