Konkurs oraz ocena kodu

  • Rejestracja: dni
  • Ostatnio: dni
0

jeszcze poprawione random bez instrukcji skoku

Kopiuj
v INT16 "Random" V100j
   v             <
         >0v
>08>\4*#v?2>+\1-:|
        13       >$05w\5+\2j
        >>>^
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

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.

  • Rejestracja: dni
  • Ostatnio: dni
0

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...

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Dzięki, @-123oho.
Zobaczę o co chodzi i poprawię bugi :>

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0
  • KONKURS 2 **

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:

Kopiuj
"&"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! :)

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

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


Przepraszam, że tak post pod postem, ale nie chciałem, aby mieszało się z konkursem :>
vpiotr
  • Rejestracja: dni
  • Ostatnio: dni
0

@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...

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

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:

Kopiuj
   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...


**MLang Editor v.0.3b** Poprawione: -bug wymieniony parę linijek wcześniej Do poprawy: -złe wyświetlanie znaków w Wine
Demonical Monk
  • Rejestracja: dni
  • Ostatnio: dni
0

Tak wygląda okno najnowszej wersji zmaksymalizowane:
http://oi49.tinypic.com/241579s.jpg

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Mógłby ktoś sprawdzić, czy z tą wersją na XP także jest problem?
Program w załączniku.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.