Offtopic

Muu yhteisön välinen keskustelu.
zHelmet
Member
Posts: 73
Joined: Mon Nov 10, 2008 3:55 pm

Re: Offtopic

Post by zHelmet »

Kuinka vaihtaa phpBB3 foorumissa viestien hyväksyntä pois??
nevssons
Devoted Member
Posts: 503
Joined: Sun Jan 13, 2008 5:02 pm

Re: Offtopic

Post by nevssons »

DatsuniG wrote:
nevssons wrote:Itse toivon lahjaksi 200mW:n lases osotinta (Osotin laaserit on yleensä -1mW). Ihan vain uudeksi leluksi. :D
Ettei vaan olisi laittomia Suomessa?
Luulisin. Mutta kyllä se tullin läpi pääsee. (Olen kuullut)
Koodarina kohtalainen, henkilönä vittumainen
Image
m1c
Member
Posts: 65
Joined: Tue Aug 28, 2007 5:10 pm
Location: \o

Re: Offtopic

Post by m1c »

nevssons wrote:
DatsuniG wrote:
nevssons wrote:Itse toivon lahjaksi 200mW:n lases osotinta (Osotin laaserit on yleensä -1mW). Ihan vain uudeksi leluksi. :D
Ettei vaan olisi laittomia Suomessa?
Luulisin. Mutta kyllä se tullin läpi pääsee. (Olen kuullut)
Sano näkemiin sekä tuotteelle, että rahoille jos avaavat paketin tullissa tai pakkauslistassa lukee mitä paketti sisältää. Lisäksi 200mW laserit taitaa maksaa jo lähemmäs 40e jolloin tulee alvit päälle ja paketti tarkistetaan melko varmasti.

Lisäksi 200mW on jo ihan jumalaton teho laserissa. Kannattaa varoa sohimasta sitä mihinkään heijastavaan, nimittäin jo hajaheijastukset pystyvät vauriottamaan verkkokalvoja. Suoraa silmäkontakti on välitön, peruuttamaton silmävaurio. Jos kyseessä on vielä halpa kiinanmalli, saattaa infrapunasuotimet olla melko kehnoja jolloin oikea teho voi olla paljon suurempi. Näkymätön valo on yhtä vaarallista kuin näkyväkin.
Olwi
Devoted Member
Posts: 557
Joined: Sun Dec 30, 2007 4:15 pm
Location: Muhos

Re: Offtopic

Post by Olwi »

Nyyssons käyttääki sitä itsepuolustukseen :)
Hyvää itsenäisyyspäivän aatonaattoa kaikille :mrgreen:
Huuda mun ip:tä!
otto90x
Advanced Member
Posts: 349
Joined: Mon Aug 27, 2007 9:00 pm
Location: Lapinjärvi, Finland
Contact:

Re: Offtopic

Post by otto90x »

Tulipahan pelleiltyä muistipalojen kanssa ja tein tälläisen dynaamisen muistivirta systeemin, joka mahdollistaa kokonais- ja desimaalilukujen, tavujen että merkkijonojen käyttämisen samassa "taulukossa". Lyhyesti selitettynä tämä on muistipalassa oleva dynaaminen pointterilista erilaisia tietotyyppejä sisältäviin muistipaloihin.

Code: Select all

//          MemStream for CoolBasic 
//         by MetalRain a.k.a. Otto90x


// Luodaan uusi muistivirta
stream = makemem("|") 


// Lisätään muistivirtaan kymmenen kokonaislukua (1-10) siten että ensimmäiseksi laitettu säilyy ensimmäisenä
// Tämä saadaan aikaiseksi parametrillä -1 jossa miinus tarkoittaa että aloitetaan virran lopusta
// ja numero kertoo kuinka mones. -1 tarkoittaa siis että luvut menevät muistivirran viimeiseksi.

For o = 1 To 10
    pushmem(stream,makemem("%",o),-1) 
Next o

// Tarkistetaan muistivirran solujen määrä, se saadaan PopMemin toisen parametrin arvolla 0.
// Toinen vaihtoehto on käyttää ReturnMem komentoa joka palauttaa muistivirtojen tapauksessa
// virrassa olevien solujen määrän.

