| FAQ | Szukaj | Użytkownicy | Grupy | Rejestracja | Zaloguj |


Poprzedni temat «» Następny temat
Programowanko
Autor Wiadomość
baczus 
Administrator
Revolutionaries Wait


Nick na CM: hejo
Posty: 674
Skąd: Zakopane/KrakĂłw
Wysłany: 2009-05-06, 14:31   Programowanko

Umiecie coś programować? W jakich językach. Ja znam tak średnio PHP, a chętnie zajął bym się C++ albo C oraz J2ME. Jakie książki polecacie do tych języków, do Javy już znalazłem?
_________________
-'
 
     
omen 
Thing That Should Not Be


Nick na CM: omen10
Posty: 578
Skąd: Nie wiem
Wysłany: 2009-05-06, 15:22   

Instaluję z płyty KŚ Ekspert Turbo Delphi Eksplorer i Delphi 2007 :) A co do C++ to się zastanowię.
_________________
 
 
     
baczus 
Administrator
Revolutionaries Wait


Nick na CM: hejo
Posty: 674
Skąd: Zakopane/KrakĂłw
Wysłany: 2009-05-06, 15:40   

Jak nie masz konkretnego zastosowania z C++ to lepiej C, łatwiejsze (chyba, bo nie umiem ;p)
_________________
-'
 
     
Hawkeye 
Moderator na emeryturze
Tata Psychopata


Nick na CM: smalltomasz
Posty: 503
Skąd: Od rzeĹşnika wracam
Wysłany: 2009-05-06, 16:43   

