Как сделать?
…
Gildmaster,
Ответил в новой теме: Подробности использования массивов
А чего такого непонятного в массивах?
Dark,
для тех, кто не знаком с программированием, это очень сложная, и вечно больная тема.
Просто на незнакомых понятиях объясняешь=)
Объясняй к примеру на пронумерованных ведрах хД
$ведро[номер ведра]=‘содержимое ведра хДДД’
Следующий вопрос!
добавляю код:act”подняться на второй этаж” pl “на 2-ой этаж” & wait 2000 & :goto”второй этаж”
как сделать чтоб надпись:”на 2-ой этаж” пропала,ато надписи в дополнительном описании не исчезают??????
Оператор clr
код:act”подняться на второй этаж” pl “на 2-ой этаж” & wait 2000 & clr & :goto”второй этаж”
$aa=‘дневник’
$a[0]=‘осмотреть:!осмотреть’
$a[1]=‘взять/положить:!взять/положить’
$a[2]=‘прочесть:!прочесть’if selobj=‘<<$aa>>’: menu ‘$a’ & unsel
add obj ‘дневник’
теперь… при добавлении записи в дневник, у меня выполняется следующий код:
set v=v+1
set $y[v]=input(’Сделайте запись в свой дневник’)if v>T*ctr:
set ctr=ctr+1
set $z1[1+ctr]=‘прочесть записи на’+’<<ctr>> стр.:!read’
endИзначально:
v=0
T=количеству записей на страницу
ctr=номер страницыПри прочтении:
*pl ‘<<args>>’
!===========================================
! args=3 - первая страница
if args>2: set v2=args-3
! v2=0 - следовательно значения v1=T*v2= от 0v1=T*v2
:loop
if v1<=v2+T: ‘<<$y[v1]>>’ & v1=v1+1 else exit
jump ‘loop’
Как сделать, чтобы при просмотре первой страницы выходило (допустим T=10) первые десять записей, а при просмотре 2ой страницы - следующие 10 и т.д.
Вроде сам решил проблему
Как-то громоздко выглядит :)
Тем не менее, если v2 это номер страницы, то
v1=v2*T
v_end=v1+T
:loop
if v1<v_end: $y[v1] & v1=v1+1 & jump 'loop'
Это если индексация с 0 :)
Byte, не поверишь) Также сделал)
v1=T*v2
v3=v1+T
:loop
if v1<=v3: '<<$y[v1]>>' & v1=v1+1 else exit
jump 'loop'
# 1
ACT 'input':
:str
$y[v]=input 'Введите строку <<v>>'
if $y[v]!'':
if v>=t*(ctr+1):ctr=ctr+1
$mnu[ctr]='прочесть записи на <<ctr+1>> стр.:!read'
v=v+1
jump 'str'
end
END
ACT 'menu':
menu 'mnu'
END
v=0
t=3
ctr=0
--- 1 ---------------------------------
# !read
i=args-1
v1=i*t
v_end=v1+t
:rec
if v1<v_end:
$y[v1]
v1=v1+1
jump 'rec'
end
--- !read ---------------------------------
в итоге сделал так:
Локация "сделать запись"
set $y[v]=input('Сделайте запись в свой дневник')
if $y[v]!'':
set v=v+1
if v>T*ctr+1:
set ctr=ctr+1
set $z1[1+ctr]='прочесть записи на'+'<<ctr>> стр.:!read'
end
end
Локация "читать"
*clr
gs '<<$prevloc>>'
*pl '<<args>>'
!===========================================
! args=3 - первая страница
if args>2: set v2=args-3
! v2=0 - следовательно значения v1=T*v2= от 0
v1=T*v2+1
v3=v1+T-1
'v1=<<v1>>'
'
v3=<<v3>>'
:loop
if v1<=v3: '<<$y[v1]>>' & v1=v1+1 else exit
jump 'loop'
ну разумеется, лишнее уберу)
Как-то странно выглядит, возможно здесь ошибки.
Возможно… но результат выдает отлично. Проверял вбивая числительные)