streamlen = Popmem(stream,0)


For i=1 To streamlen

    // Muistivirrasta voi vain "popsautella" soluja pois PopMemillä, ensimmäinen parametri kertoo kuinka mones 
    // solu halutaan saada selville ja toinen halutaanko soluun osoitin (0) vai halutaanko palauttaa solun arvo (1).
    // Nyt siis vain popsauttelemme solut pois ja kirjoitamme niiden sisällön ruudulle. PopMemiä käytettäessä ei
    // tarvitse tietää mitä tietotyyppiä solut sisältävät, sillä kaikkia käsitellään samalla tavalla, paitsi
    // kun halutaan palauttaa solun arvo eli sisältö.
    
    Print Popmem(stream,1,1,1) 
    
Next i


// Pistetääs tähän odotus että nähdään

Print "Press any key to continue"
WaitKey

// Ja koska tälläiseen riittäisi tavallinen taulukkokin niin tietenkin tietotyyppejä (kokonaisluvut, tavut, 
// desimaaliluvut, merkkijonot) voidaan käyttää muistivirrassa aivan sekaisin.

// Poistetaan vanha muistivirta ja tehdään uusi, toki näitä voi olla useampikin, mutta hyviin tapoihin kuuluu 
// vapauttaa tarpeettomat muistipalat.
DeleteMem(stream)

// MakeMem on yleiskäyttöinen funktio joka tekee sekä muistivirtaan tarvittavia soluja että itse muistivirtoja.
// Tehtävän objektin tyyppi riippuu ensimmäisestä parametristä. Virroille käyvät sekä | että Stream

stream = makemem("Stream") 

// Annetaan kuva ja muutama tieto muistivirran hoidettavaksi.

// Coolbasicin kuva- ja objektimuuttujat ovat oikeasti kokonaislukumuuttujia  

pushmem(stream,makemem("%",LoadImage("media\guy.bmp")))

//pistetääs vihun nimeksi vaikka Tauno

pushmem(stream,makemem("$",0,0,"Tauno"),-1)

//ja taunon nopeudeksi 2.5

pushmem(stream,makemem("#",0,2.5),-1)

// No niin sitten voimmekin alkaa piirtelemään Taunoa.

// Popsautukset kannattaa tehdä ennen päälooppia, etenkin nyt kun solujen arvot eivät muutu.

kuva=Popmem(stream,1,1,0,"%")
nimi$=Popmem(stream,2,1,0,"$")
nopeus#=Popmem(stream,3,1,0,"#")

// soluja voi joko popsautella muistivirrasta oikealla numerolla, tai varmistuakseen voi laittaa myös
// oikean tietotyypin.

Repeat

    DrawImage kuva,MouseX()+ScreenWidth()/2,MouseY()+ScreenHeight()/2
    
    Text MouseX(),-MouseY()+40,nimi$+":n  nopeus: "+nopeus#
    
    DrawScreen 

Forever

// Jos käytät kuvia, objekteja tai ääniä muistivirran soluissa niin muista poistaa ne ennen muistivirran poistamista.

DeleteImage Popmem(stream,1,0,0,"%")


// Muistivirran poistaminen poistaa automaattisesti sen solut
DeleteMem(stream)

// MemStream Functions

