Вниз  RFO BASIC
- 2.02.2015 / 12:55
oslopov1991
  Пользователь

oslopov1991 
Сейчас: Offline
PLUTONiUM, на твой пост (#398867) отвечу, Потому что BASIC это винтажно! :-D
- 2.02.2015 / 16:58
ВитаминКО
  Супермодератор

ВитаминКО 
Сейчас: Offline
PLUTONiUM, потому что бейсик :gy:
стильно, модно, молодежнопросто, доступно, для школьников
__________________
 わからない!!
- 2.02.2015 / 17:43
oslopov1991
  Пользователь

oslopov1991 
Сейчас: Offline
ВитаминКО, на твой пост (#399025) отвечу, И basic именно по этому винтажный и хардкорный. Попробуй-ка исхитрится примитивным бейсиком наисать 3D приложение? Ну конечно самый хардкор и винтаж это ассемблер какого нибудь проца. :-D

Изменено oslopov1991 (2.02 / 17:46) (всего 1 раз)
- 10.02.2015 / 12:57
oslopov1991
  Пользователь

oslopov1991 
Сейчас: Offline
Вот ещё один код. Он может строить картинку из отдельных тайлов и позволяет скроллится по ней. Так я делаю карту для своей игры
  1. x=0
  2.  y=0
  3.  
  4. gr.open 255,25,25,25
  5. gr.orientation 0
  6.  
  7. gr.bitmap.load img000,"/grafics/трава.png"
  8.  
  9.   gosub position_init
  10.  
  11. gr.bitmap.draw im1,img000,x1,y1
  12. gr.bitmap.draw im2,img000,x2,y2
  13. gr.bitmap.draw im3,img000,x3,y3
  14. gr.bitmap.draw im4,img000,x4,y4
  15. gr.bitmap.draw im5,img000,x5,y5
  16.  
  17.  
  18. gr.render  
  19.  
  20.   gosub touch
  21.  
  22.  while 1=1
  23.   wold=wnew
  24.   hold=hnew
  25.   gosub touch
  26.   gosub move_conditions
  27.   gosub position_init
  28.   gosub image_move
  29.   gr.render
  30.  repeat
  31.  
  32. touch:
  33.  do
  34.   gr.touch touched,wnew,hnew
  35.  until touched
  36. return
  37.  
  38. move_conditions:
  39.  
  40.  if wnew>wold then x=x+1
  41.  if wnew<wold then x=x-1
  42.  if hnew>hold then y=y+1
  43.  if hnew<hold then y=y-1
  44.  
  45.  if x>0 then x=0
  46.  if x<=-3072 then x=-3072
  47.  if y>=0 then y=0
  48.  if y<=-3544 then y=-3544
  49.  
  50. return
  51.  
  52.  
  53. position_init:
  54.  
  55.  x1=x+(64*0)
  56.  x2=x+(64*1)
  57.  x3=x+(64*2)
  58.  x4=x+(64*3)
  59.  x5=x+(64*4)
  60.  
  61.  y1=y+(64*0)
  62.  y2=y+(64*1)
  63.  y3=y+(64*2)
  64.  y4=y+(64*3)
  65.  y5=y+(64*4)
  66.  
  67. return
  68.  
  69.  
  70. image_move:
  71.  
  72.  gr.modify im1,"x",x1
  73.  gr.modify im2,"x",x2
  74.  gr.modify im3,"x",x3
  75.  gr.modify im4,"x",x4
  76.  gr.modify im5,"x",x5
  77.  
  78.  gr.modify im1,"y",y1
  79.  gr.modify im2,"y",y2
  80.  gr.modify im3,"y",y3
  81.  gr.modify im4,"y",y4
  82.  gr.modify im5,"y",y5
  83.  
  84. return
Кстати папку /grafics/ я специально создавал в папке бейсика /rfo-basic/data/ для того чтобы хранить в ней всю графику создаваемой игры отдельно от учебных примеров. Так путаницы меньше. Может мой тиранической труд по созданию движка игры будет кому-то полезен.

Изменено oslopov1991 (10.02 / 12:57) (всего 1 раз)
- 10.02.2015 / 13:06
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
oslopov1991, массив лучше используй, ибо это
x1=x+(64*0)
x2=x+(64*1)
x3=x+(64*2)
x4=x+(64*3)
x5=x+(64*4)
плохой код
__________________
 let live
- 10.02.2015 / 13:49
ВитаминКО
  Супермодератор

ВитаминКО 
Сейчас: Offline
aNNiMON, зато быстрый)
__________________
 わからない!!
- 10.02.2015 / 15:00
Magatino
  Администратор

Magatino 
Сейчас: Online
Цитата oslopov1991:
Вот ещё один код. Он может строить картинку из отдельных тайлов и позволяет скроллится по ней. Так я делаю карту для своей игры
[code=basic]
x=0
  y=0

gr.open 255,25,25,25
gr.orientation 0

gr
Этот код безполезный и не универсальный, можно намного лучше, писал бы на Java заодно бы и основы игровых функции подучил :gg:
- 10.02.2015 / 16:58
oslopov1991
  Пользователь

oslopov1991 
Сейчас: Offline
aNNiMON, Массив здесь не удобен. Да и к тому же инструкции массива не дали нужный результат. Я всякое пробывал. И хранить номера названий картинок в масииве ввиде нужного рисунка. И просто задавать массив координат. Не подходят совсем для этого. Инструкции работы с картинками не допускаютиспользование индексов массива в качестве имён картинок. Выбивают ошибку синтаксиса. Кстати имена переменных они тоже не допускают. Толь ярлыки и условные имена и никак иначе. Массивы я буду пользовать для хранения данных о характеристиках персонажей и врагов. Там массивам самое место. А для построения карт я буду использовать только подобный код. Потому-что в нем проще ориентироваться если появится желание перерисовать карты. тот кусок кода что ты выделил предназначен только для жёсткого назначения позиций и массив там не нужен да и не возможен. Потому что во первых это две группы значений, во вторых по ним вычисляются позиции для каждого тайгл и в третьих нет такого массива который бы хранил одновременно по две координаты в ячейке и был при этом двухмерным. Так что такой код хоть и больше, зато он свою работу делает безотказно. К тому же я заложил принцип построения координат всех элементов по заранее чётко определённой позиции. Если найду способ свести данный код в компактный код из массивов, то конечно перепишу сразу. И выложу вариант с массивами. А пока такой код понятней для начинающих если станут разбираться в принципе его работы. Я повторяю для всех. На этом диалекте пишу впервые. И ещё не освоил его. Прошу не писать про плохой код и тому подобное. Главное что код работает. А упрощу я его потом, когда лучше разберусь в тонкостях диалекта.

Изменено oslopov1991 (10.02 / 17:04) (всего 1 раз)
- 10.02.2015 / 17:06
oslopov1991
  Пользователь

oslopov1991 
Сейчас: Offline
ВитаминКО, на твой пост (#400327) отвечу, Спасибо. Именно скорость, а не размер для меня важен.
- 10.02.2015 / 17:07
oslopov1991
  Пользователь

oslopov1991 
Сейчас: Offline
aNNiMON, на твой пост (#400326) отвечу, Если можешь лучше, тогда напиши, а я почитаю. Поучусь у мастера.
Наверх  Всего сообщений: 2716
Фильтровать сообщения
Поиск по теме
Файлы топика (511)