Jeżeli chodzi o książki do C++ to polecam Symfonię C++ Grębosza. Książka jest w dwóch tomach. Dokładne, przystępne opisy. W sam raz dla początkujących. No i jak na książki z tego kręgu jest tania. Po każdym rozdziale są ćwiczenia (bardzo często typu: napisz program..., które pomagają w utrwalaniu wiedzu. Naprawdę warte swojej ceny!

C++ najkrócej mówiąc to rozszerzony C. W Symfonii autor opisał pewne różnice między tymi językami i jakoś nie wydaje mi się, żeby C był prostszy.

No i zamierzam nauczyć się programować w tym. Muszę znaleźć tylko trochę czasu. Podstawy jakieś mam... Fajnie, że ktoś założył ten temat, może będzie z kim podyskutować.
_________________
A nurse! a nurse! My kingdom for a nurse!
 
     
Kiepan 
Moderator
Muzyk

Nick na CM: Adik000
Posty: 199
Skąd: Otwock
Wysłany: 2009-05-06, 20:39   

Cośtam w C++ kiedyś. Ostatnio zająłem się Pythonem i bardzo mi się podoba. Napisałem w nim niedorozwiniętego ponga ;p i ostatnio bawiłem się z polchatem.

http://rapidshare.com/files/176016234/Pong.zip
SZPAN MODE ON!
Kod:
#!/usr/bin/python
#-*- coding: utf-8 -*-


from string import *
from socket import *
from struct import *

#Budujemy pakiet!
class BudujPakieta():
   
    def __init__(self, socket, user, pwd, pokoj, referrer, serwer, konfig, klient):
        self.pokoj = pokoj
        self.serwer = serwer
        self.referrer = referrer
        self.user = user
        self.pwd = pwd
        self.konfig = konfig
        self.klient = klient
        self.tresc = ''
        self.s = socket
        self.ilosc_userow = 0

    def login(self):
        data = pack('!hhh', 1, 8, 1400)    #Nagłówek (bez długości pakietu)
        data += pack('!h', len(self.user))    #Długość nazwy uzytkownika
        for i in self.user: data += pack('c', i)    #Nazwa uzytkownika
        data += pack('!xh', len(self.pwd))    #Pusty bajt i długość hasła
        for i in self.pwd: data += pack('c', i)    #Hasło
        data += pack('!xxxxh', len(self.pokoj))    #Cookies (nieuzywane - puste) i długość nazwy pokoju
        for i in self.pokoj: data += pack('c', i)    #Nazwa pokoju
        data += pack('!xh', len(self.referrer))    #Długość nazwy referrera
        for i in self.referrer: data += pack('c', i)     #Referrer
        data += pack('!xh', len(self.serwer)) #Długość nazwy serwera
        for i in self.serwer: data += pack('c', i)    #Serwer
        data += pack('!xh', len(self.konfig))    #Długość konfiga
        for i in self.konfig: data += pack('c', i)    #Konfig
        data += pack('!xh', len(self.klient))    #Długość nazwy klienta
        for i in self.klient: data += pack('c', i)    #Klient
        data += pack('!x')        #Kończymy pustym bajtem...
        dlugosc = len(data)+4        #...a zaczynamy...
        data = pack('!i', dlugosc)+data    #...długością pakietu
        self.s.send(data)

    def wyslij(self):                    #Pakiet wysyłanej wiadomości
        data = pack('!hhh', 1, 2, 410)
        data += pack('!h', len(self.tresc))    #Główny człon pakietu - ilość intĂłw, ilość stringĂłw, id i długość wiadomości
        for i in self.tresc: data += pack('c', i)    #Dodajemy treść
        data += pack('!xh', len(self.pokoj)) #oraz pustego bajta i długość nazwy pokoju
        for i in self.pokoj: data += pack('c', i)    #Teraz nazwa pokoju
        data += pack('!x')        #Kończymy pustym bajtem...
        dlugosc = len(data)+4        #...a zaczynamy...
        data = pack('!i', dlugosc)+data    #...długością pakietu
        self.s.send(data)
   
    def ping(self):
        data = pack('!ihhh', 10, 1, 0, 1)
        return data

    def pong(self):
        data = pack('!ihh', 8, 0, 0)
        self.s.send(data)

    def disco(self):
        self.tresc = '/quit'
        self.wyslij()
       
    def reco(self):
        self.disco()
        self.s.close
        self.s.connect((self.serwer, self.port))
        self.login()


class OdbierzPakieta():
   
    def __init__(self, data):   
        self.tresc_odb = ''
        self.dlugosc = 0
        self.ile_int = 0
        self.ile_str = 0
        self.ajdi = 0
        self.nazwa_pokoju = ''
        self.data = data
        self.dlugosc_tresci = 0
        self.dlugosc_nazwy_pokoju = 0
        self.il_userow = 0


    def czytaj_naglowek(self):
        tresc_odb = ''
        self.dlugosc = unpack('!i', self.data[:4])[0]
        self.data = self.data[4:]
        self.ile_int = unpack('!h', self.data[:2])[0]
        self.data = self.data[2:]
        self.ile_str = unpack('!h', self.data[:2])[0]
        self.data = self.data[2:]
        self.ajdi = unpack('!h', self.data[:2])[0]
        self.data = self.data[2:]
        return self.ajdi

    def czytaj_tresc(self):   
        self.dlugosc_tresci = unpack('!h', self.data[:2])[0]
        self.data = self.data[2:]
        i = 0
        while i < self.dlugosc_tresci:
            self.tresc_odb += unpack('!s', self.data[:1])[0]
            self.data = self.data[1:]
            i += 1
        self.dlugosc_nazwy_pokoju = unpack('!h', self.data[:2])[0]
        self.data = self.data[2:]
        i = 0
        while i < self.dlugosc_nazwy_pokoju:
            self.nazwa_pokoju += unpack('!s', self.data[:1])[0]
            self.data = self.data[1:]
            i +=1
        return self.tresc_odb

    def czytaj_userliste(self):
        self.il_userow = (self.ile_str)/2
        self.data = self.data[8:]
        i = 0
        return self.il_userow               
           

user = 'K_Bot'
pwd = ''
pokoj = 'cm_offline'
referrer = 'http://polchat.pl/chat.php?_room=cm_offline'
serwer = 's1.polchat.pl'
konfig = 'nlst=1&nnum=1&jlmsg=true&ignprv=false'
klient = 'K_Bot'
port = 14003


s = socket(AF_INET, SOCK_STREAM)
s.connect((serwer, port))
pakiet = BudujPakieta(s, user, pwd, pokoj, referrer, serwer, konfig, klient)
pakiet.login()
f = open('log.html', 'w')
f.write ('<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"></head>')
f.close()
while 1:
    try:
        data_odb = s.recv(1024)
        o = OdbierzPakieta(data_odb)
        ajdi = o.czytaj_naglowek()
        if ajdi == 1: pakiet.pong()
       
       


        if ajdi == 610:
            tresc_o = o.czytaj_tresc()
            f = open('log.html', 'a')
            f.write(tresc_o + '<br>')
            f.close()
            print tresc_o
            if find(tresc_o, 'Ukradli mi auto!') > 10:
                pakiet.tresc = 'Nie mogę Ci pomĂłc... JESTEM BOTEM'
                pakiet.wyslij()

            if find(tresc_o, '!playdead') > 10:
                pakiet.tresc = '/me <b>zdechł</b>'
                pakiet.wyslij()
   
            if find(tresc_o, '<font color=orange>** przychodzi <b>') == 0:
                pakiet.tresc = 'Witaj, '+tresc_o[36:find(tresc_o, '</b>')]+'!'
                pakiet.wyslij()

            if find(tresc_o, '!info') > 10:
                pakiet.tresc = 'K_Bot v0.69 by Kiepan. Jeszcze nic nie potrafię... :('
                pakiet.wyslij()
   

    except:
        s.close()
        s.connect((serwer, port))
        pakiet.login()
        f = open('log.html', 'a')
        f.write('<b>***ROZŁĄCZYŁO***</b><br>')
        f.close()

SZPAN MODE OFF!
Mozna to wykorzystac rowniez jako modul do Pythona. Bede jeszcze robil funkcje do odczytywania userlisty. Korzystajcie z tego jak chcecie.

PS Jak widac komentowanie mi sie znudzilo, wiec tylko poczatek jest skomentowany.
 
 
     
musialmati 
"Coś Wiem" Winner
Obronca moralnosci


Nick na CM: kahn39/musialmati
Posty: 1468
Skąd: Wroclaw
Wysłany: 2009-05-06, 21:12   

Leee, myslalem ze to w exe i se pogram :F
_________________
 
 
     
Kiepan 
Moderator
Muzyk

Nick na CM: Adik000
Posty: 199
Skąd: Otwock
Wysłany: 2009-05-08, 16:10   

http://python.org/ftp/pyt...ython-2.6.2.msi
http://pygame.org/ftp/pyg...win32-py2.6.msi

Tylko uwazaj, kod jest zwalony ;p i jak dojedziesz paletka do krawedzi, to wylazi za ekran ;p Mozesz oczywiscie wrocic.

No i jak Ci sie nie uda wygrac, to zmien w kodzie pewna piatke na jakas wieksza liczbe - to przez to, ze jestem slaby w tworzeniu AI ;p
 
 
     
eee 

Posty: 58
Skąd: /home
Wysłany: 2009-05-08, 19:10   

A na Linuksie jak to uruchomic?
_________________




 
     
Kiepan 
Moderator
Muzyk

Nick na CM: Adik000
Posty: 199
Skąd: Otwock
Wysłany: 2009-05-08, 22:26   

Jak masz Ubuntu 9.04 (bo masz, nie?), to Pythona tez juz masz. Sciagasz pygame'a (jest w repo, wiec instalacja jest bezproblemowa). Potem w konsoli przechodzisz do katalogu z gra i dalej:
Kod:
chmod +x pong.py
./pong.py

pierwsza linijka to nadanie praw do wykonywania, czy jakos tak (w sensie, ze pozwalasz temu programowi sie uruchamiac), a druga to samo uruchomienie (z reszta, tak uruchamiasz kazdy skrypt na linuksie)
 
 
     
baczus 
Administrator
Revolutionaries Wait


Nick na CM: hejo
Posty: 674
Skąd: Zakopane/KrakĂłw
Wysłany: 2009-05-12, 19:10   

Ja mam takie pytanko do PHP. Co to są klasy i obiekty, tzn. czy mógł by ktoś wytłumaczyć prostymi słowami?
_________________
-'
 
     
rafikomp 
TurboDymoMan

Posty: 242
Skąd: o tam ---->
Wysłany: 2009-05-16, 20:42   

Ja chyba będę się szkolił w Visual Basic'u.
_________________
 
     
lsudny 


Nick na CM: DJ_Pekka 19
Posty: 419
Skąd: about:blank
Wysłany: 2009-05-17, 11:31   

Ja kiedyś robiłem takie pierdoły w Q-Basicu z gotowych szablonów ^^ Próbowałem też swoich sił w HTML'u i PHP, ale już się tym nie interesuję :P
_________________
http://www.lastfm.pl/music/Mr+Hurricane/ | http://www.soundcloud.com/mr-hurricane/ | http://lsudny.blogspot.com/
 
 
     
Kiepan 
Moderator
Muzyk

Nick na CM: Adik000
Posty: 199
Skąd: Otwock
Wysłany: 2009-11-24, 21:16   

Szpan mode: ON

Moduł do pythona, pozwalający w pełni korzystać z API Grona - Testować proszę :]

