Uporabniška orodja

Orodja spletišča


nogomet

NOGOMET

Besedilo

Besedilo za učitelja.

A je lahko za fante še kaj boljšega kot je nogomet :). To je lahko tudi skupinka naloga.

Besedilo naloge.

Najprej zgradite nogometno igrišče, ki je lahko poljubno veliko, ima vodoravno podlago, je ograjeno in ima dva gola. Vse objekte lahko ustvarite iz enostavnega objekta kocka. Žogo ustvarite s kroglo, dodajte ji teksturo, ki bo spominjala na nogometno žogo in določite ji lastnost „Physical“.

Sestavite program, ki bo štel zadetke in ga vstavite v gol. Prav tako sestavite program, ki bo omogočil novo igro, torej začetni rezultat 0:0.

Primer izvedbe

Izvor naloge

BYO

Namigi

  • Na objekt, ki ima določeno lastnost „Physical“, delujejo fizikalne zakonitosti. Ali morajo imeti enako lastnost določeno tudi kateri drugi objekti?
  • Ko se žoga dotakne gola, se lahko spremenljivka stGolov poveča za 1.
  • Ko uporabnik klikne na gol, se lahko vrednost spremenljivke stGolov spremeni v 0.

Rešitev

Razširitev problema

  • Trenutni rezultat igre se vidi slabo. Izpisan je le nad posameznim golom. Če želi gledalec vedeti trenutni rezultat, mora obiskati oba gola, kar pa je zamudno. Izdelaj tablo z skupnim rezultatom.

Pomoč:

Gol pošilja trenutni rezultat (število golov):

collision
llSay(1201,(string)stGolov_uservar);

Tabla z rezultati sprejema število golov:

string stGolovA = "0";
string stGolovB = "0";
default
{
    state_entry()
    {
        llSay(0,"Klikni za nov rezultat");
        llListen(1201,"","",""); // gol ekipe A
        llListen(1202,"","",""); // gol ekipe B
    }
 
    listen(integer channel, string name, key id, string message)
    {
        if (channel == 1201)
            stGolovA = message;
        if (channel == 1202)
            stGolovB = message;
    }
        
    touch_start(integer total_num)
    {
        string sDynamicID = "";                          
        string sContentType = "vector";                  
        string sData = "";                               
        string sExtraParams = "width:256,height:256";    
        integer iTimer = 0;                              
        integer iAlpha = 100;                            
        //
        sData = osMovePen(sData, 20, 40);                 
        sData = osSetFontName(sData, "Arial");            
        sData = osSetFontSize(sData, 10);                 
        sData = osSetPenColor(sData, "Green");           
        sData = osDrawText(sData, stGolovA+":"+stGolovB ); // Tekst
        // narisi
        osSetDynamicTextureDataBlend( sDynamicID, sContentType, sData, sExtraParams, iTimer, iAlpha );
    }
    
     
}
nogomet.txt · Zadnja sprememba: 2014/01/10 21:00 uporabnika franc