Oryginalna strona colobot.cba.pl umarła, gdy cba.pl przestało oferować darmowy hosting. To jest statyczny mirror, pobrany w 2018. ~krzys_h
 
Polski Portal COLOBOTa
COLOBOT Polish Portal

PHP - interpreter CBot w php

sajmon313 - 18-12-2009, 13:23
Temat postu: interpreter CBot w php
Witam!
Czy istnieje wogóle takie narzędzie?
Chodzi tylko o sprawdzenie poprawności programu, a nie o jego wykonanie
Bo jeżeli nie to będe musiał sam napisać...
Ale zawsze jest nadzieja że ktoś z was takie coś już ma :P

adiblol - 19-12-2009, 13:48

sajmon313 napisał/a:
Czy istnieje wogóle takie narzędzie?

Przesadny optymizm :D . Nie istnieje. Ale możesz poszukać walidatorów kodu c++ i przerobić...

Gdzie chcesz ten walidator kodu wykorzystać? Na php-cli czy na stronie www?

sajmon313 - 19-12-2009, 17:38

adiblol napisał/a:

Gdzie chcesz ten walidator kodu wykorzystać? Na php-cli czy na stronie www?

Na www, żeby pozbyć się problemów z różnicami między różnymi platformami, mieć dostęp w pracy, w komórce, gdziekolwiek.

Wolę tworzyć mapy/programy poza colobotem (nie lubie co chwile minimalizowac colobota).

Dodatkowo, mój program będzie miał opcje walidacji plików scenenn.txt

Jeżeli jest ktoś chętny do testowania, to mogę tutaj zamieszczać postępy.

FE4R - 19-12-2009, 17:44

Do tworzenia obiektów możesz wykorzystać szybki program od naszego admina:

Kod:

extern void object::Zapiszobiekt( )
{
   
    string msg, poz;
    float dir;
    int i;
   
    dir = 2 - (orientation / 180);
    if (dir > 1.99) dir = 0.00;
   
    poz = this.position.x+";"+this.position.y;
   
    file plik();
    file p2();
   
    if (!plik.open("Obiekty.txt", "r"))
    {
        plik.open("Obiekty.txt", "w");
        plik.writeln("CreateObject pos="+poz+" dir="+dir+" type=");
        plik.close();
        message(this.position.x+" ; "+this.position.y+" , "+dir);
        return;
    }
    p2.open("Obiekty2.txt", "w");
   
    while(!plik.eof())
    {
        msg = plik.readln();
        if (msg != "") p2.writeln(msg);
    }
   
    plik.close();
    p2.close();
   
    plik.open("Obiekty.txt", "w");
    p2.open("Obiekty2.txt", "r");
   
    while(!p2.eof())
    {
        msg = p2.readln();
        if (msg != "") plik.writeln(msg);
    }
   
    plik.writeln("CreateObject pos="+poz+" dir="+dir+" type=");
   
    plik.close();
    p2.close();
   
    message(this.position.x+" ; "+this.position.y+" , "+dir);
   
}


Bo zakładam, że to właśnie przepisywanie pozycji obiektów jest tak uciążliwe.

sajmon313 - 19-12-2009, 18:20

FE4R napisał/a:

Bo zakładam, że to właśnie przepisywanie pozycji obiektów jest tak uciążliwe.

Programik przydatny, ale ja raczej chciałbym stworzyć narzędzie, które wykrywa błędy (literówki), sprawdza czy w CreateObject jest odpowiednia liczba argumentów, czy argumenty są poprawne. Ogólnie czy cały plik ma poprawną składnie.

Jak już pisałem, wolę tworzyć mapy bez włączania colobota, a z pozycje, można łatwo obliczyć z tego obrazka:
i wiadomości, ze reliefy mają rozmiar 161x161,

Orientacja jest w miarę prosta do zapamiętania [wiem że nieintuicyjna - 0 powinno być na północy]

[ Dodano: 24-12-2009, 22:05 ]
Pierwsza w miarę działająca wersja: http://estudent.put.pozna...marciniak/cbot/
ostzregam, że działa tylko kilka rzeczy.
na razie bez bajerów, czysty text
i na razie tylko programy cbot, bez scenexx

[ Dodano: 02-01-2010, 22:22 ]
No i kolejna aktualizacja.
kilka rzeczy działa (funkcje z parametrami liczbowymi lub zmiennymi)
kilka jeszcze nie działa (funkcje z wyrażeniami)
np. to:
Kod:
motor(dir/90,1);

pokazuje jeszcze jako błąd.

Z na pewno działających rzeczy: zliczanie niezamkniętych nawiasów!


Powered by phpBB modified by Przemo & WRIM © 2003 phpBB Group