Ukryta Wiadomość:
Jeśli jesteś *zarejestrowanym użytkownikiem* musisz odpowiedzieć w tym temacie żeby zobaczyć tą wiadomość
--- If you are a *registered user* : you need to post in this topic to see the message ---



A to przykład (korzystający ze wszystkich funkcji modułu)
Ukryta Wiadomość:
Jeśli jesteś *zarejestrowanym użytkownikiem* musisz odpowiedzieć w tym temacie żeby zobaczyć tą wiadomość
--- If you are a *registered user* : you need to post in this topic to see the message ---



SZPAN MODE: OFF

:]

A, jeszcze jak to odpalic.

Musimy miec pythona.
Wklejamy kod do notatnika i pierwszy zapisujemy jako 'pygrono.py', drugi jakkolwiek z rozszerzeniem 'py'.
Edytujemy zmienne, tak jak nam to odpowiada (to co jest miedzy apostrofami wklepujemy w apostrofach, a to co nie (czyli liczby), piszemy bez).
Odpalamy drugi skrypt jak wszystko, co w pythonie :]

Ukryta Wiadomość:
Jeśli jesteś *zarejestrowanym użytkownikiem* musisz odpowiedzieć w tym temacie żeby zobaczyć tą wiadomość
--- If you are a *registered user* : you need to post in this topic to see the message ---
Ostatnio zmieniony przez do usuniecia 2009-11-24, 22:09, w całości zmieniany 1 raz  
 
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group