Function PushMem(_stream,_mem,_pos=1,_callername$="")
    If _stream Then
        If PeekByte (_stream,0)=4 Then
            
            Memstreamvariables=PeekInt (_stream,1)
    
            If _mem Then 
            
                
                
                If _pos>0 Then 
                    
                    position=5+((_pos-1)*4)
                ElseIf _pos<0 Then
                    position=5+(Memstreamvariables+(_pos+1))*4
                EndIf
                
                position=Max(position,5)
            
                memtype=PeekByte (_mem,0)

                Select memtype
                    Case 1, 2, 3, 5
                    
                        ResizeMEMBlock _stream,5+Memstreamvariables*4+4+4
                        
                        MemCopy _stream,position,_stream,position+4, 5+(Memstreamvariables)*4+4-position
                        
                        PokeInt _stream,Int(position),_mem
                        PokeInt _stream,1,(Memstreamvariables+1)
                        
                    Case 4
                    
                        mems=PeekInt(_mem,1)
                        
                        If mems Then 
                            

                            ResizeMEMBlock _stream,5+(mems+Memstreamvariables)*4+4

                            MemCopy _stream,position,_stream,position+mems*4, 5+(Memstreamvariables)*4+4-position
                            
                            MemCopy _mem,5,_stream,position,mems*4
                            
                            PokeInt _stream,1,Memstreamvariables+mems

                            
                            ResizeMEMBlock _mem,5
                            PokeInt _mem,1,0

                        EndIf
                End Select
                
            EndIf
        EndIf 
    Else 
        MakeError "Error in PushMem called by ("+_callername$+"): No memstream available"
    EndIf
End Function 

// _pos=0 palauttaa alkoiden lukumäärän
// _return=1 palauttaa arvo
// _return=0 paluttaa pointterin
// _delete=1 poistaa popatun alkion
// _memtype$ palauttaa vain jos solu on oikeaa tietotyyppiä
Function PopMem(_stream,_pos=1,_return=1,_delete=0,_memtype$="",_callername$="")  
    If _stream Then
        If PeekByte (_stream,0)=4 Then
            
            Memstreamvariables=PeekInt (_stream,1)
            
            If _pos=0 Then Return Memstreamvariables
            
            If Abs(pos)<=Memstreamvariables And Memstreamvariables>0 Then
                If _pos>0 Then 
                    
                    position=5+((_pos-1)*4)
                Else
                    position=5+(Memstreamvariables+(_pos))*4
                EndIf
                
                position=Max(position,5)
                
                If MEMBlockSize(_stream)>=position+4 Then variable=PeekInt (_stream,position) Else variable=0
            EndIf

            If _memtype$<>"" And variable Then 
                Select _memtype$
                    Case "String", "Str", "$"
                        If PeekByte (variable,0)<>1 Then Return 0 
                    Case "Int", "Integer", "%"
                        If PeekByte (variable,0)<>2 Then Return 0 
                    Case "Float", "Desimal", "#"
                        If PeekByte (variable,0)<>3 Then Return 0 
                    Case "Byte", "b"
                        If PeekByte (variable,0)<>5 Then Return 0 
                End Select       
            EndIf
            
            If _delete And variable Then 
                If MEMBlockSize(_stream)>=position+4 Then MemCopy _stream,position+4,_stream,position,MEMBlockSize(_stream)-position
                If Memstreamvariables>0 Then PokeInt _stream,1,Memstreamvariables-1
                If MEMBlockSize(_stream)=>9 Then ResizeMEMBlock _stream,MEMBlockSize(_stream)-4
            EndIf

            
            If variable Then
                If _return Then 
                    Return ReturnMem(variable,_callername$+"-> PopMem") 
                Else 
                    Return variable
                EndIf
            EndIf
            
            Return 0
            
        Else 
            MakeError "Error in PopMem called by  ("+_callername$+"): Wrong memtype. Use stream memtype."

        EndIf
    Else 
        MakeError "Error in PopMem called by  ("+_callername$+"): No memstream available"
    EndIf
End Function 

