forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты на BlitzMax (http://forum.boolean.name/forumdisplay.php?f=106)
-   -   Vivo (http://forum.boolean.name/showthread.php?t=16218)

Nikich 04.02.2012 19:08

Ответ: Vivo
 
О да, новый апдейт. Смена оконного и полноэкранного режимов("cnfg.txt" последнее значение( 1-полный экран,2- оконный режим)). Шерсть. Новый генератор мира( не знаю как будет на других разрешениях, но на 1280х1024 очень хорошие горы выходят). Оптимизация инвентаря. Ну и фиксы багов, конечно.

reumep 04.02.2012 21:05

Ответ: Vivo
 
Килограмм 30, если в рюкзаке

Program23 04.02.2012 23:45

Ответ: Vivo
 
Вложений: 1
Вложение 16114
попытка создать крабика на нетбуке

Nikich 05.02.2012 00:23

Ответ: Vivo
 
По-моему забавный:) Значит он и будет первым мобом в игре.
25кг пока сойдёт, может потом, если дисбаланс будет, больше поставлю. А, и что добавлять в следующем апдейте? Либо вникать в создание AI и добавить крабика, либо сделать кровать и сон, либо добавить лужи с водой? Расположены варианты по сложности, от самого сложного к лёгкому.

Nikich 05.02.2012 00:49

Ответ: Vivo
 

И ещё. Что посоветуете моему другу? Вот что он пишет:
Код:

Graphics 1366,768,32,1
global x=1
global y=1
setbuffer backbuffer()
global player=loadimage("player.bmp")
midhandle player
maskimage player,0,0,0
drawimage player,x,y

function updateplayer()

if keydown (200)
y=y-5
drawimage player,x,y
endif
...
End function
while 1=1
updateplayer()
flip
cls
wend

И он серьёзно не понимает, почему игрок рисуется только при нажатии клавиши. Это можно свалить на неопытность или он безнадёжен?

shybovycha 05.02.2012 00:54

Ответ: Vivo
 
Цитата:

Сообщение от Nikich (Сообщение 218623)

И ещё. Что посоветуете моему другу? Вот что он пишет:
Код:

Graphics 1366,768,32,1
global x=1
global y=1
setbuffer backbuffer()
global player=loadimage("player.bmp")
midhandle player
maskimage player,0,0,0
drawimage player,x,y

function updateplayer()

if keydown (200)
y=y-5
drawimage player,x,y
endif
...
End function
while 1=1
updateplayer()
flip
cls
wend

И он серьёзно не понимает, почему игрок рисуется только при нажатии клавиши. Это можно свалить на неопытность или он безнадёжен?

Сваливайте на неопытность - понимание логики работы программы приходит не сразу ;)

Nikich 05.02.2012 00:59

Ответ: Vivo
 
Надеюсь:) А это вообще нормально начинать изучение программирования с создания игры?

Nikich 05.02.2012 01:14

Ответ: Vivo
 
Чистый блиц дружит с .png? Что-то у меня не очень. Крабик рисуется кривым каким-от, а вот в .bmp всё нормально:)
P.S. краб очень хороший! Скорее всего, он будет логотипом игры:)
P.P.S. краб выглядит через чур хорошо, так что следующий апдейт точно рассчитан на него.

reumep 05.02.2012 13:33

Ответ: Vivo
 
Я бы тебе посоветовал сначала кровать и еду добавить
И да, не забудь еще криперов сделать(люблю кубач)

Nikich 05.02.2012 14:24

Ответ: Vivo
 
А не будет ли это плагиатом? Может лучше крабики взрываться будут?:)
И тут вопрос возник: чем TileImage от DrawImage отличается? У меня земля DrawImage рисуется, хотя сейчас узнал что TileImage служит функцией для создания заднего фона. Есть ли существенная разница?
P.S. еда уже есть(яблоки).

Nikich 05.02.2012 17:22

Ответ: Vivo
 
И так, первая версия с крабиком. Она только для теста, ничего не добавлено(кроме краба, конечно). Пока он ходит в случайные стороны. Задача для теста - может ли краб пройти через камни, деревья, каменный стены или нет?

shybovycha 05.02.2012 17:44

Ответ: Vivo
 
Цитата:

Сообщение от Nikich (Сообщение 218674)
И так, первая версия с крабиком. Она только для теста, ничего не добавлено(кроме краба, конечно). Пока он ходит в случайные стороны. Задача для теста - может ли краб пройти через камни, деревья, каменный стены или нет?

А почему бы не реализовать волновой алгоритм, обозначив соответствующие препятствия непроходимыми зонами и попросту кормить крабам случайные координаты клеток каждый раз, по достижении цели?

За подробностями см. задачу олимпиады по программированию 'дцатого года "лабиринт".

Nikich 05.02.2012 17:48

Ответ: Vivo
 
Вот как я сделал мозг крабику, вроде не жалуется:
Код:

Function UpdateCrab()
For cr.crab=Each crab
 If MilliSecs()-tcr>200 Then
 tcr=MilliSecs()
 chn=Rnd(50)
 If chn=1 Then
 crdeltax#=1
 crdeltay#=0
 cr\image=crab90
 EndIf
 If chn=2 Then
 crdeltax#=-1
 crdeltay#=0
 cr\image=crab270
 EndIf
 If chn=3 Then
 crdeltax#=0
 crdeltay#=1
 cr\image=crab180
 EndIf
 If chn=4 Then
 crdeltax#=0
 crdeltay#=-1
 cr\image=crab
 EndIf
 If chn>4 Then
 crdeltax#=0
 crdeltay#=0
 EndIf
 EndIf
 crpx=cr\x+crdeltax*crspeed
 crpy=cr\y+crdeltay*crspeed
 If Not CollideStonesCrab(crpx,crpy) Then
 cr\x=crpx
 cr\y=crpy
 EndIf
 
 If ImagesCollide(gert,x,y,frames,crab,cr\x,cr\y,0) Then
 php=php-10
 EndIf
 
 DrawImage cr\image,cr\x,cr\y
Next
End Function

Function CollideStonesCrab(crpx,crpy)
        For w1.swall=Each swall
                If ImagesCollide(crab,crpx,crpy,0,w1\image,w1\x,w1\y, 0)
                        Return True
                EndIf
        Next
        For m.Main=Each Main
                If ImagesCollide(crab,crpx,crpy,0,m\stone,m\x, m\y, 0)
                        Return True
                EndIf
        Next
        For tree.Tree=Each Tree
                If ImagesCollide(crab,crpx,crpy,0,tree\tree1,tree\x,tree\y, 0)
                        Return True
                EndIf
        Next

        Return False
       
End Function

P.S. Да, знаю что название функции CollideStones хотя там не только камни, но меня как-то это не волнует:)

Nuprahtor 05.02.2012 17:55

Ответ: Vivo
 
Скриншоты бы в нулевой пост и в каждый пост с обновлением (если обновлялась графическая часть)

Nikich 05.02.2012 18:04

Ответ: Vivo
 
Я только за, вот мог бы я старые посты редактировать:)


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot