Программирование на smart BASIC. Урок 5
Re: Программирование на smart BASIC. Урок 5
В условиях задачи не было такого условия, обозначить "вход". Поэтому он у меня генерируется каждый раз в случайном месте так же как и выход.
Re: Программирование на smart BASIC. Урок 5
Лабиринт 2
Code: Select all
INPUT "уровень сложности":d
input "скорость появления":g
d=d+50
graphics
x1=SCREEN_WIDTH ()
y1=SCREEN_HEIGHT ()
randomize
option base 1
GRAPHICS CLEAR 0,0,0
if x1>y1 then
p=y1
a1=y1
end if
if x1<y1 then
p=x1
a1=x1
end if
p=p/(d+2)
x=p
y=p
dim a(d,d)
for q=1 to d
for w=1 to d
a(q,w)=rnd(4)
if a(q,w)=0 then
fill color 0,0,0
fill rect x,y to x+p,y+2*p
endif
if a(q,w)=1 then
fill color 1,1,1
fill rect x,y to x+3*p,y+p
endif
if a(q,w)=3 then
fill color 0,0,0
fill rect x,y to x+2*p,y+p
endif
if a(q,w)=4 then
fill color 1,1,1
fill rect x,y to x+p,y+3*p
endif
pause g
x+=p
next w
x=p
y+=p
next q
x=0
y=0
fill color 1,1,1
fill rect a1-p,0 to a1,a1
fill rect 0,0 to a1,p
fill rect 0,0 to p,a1
fill rect 0,a1-p to a1,a1
fill color 0,0,0
fill rect p,p to 2*p,p*8
fill rect a1-p,a1-p to a1-2*p,a1-p*8
fill color 0,.5,0
fill rect 0,0 to p*4,p*4
fill color .5,0,0
fill rect p*(d+2)-p*4,p*(d+2)-p*4 to p*(d+2),p*(d+2)
fill color 0,0,0
fill rect a1,0 to a1+p*2,a1
- atikin
- Posts: 77
- Joined: Fri Sep 12, 2014 6:54 pm
- My devices: iPad air, iPhone 4S
- Location: Санкт-Петербург | Saint-Petersburg
- Flag:
Re: Программирование на smart BASIC. Урок 5
При помощи этого урока я понял как хранить логин/пароль
_____________________________________________________________________________
Как сделать движок для виз. новелл за три дня в smart BASIC (часть 1)
Как сделать движок для виз. новелл за три дня в smart BASIC (часть 1)
Re: Программирование на smart BASIC. Урок 5
Здравствуйте.
Посмотрите пожалуйста мой лабиринт. Что можно улучшить или подправить. И подскажите пожалуйста, я не всё в этой теме понял. Например если пишут L(a,s)=rnd(2) как это работает? Или l(a,s)=a*s Я не полностью тему понял, хоть и экспериментировал по разному. Спасибо.
graphics
option angle degrees
draw size 5
DRAW LINECAP ROUND
data 10,80,20,25, -150,-180,40,130,110,55,0,-15, 70,-140,-155, 85,-50,-60,100,170,160,115,11,3,130,-63,-70,145,-173,-180
for i=1 to 10
read z,a,b
draw arc 150,262,z,a,b
next i
DIM x1(9),y1(9),x2(9),y2(9)
data 150,117,150,132
data 280,262,265,262
data 35,262,50,262
data 150,362,150,347
data 150,177,150,192
data 80,262,95,262
data 150,302,150,317
data 150,237,150,222
data 150,272,150,287
for i=o to 8
READ x1(i),y1(i),x2(i),y2(i)
draw line x1(i),y1(i) to x2(i),y2(i)
next i
Посмотрите пожалуйста мой лабиринт. Что можно улучшить или подправить. И подскажите пожалуйста, я не всё в этой теме понял. Например если пишут L(a,s)=rnd(2) как это работает? Или l(a,s)=a*s Я не полностью тему понял, хоть и экспериментировал по разному. Спасибо.
graphics
option angle degrees
draw size 5
DRAW LINECAP ROUND
data 10,80,20,25, -150,-180,40,130,110,55,0,-15, 70,-140,-155, 85,-50,-60,100,170,160,115,11,3,130,-63,-70,145,-173,-180
for i=1 to 10
read z,a,b
draw arc 150,262,z,a,b
next i
DIM x1(9),y1(9),x2(9),y2(9)
data 150,117,150,132
data 280,262,265,262
data 35,262,50,262
data 150,362,150,347
data 150,177,150,192
data 80,262,95,262
data 150,302,150,317
data 150,237,150,222
data 150,272,150,287
for i=o to 8
READ x1(i),y1(i),x2(i),y2(i)
draw line x1(i),y1(i) to x2(i),y2(i)
next i
- Mr. Kibernetik
- Site Admin
- Posts: 4786
- Joined: Mon Nov 19, 2012 10:16 pm
- My devices: iPhone, iPad, MacBook
- Location: Russia
- Flag:
Re: Программирование на smart BASIC. Урок 5
Элемент двумерного массива L с индексами a и s равен случайному числу 0 или 1.Tantrixx wrote:если пишут L(a,s)=rnd(2) как это работает?
Re: Программирование на smart BASIC. Урок 5
Спасибо за ответ. Это я понял, не понял, как это можно использовать. То есть если l(10,25)=2 что мне это даёт. Спасибо.Mr. Kibernetik wrote:Элемент двумерного массива L с индексами a и s равен случайному числу 0 или 1.Tantrixx wrote:если пишут L(a,s)=rnd(2) как это работает?
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: Программирование на smart BASIC. Урок 5
Посмотри как это работает
Code: Select all
GRAPHICS
RANDOMIZE
OPTION BASE 1
OPTION TEXT POS CENTRAL
REFRESH OFF
maxx=SCREEN_WIDTH()
maxy=SCREEN_HEIGHT()
REM количество клеток по ширине (w) экрана и по высоте (h) и их размер по ширине (xx) по высоте (yy)
w=10
h=6
xx=maxx/w
yy=maxy/6
REM создаем массив, рисуем клетки на экране и заполняем случайными 0 или 1 из массива
DIM mas(h,w)
FOR i=1 TO h
FOR i1=1 TO w
mas(i,i1)=RND(2)
x=i1*xx-xx/2
y=i*yy-yy/2
DRAW RECT X,Y SIZE xx/2,yy/2
DRAW TEXT mas(i,i1) AT x,y
NEXT i1
NEXT i
REFRESH
Re: Программирование на smart BASIC. Урок 5
Спасибо, буду разбираться. Я ещё не понял, для чего dim писать где то надо, а где то нет, но массив подразумевается. Я в лабиринте когда писал программу, в первой части без dim массив писал, хотя и с ним пробовал, не получилось, а во второй части программы с dim, но я там с образца взял, и получилось.
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: Программирование на smart BASIC. Урок 5
Если в массиве значений 10 и меньше тогда задавать не обязательно его-он создается автоматом, а если больше 10 то обязательно надо прописывать его командой dim
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: Программирование на smart BASIC. Урок 5
Я всегда стараюсь использовать команду dim. Это очень удобно. К примеру не надо обнулять массив-достаточно массив создать заново этой командой. Также бывает не удобно создавать массив автоматом если надо его отсортировать, так как в автоматически созданном массиве всегда присутствует 10 значений и если вы используете из этих значений всего лишь к примеру 4 или 5, то остальные значения по умолчанию равны 0 и при сортировке могут дать не верный результат!