Function MakeMem(_type$="",_int=0,_float#=0.0,_string$="",_mem=0)
    If _mem<>0 Then DeleteMEMBlock _mem
    Select _type$
        Case "String", "Str", "$"
            _mem=MakeMEMBlock(3+Len(_string$))
            PokeByte _mem,0,1
            PokeShort _mem,1,Int(Len(_string$))
            For i=1 To Len(_string$)
                PokeByte _mem,3+(i-1),Asc(Mid(_string$,i,1))
            Next i
        Case "Int", "Integer", "%"
            _mem=MakeMEMBlock(1+4)
            PokeByte _mem,0,2
            PokeInt _mem,1,_int
        Case "Float", "Desimal", "#"
            _mem=MakeMEMBlock(1+4)
            PokeByte _mem,0,3
            PokeFloat _mem,1,_float#
        Case "Stream", "|"
            _mem=MakeMEMBlock(1+4)
            PokeByte _mem,0,4
            PokeInt _mem,1,0
        Case "Byte", "b"
            _mem=MakeMEMBlock(1+1)
            PokeByte _mem,0,5
            PokeByte _mem,1,Min(Max(_int,0),255)
        Default 
            MakeError "Invalid memtype: "+_type$+" Please use $ for strings, b for bytes, % for integers, # for floats and | for streams." 
    End Select 
    
    If _mem=0 Then MakeError "Error in MakeMem: No mem available"
    
    Return _mem
End Function 

Function ReturnMem(_mem,_callername$="")
    If _mem Then
        memtype=PeekByte (_mem,0)
        Select memtype
            Case 1
                memlen=PeekShort (_mem,1)
                txt$=""
                For i=1 To memlen
                    txt$=txt$+Chr(int(PeekByte (_mem,3+(i-1))))
                Next i
                Return Str(txt$)
            Case 2
                Return Int(PeekInt (_mem,1))
            Case 3
                Return Float(PeekFloat (_mem,1))
            Case 4
                Return Int(PeekInt (_mem,1))
            Case 5
                Return Int(PeekByte (_mem,1))
        End Select
        
    Else 
        MakeError "Error in ReturnMem called by ("+_callername$+"): No mem available"
    EndIf
    
End Function 

Function DeleteMem(_mem,_callername$="")
    If _mem Then

        If PeekByte (_mem,0)=4
            mems=PeekInt (_mem,1)
            For i=1 To mems
                If PeekInt (_mem,5+(i-1)*4) Then DeleteMEMBlock PeekInt (_mem,5+(i-1)*4)
            Next i
        EndIf
        
        DeleteMEMBlock _mem
        _mem=0
        Return _mem
    Else 
        MakeError "Error in DeleteMem called by ("+_callername$+"): No mem available"
    EndIf
End Function 
Jos joku sille vaikka käyttöä sattuisi keksimään.
Otto Martikainen a.k.a. MetalRain, otto90x, kAATOSade.
Runoblogi, vuodatusta ja sekoiluja.
nevssons
Devoted Member
Posts: 503
Joined: Sun Jan 13, 2008 5:02 pm

Re: Offtopic

Post by nevssons »

Olw1 wrote:Nyyssons käyttääki sitä itsepuolustukseen :)
Hyvää itsenäisyyspäivän aatonaattoa kaikille :mrgreen:
Joka nörtin itsepuolustus väline :)
Harrastan kyllä karatea, mutta onhan se kätevää kun ei tarvitse rasittaa itseään yhden yrmyn takia! :D
Ja alle 45€ maksavat pääse tullista ilman veroja.

Tässä on video siitä laaserista
EDIT:

mic: parasta ettei vanhempani kuule tuota :)

Koodarina kohtalainen, henkilönä vittumainen
Image
Olwi
Devoted Member
Posts: 557
Joined: Sun Dec 30, 2007 4:15 pm
Location: Muhos

Re: Offtopic

Post by Olwi »

Kiva lelu;D Mitenhän tuolla syttyis vaatteet? :twisted:

Tänään sain 70 euron palkinnon siitä että voitin sen matikkakisan;)
Huuda mun ip:tä!
nevssons
Devoted Member
Posts: 503
Joined: Sun Jan 13, 2008 5:02 pm

Re: Offtopic

Post by nevssons »

Olw1 wrote:Kiva lelu;D Mitenhän tuolla syttyis vaatteet? :twisted:
Varmaan vaatteet alkais vaan kytemään. Mutta tietääkö joku miten tää läppärin hiiri toimii? Miten se tunnistaa että siihen koskettaa elävä aine?
Koodarina kohtalainen, henkilönä vittumainen
Image
JATothrim
Tech Developer
Tech Developer
Posts: 606
Joined: Tue Aug 28, 2007 6:46 pm
Location: Kuopio

Re: Offtopic

Post by JATothrim »

Juma! Paras ( ja tehokkain ) "kynä" lazeri tähän mennessä, ja aivan hilpeän halpa! Rupesin miettimään miten vaivattomasti tuon saisi omaksi, eli ne laki jutut. Tuleeko kotia asti ilman ongelmia? :| Jos homma selviää tarpeeksi ajoissa, niin saattaa olla, että tuolla sytytetään uutena vuotena raketteja. ( langan ruuti syttyy luultavasti helpommin ku tulitikku :mrgreen: )
EDIT:

Nevsons: Öööh tosian miten se touchpad toimii? otta tosiaankin vain "elävästä", mm. kynnellä ei toimi. Ensin veikkasin että homma pelaa sähköllä, mutta sähköä johtavallakaan jutulla toimi. Veikkaan infrapuna säteilyä.

Last edited by JATothrim on Fri Dec 05, 2008 4:58 pm, edited 1 time in total.
-On selkeästi impulsiivinen koodaaja joka...
ohjelmoi C++:lla rekursiivisesti instantioidun templaten, jonka jokainen instantiaatio instantioi sekundäärisen singleton-template-luokan, jonka jokainen instanssi käynistää säikeen tulostakseen 'jea'.
User avatar
-Z-
Devoted Member
Posts: 682
Joined: Tue Aug 28, 2007 3:33 pm
Location: In ur danmaku, grazin ur bullets

Re: Offtopic

Post by -Z- »

nevssons wrote:
Olw1 wrote:Kiva lelu;D Mitenhän tuolla syttyis vaatteet? :twisted:
Varmaan vaatteet alkais vaan kytemään. Mutta tietääkö joku miten tää läppärin hiiri toimii? Miten se tunnistaa että siihen koskettaa elävä aine?
Se perustuu sähkönjohtavuuteen. Touchpad tunnistaa vain esineet jotka johtavat sähköä (esim. sormen, muttei viivoitinta ja sitä rataa) Korjatkaa toki jos olen väärässä (vähän tuntuu pikkasen siltä :P)
"Fallout 3 (#10) marked a shift in the industry, a move that saw the western RPG begin to surpass its Japanese counterparts." -IGN top 100 RPGs of all time
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Offtopic

Post by Koodiapina »

Nevssons: En ole asiaa tutkinut, mutta voisiko kyseessä olla jokin lämpötunnistus?

Kiva tuo laserisi, kannattaa tosiaan varoa ihmisten silmiä, koska se lasku ei ole siitä pienimmästä päästä. Ajattelin itsekkin pyytää joulupukilta laserlamppua tosin hieman turvallisempaa.
nevssons
Devoted Member
Posts: 503
Joined: Sun Jan 13, 2008 5:02 pm

Re: Offtopic

Post by nevssons »

Ei se ole lämmöstä tai sähkön johtavuudesta! Olen testannut avaimella ja lampulla, mutta kun otin (puun)lehden niin heti toimi! Ja se tunnistaa sormen vaatteen ja paperin läpi :|
EDIT:

Ja se laaseri tulee ihan ongelmitta perille.

Koodarina kohtalainen, henkilönä vittumainen
Image
JATothrim
Tech Developer
Tech Developer
Posts: 606
Joined: Tue Aug 28, 2007 6:46 pm
Location: Kuopio

Re: Offtopic

Post by JATothrim »

Göh. miten kävisi radioaktivisuus. Hiili-14 isotooppi näääs. Kokeileppa purkaa (ei ihan kokonaan sentään ) palovaroitin ja kokeile sillä :lol:
-On selkeästi impulsiivinen koodaaja joka...
ohjelmoi C++:lla rekursiivisesti instantioidun templaten, jonka jokainen instantiaatio instantioi sekundäärisen singleton-template-luokan, jonka jokainen instanssi käynistää säikeen tulostakseen 'jea'.
nevssons
Devoted Member
Posts: 503
Joined: Sun Jan 13, 2008 5:02 pm

Re: Offtopic

Post by nevssons »

