 |
12.11.2007, 08:45
|
#1
|
AnyKey`щик
Регистрация: 12.07.2006
Сообщений: 3
Написано 0 полезных сообщений (для 0 пользователей)
|
Brainfuck интерпретатор (помогите с меню)
Доброе время суток.
Вроде написал интерпретатор для BrainFuck. только чего то не получается с меню...
оно вроде работает и вызывается даже, только после выбора команды надо еще клавишу нажать.
****
вроде исправил вывод символов (не должны накладываться)
простенький калькулятор поставил
можно теперь и вниз вверх двигаться
добавил пошаговое выполнение (#-шаг, *-полное выполнение)
исправил баг(-+. и все висим))
(а с главным меню так и не могу разобраться: сначало выбрать надо, потом любую клавишу нажать и тогда появляется...........)
****
спасибо, odd. Вроде с меню разобрался
поставил небольшую заставку (чтоб не голосновно было)
дальше решил пока не идти
(пока не придумал, как корректно о программе и помощь написать)
и если тяжелая программа то обязателен висяк
>+[<+.>+] если сразу на запускт то выполняется, а если сначало пошагово а потом прервать и полное запустить то висяк гарантирован.
|
(Offline)
|
|
12.11.2007, 08:56
|
#2
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Re: Brainfuck интерпретатор (помогите с меню)
Увы, я не силён в языке Brainfuck (трахаю себе мозги другими методами).
Меню у тебя как-то тормозит или вообще не реагирует. Подправь.
|
(Offline)
|
|
13.11.2007, 08:55
|
#3
|
AnyKey`щик
Регистрация: 09.10.2007
Сообщений: 6
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Brainfuck интерпретатор (помогите с меню)
а в чем смысл?
|
(Offline)
|
|
14.11.2007, 00:05
|
#4
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Re: Brainfuck интерпретатор (помогите с меню)
А что это за язык? Название какое-то странное 
|
(Offline)
|
|
14.11.2007, 00:39
|
#5
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Re: Brainfuck интерпретатор (помогите с меню)
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
14.11.2007, 06:32
|
#6
|
ПроЭктировщик
Регистрация: 31.01.2007
Сообщений: 128
Написано 20 полезных сообщений (для 43 пользователей)
|
Re: Brainfuck интерпретатор (помогите с меню)
Спасибо за интерпретатор 
На nokia e61 буковки при выводе накладываются друг на друга, маленькое расстояние между ними, лучше рассчитывать его, а не задавать.

|
(Offline)
|
|
14.11.2007, 07:58
|
#7
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Re: Brainfuck интерпретатор (помогите с меню)
Не, это не сильно интересный язык. Вот в былые годы программисты соревновались между собой в крутости с помощью псевдо-языка M.A.R.S. (похожему на ассемблер). Каждый программист писал программку-бойца, потом 2 программки выпускалось в один объём памяти (ну или массив по-вашему) и дальше смотрели кто кого победит. Команды программ-бойцов выполнялись поочередно. Если выполненние одной программы заканчивалось (встретился нулевой байт), значит другая программа победила. С помощью данного языка программы могли перемещаться по массиву, обстреливать нулями свободные от себя участки массива и т.д. Короче, было прикольно.
PS: А потом такие программисты приходили домой и писали полиморфик вирусы. 
|
(Offline)
|
|
14.11.2007, 11:55
|
#8
|
|
Re: Brainfuck интерпретатор (помогите с меню)
2Odd: Вообще-то это называется Core Wars... И игра эта, в принципе, жива по сей день.
|
|
|
15.11.2007, 23:02
|
#9
|
AnyKey`щик
Регистрация: 15.11.2007
Сообщений: 3
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Brainfuck интерпретатор (помогите с меню)
Сообщение от sorok5ok
Доброе время суток.
Вроде написал интерпретатор для BrainFuck. только чего то не получается с меню...
оно вроде работает и вызывается даже, только после выбора команды надо еще клавишу нажать.
|
Здоровская штука))) жаль на моей моторолле (старушка V360..) она тормазит...  а потом заглючивает.. и только ужесный ресет помогает.. 
зы:на Самсунге тож букафки накладываются...
А что на брейне можно настучать, кроме символов..?
ps:сразу вспоминается анимешка.. BPS (Battle Programmer SHIRASE) http://www.world-art.ru/animation/animation.php?id=958
где Некий Боевой Программер Ширасе, во многих сериях, блокировал мощные атаки кул хакера.. (у которого была самая быстрая машина) каким-то мобильным телефоном 
|
(Offline)
|
|
19.11.2007, 07:19
|
#10
|
AnyKey`щик
Регистрация: 12.07.2006
Сообщений: 3
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Brainfuck интерпретатор (помогите с меню)
говорят, что почти вcе можно
умельцы вон, крестики нолики написли
http://community.livejournal.com/ru_brainfucker
|
(Offline)
|
|
22.11.2007, 08:42
|
#11
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Re: Brainfuck интерпретатор (помогите с меню)
Немного изменил процедуру info и меню стало нормально вызываться и тормоза исчезли. Попоробуй.

