jeszcze poprawione random bez instrukcji skoku
v INT16 "Random" V100j
v <
>0v
>08>\4*#v?2>+\1-:|
13 >$05w\5+\2j
>>>^
jeszcze poprawione random bez instrukcji skoku
v INT16 "Random" V100j
v <
>0v
>08>\4*#v?2>+\1-:|
13 >$05w\5+\2j
>>>^
Wersja 0.2a została wydana, enjoy! :D
Zmiany takie jak wymieniłem w tym poście (dodatkowo wymyśliłem także prostą ikonę :D), oprócz:
-możliwość zmiany rozmieszczenia (tj.jest do wyboru pomiędzy statyczne a dynamiczne), jeżeli wybierze się statyczne, można ustawić sobie wymiary komponentów za pomocą splittera, jeżeli jest ustawione dynamiczne, ustawia się dwa czynniki, które podstawiane są pod wzór:
To rzeczywiście było przekomplikowane.
Zrobiłem więc zamiast tego po prostu dwa splittery, przy ich zmianie odpowiednio zmieniane są proporcje komponentów.
A z resztą, polecam zobaczyć, jakoś opisywanie mi dzisiaj średnio idzie.
Jednocześnie informuję, iż nowy kod konkursowy nie został jeszcze przygotowany, jest dopiero w trakcie ;)
Poprawka: 0.2b - w bibliotece domyślnie DecimalSeparator był przecinkiem, nie kropką. Fixed.
Odkryłem nowe bugi/antyficzury:
#Komenda 'nowy' daje plik z zawartością, dosyć dziwne IMO.
#Komenda 'otwórz' czyści program zanim zdecydujemy się na nowy plik, anulowanie pozostawia nas z pustym oknem.
#Komendy które powodują wyświetlenie nowego dialogu zazwyczaj mają trzy kropki za sobą, u Ciebie tego brak.
#Breakpointy czasami nie działają, to reproduce: 1. Otwórz sobie demko #5. 2. Postaw BP na znaku '*'. 3. Odpal - nie breakpointuje tam.
#Dodatkowo breakpointów nie da się stawiać/zdejmować w czasie debugowania, dosyć chamskie...
Dzięki, @-123oho.
Zobaczę o co chodzi i poprawię bugi :>
Nowy kod został przez mnie napisany :D
Jest on moim skromnym zdaniem trudniejszy, ale mam nadzieję, iż sobie poradzicie.
Cel konkursu: napisać program w dowolnym języku programowania, oprócz MLang :], który sprawdzi czy dwie podane liczby spełniają podany przeze mnie kod.
Dodatkowo należy podać 5 par liczb, które spełniają program.
Jako wiadomość należy oczywiście przesłać kod; oceniane będą kolejno: prędkość działania, rozmiar kodu oraz objętość pamięciowa (im mniejsze, tym lepiej).
Program testowany będzie na liczbach z zakresu 0...100000.
Funkcja musi przyjmować dwa argumenty, będące liczbami typu całkowitego, które będą testowane i musi zwracać boolean (bool).
Program testowany będzie na procesorze Intel Core 2 Duo.
Małe podpowiedzi:
1.Dla a < 1000 oraz b < 1000 (przyjmując, że a oraz b to dwie kolejne wpisane liczby do programu), rozwiązań istnieje 23.
2.Implementacja w Pascalu zajmuje około 20 linijek (to pewnie nikomu nie pomoże, ale chciałem wskazać, że program nie jest najtrudniejszy do rozszyfrowania).
3.Przykładowe dwie pasujące liczby to 4 oraz 1.
Bez zbędnego przeciągania, oto kod:
"&"0:p"v"20p0::2+j >:9/'12345'-'0.5'-d:0`!#v_'32'12j
v:< >:1av:2;:2;+3*:l1a!| >052j342j >0\-'32'12j
>2;\-^v <_052j260221'10'># ^# <>052j
v37%9:<$:'20'321062j2;:2;+2;:2;:2;\-3;04;%|
>2j'14'423062j::5;:5;:3;*\-l03;*072j #
"Failed :<",@ ^<
:"Stage ",."finished, ",4\-."more to go! :>",Nj
:4a#v_:l1a#v_052j >052j
>052j >4;05;\%|@
>"You won! Congratulations! :D",@
Rozwiązania należy oczywiście wysyłać na PW.
Termin: od tej chwili do odwołania.
Powodzenia! :)
Wersja 0.3 edytora; poprawione zostało:
-123oho napisał(a)
Komenda 'nowy' daje plik z zawartością, dosyć dziwne IMO.
-123oho napisał(a)
Komenda 'otwórz' czyści program zanim zdecydujemy się na nowy plik, anulowanie pozostawia nas z pustym oknem.
-123oho napisał(a)
Breakpointy czasami nie działają, to reproduce: 1. Otwórz sobie demko #5. 2. Postaw BP na znaku '*'. 3. Odpal - nie breakpointuje tam.
-123oho napisał(a)
Dodatkowo breakpointów nie da się stawiać/zdejmować w czasie debugowania, dosyć chamskie...
Dodatkowo:
-przy odczycie pliku *.MLE usuwane zostały spacje na początku każdej linijki; fixed.
-podczas debugowania kodu w edytorze, blokowane są menu do modyfikacji tekstu (tj.wklej, wytnij itp.) oraz nie można edytować tekstu (aczkolwiek można się poruszać strzałkami i zmieniać na żywo breakpointy.
-pomniejsze poprawki w edytorze
@Patryk27: wow, udało Ci się zrobić coś bardziej enigmatycznego niż Perl, gratulacje ;)
Ze względu na dbałość o swój stan zdrowia nie wezmę udziału w konkursie...
Ad.1, 2: z jednej strony wiem w czym jest błąd, a z drugiej nie mam pojęcia czemu tak się dzieje.
Błąd jest zapewne w tym fragmencie kodu:
ACanvas.Brush.Color := Editor.SelectedColor.Background;
ACanvas.Rectangle(X, Y, X+W*Sel, Y+LineHeight);
ACanvas.Font.Color := clWhite;
ACanvas.Brush.Style := bsClear;
Repeat
ACanvas.TextOut(X, Y, Editor.Lines[PosY][pX]);
Inc(pX);
Inc(X, W);
Until (pX >= PosX+Sel);
A dokładniej w samym wywołaniu TextOut.
Ten kod służy do podświetlenia aktualnie debugowanego fragmentu kodu.
Rectangle zamazuje także tekst, więc za pomocą TextOut muszę go odrysować (przy okazji, odkryłem bug'a, jeżeli kierunek ustawiony jest na "w lewo"...).
Najwyraźniej pX jest o jeden mniejsze, niżeli powinno.
U mine na Windowsie jest ok, więc to prawdopodobnie błąd Wine.
Jeszcze obejrzę kod...
Tak wygląda okno najnowszej wersji zmaksymalizowane:
http://oi49.tinypic.com/241579s.jpg