Dark Code wrote:Göh. miten kävisi radioaktivisuus. Hiili-14 isotooppi näääs. Kokeileppa purkaa (ei ihan kokonaan sentään ) palovaroitin ja kokeile sillä :lol:
SEHÄN SE! Testasin ja toimi! Mysteeri ratkaistu.
Koodarina kohtalainen, henkilönä vittumainen
Image
KilledWhale
Tech Developer
Tech Developer
Posts: 545
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: Offtopic

Post by KilledWhale »

Kyllä tuo ihan johtavuudella tuntuu pelaavan. Kokeilin pinseteillä ja kyllä ainakin tässä koneessa toimi.
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
JATothrim
Tech Developer
Tech Developer
Posts: 606
Joined: Tue Aug 28, 2007 6:46 pm
Location: Kuopio

Re: Offtopic

Post by JATothrim »

WUT!?! ihan oikeesti? :lol: LOL (<- todella isolla) empä olisi arvannut tuota! No nyt jokaisella kannettavan omistajalla on eräänlainen "geigermittari" käytössä. :mrgreen: TouchPadeja on monen laisia, yksi padi ottaa jo ilmasta liikkeitä toinen, niin kuin minulla, vasta kosketuksesta. KilledWhale: pinsettisi olivat radioaktiiviset siksi ne toimi, suosittelen että valat ne pikaisesti lyijyyn...
Last edited by JATothrim on Fri Dec 05, 2008 5:31 pm, edited 1 time in total.
-On selkeästi impulsiivinen koodaaja joka...
ohjelmoi C++:lla rekursiivisesti instantioidun templaten, jonka jokainen instantiaatio instantioi sekundäärisen singleton-template-luokan, jonka jokainen instanssi käynistää säikeen tulostakseen 'jea'.
User avatar
-Z-
Devoted Member
Posts: 682
Joined: Tue Aug 28, 2007 3:33 pm
Location: In ur danmaku, grazin ur bullets

Re: Offtopic

Post by -Z- »

Tulee mieleen eräs harvinaisen paikkansa pitävä sananlasku: "Miksi lähteä merta edemmäs kalaan?"
http://en.wikipedia.org/wiki/Touchpad

Edit: Voi jeesus, ei kai joku teistä perkeleistä käynyt mutuilemassa wiki-vitun-pediaan?!
wikipedia wrote:Miten kosketuslevyt toimii?

Kosketuslevyt mittaavat radioaktiivisuutta, jota elävästä aineesta säteilee.
http://fi.wikipedia.org/wiki/Kosketuslevy
"Fallout 3 (#10) marked a shift in the industry, a move that saw the western RPG begin to surpass its Japanese counterparts." -IGN top 100 RPGs of all time
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Offtopic

Post by Awaclus »

Miten muuten määritellään "peli"? Nyky-Suomen sivistyssanakirja ei antanut mitään vastausta ja mistään muualtakaan en löytänyt.
Ozcar
Advanced Member
Posts: 439
Joined: Mon Aug 27, 2007 8:43 pm
Location: Helsinki

Re: Offtopic

Post by Ozcar »

Mikä vattu tässä maassa on vialla? http://fi.wikipedia.org/wiki/Peli. Ei se ole sen vaikeampaa tökätä sitä kysymystä wikipediaan kuin tänne foorumeille. Ja wikipedian-artikkelista, se kosketuslevy ei aisti sähkönjohtavuutta vaan sähkövarauksen. Eli varautuneilla pinseteillä toimii (radioaktiivisuutta, hyvä ihme..).
Ratkaisit juuri universaaliongelman! Hienoa, ota keksi.

Filosofia on ajattelun taidetta, mutta sen maalari elää juoden apurahojaan masennukseensa.
mikeful
Moderator
Moderator
Posts: 523
Joined: Mon Aug 27, 2007 8:36 pm
Location: Vaasa, Finalnd
Contact:

Re: Offtopic

Post by mikeful »

Viikonloppu alkaa ja offtopic-ketjun huumoriarvo lisääntyy merkittävästi. :D
Pelejä: Pelasta puhe, Grinder
Muuta: Blogi, Twitter
Locked