procedure info();
var GKey:integer;
begin
Gkey:=KE_NONE;
while GKey <> KE_KEY5 do
begin
clicked:= getClickedCommand; GKey:=getKeyClicked;
if GKey=KE_KEY1 then begin z:=z+1; i:=i+1; readInfo('.',z,i); end;
if GKey=KE_KEY2 then begin z:=z+1; i:=i+1; readInfo('+',z,i); end;
if GKey=KE_KEY3 then begin z:=z+1; i:=i+1; readInfo(',',z,i); end;
if GKey=KE_KEY4 then begin z:=z+1; i:=i+1; readInfo('<',z,i); end;
if GKey=KE_KEY6 then begin z:=z+1; i:=i+1; readInfo('>',z,i); end;
if GKey=KE_KEY7 then begin z:=z+1; i:=i+1; readInfo('[',z,i); end;
if GKey=KE_KEY8 then begin z:=z+1; i:=i+1; readInfo('-',z,i); end;
if GKey=KE_KEY9 then begin z:=z+1; i:=i+1; readInfo(']',z,i); end;
if GKey=KE_KEY0 then begin if i>0 then begin z:=z-1; i:=i-1; if i<=0 then i:=0; if z<=0 then z:=0; readInfo('0',z,i); end; end;
if (GKey=KE_STAR) and (vector=1) then begin i:=i-trunc(shir/getStringWidth('-.'))+1; if i<=0 then i:=0; readInfo('',z,i); end;
if (GKey=KE_POUND) and (vector=1) then begin i:=i+trunc(shir/getStringWidth('-.'))-1; if i>=999 then i:=999; if stroka[i+1]='' then i:=z; readInfo('1',z,i); end;
if (GKey=KE_STAR) and (vector=0) then begin i:=i-1; if i<=0 then i:=0; readinfo('',z,i); end;
if (GKey=KE_POUND) and (vector=0) then begin i:=i+1; if i>=999 then i:=999; if stroka[i+1]='' then i:=z; readInfo('1',z,i); end;
if clicked=moveC then adzac;
if clicked=menuC then menu;
end;
clrscr; go(0,0,0);
end;
|
(Offline)
|
|
06.12.2007, 08:26
|
#12
|
AnyKey`щик
Регистрация: 12.07.2006
Сообщений: 3
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Brainfuck интерпретатор (помогите с меню)
Спасибо всем за помощь.
|
(Offline)
|
|
09.12.2007, 20:23
|
#13
|
AnyKey`щик
Регистрация: 09.12.2007
Сообщений: 2
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Brainfuck интерпретатор (помогите с меню)
Сообщение от Chrono Syndrome
2Odd: Вообще-то это называется Core Wars... И игра эта, в принципе, жива по сей день.
|
А где же эта игра жива?
Я в свое время немного в нее играл, но с удовольствием бы освежил в памяти
|
(Offline)
|
|
09.12.2007, 20:34
|
#14
|
|
Re: Brainfuck интерпретатор (помогите с меню)
Сообщение от Fremen72
А где же эта игра жива?
Я в свое время немного в нее играл, но с удовольствием бы освежил в памяти
|
Для разгону:
http://www.corewar.info - лучший сайт, где можно найти все (в том числе и кучу полезных ссылок)
http://koth.org - Старейший сайт, посвященный Core Wars... но предыдущий все-же поинформативнее)...
Если что еще вспомню - допишу.
|
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:51.
|