Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1151 Le 20/07/2011, à 03:43

samυncle

Re : /* Topic des codeurs couche-tard [5] */

Bon je vais continuer ma modélisation demain. Va falloir ouvrir le topic des graphistes couches tards tongue


Hello world

Hors ligne

#1152 Le 20/07/2011, à 03:55

Pylades

Re : /* Topic des codeurs couche-tard [5] */

samuncle a écrit :
Πυλάδης a écrit :

(message éphémère)

maintenant non wink

Gna gna gna ! mad


tongue


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1153 Le 20/07/2011, à 05:23

grim7reaper

Re : /* Topic des codeurs couche-tard [5] */

Hello World!



The Uploader a écrit :

wouhou! \o/
[…]
Output:
http://pix.toile-libre.org/upload/img/1311117932.png
\o/ (oui j'ai oublié la colorkey, et le 'undraw' tongue )

dodo! smile

T'aurais pas oublié quelque chose dans le dépôt par hasard :] ?

/usr/lib/ruby/gems/1.9.1/gems/rubygame-2.6.4/lib/rubygame/image.rb:82:in `load': Couldn't load image "./data/start_menu.png": Couldn't open ./data/start_menu.png (Rubygame::SDLError)

Hors ligne

#1154 Le 20/07/2011, à 06:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [5] */

Scores totaux, depuis le début :

1) 3833    nesthib
2) 3338    samuncle
3) 3281    Πυλάδης
4) 2459    Кຼزດ
5) 1939    cm-t
6) 1800+5  grim7reaper /* ./viewtopic.php?pid=3486252#p3486252 */
7) 1511    na kraïou
8) 869    helly
9) 862    \\Ouranos//
10) 722    tshirtman
11) 659    gnuuat
12) 565    Lagierl
13) 445    Rolinh
14) 428    nathéo
15) 412    The Uploader
16) 271    Kanor
17) 202    :!pakman
18) 196    Askelon
19) 121    ǤƦƯƝƬ
20) 99    kamui57
21) 93    petifrancais
22) 78    edge_one
22) 78    pierguiard
24) 70    gulp
25) 45    Le Rouge
26) 42    sakul
27) 39    HP
28) 37    ilagas
29) 36    xapantu
30) 30    keny
30) 30    Atem18
32) 26    gustare
32) 26    d10g3n
34) 25    GentooUser
34) 25    Morgiver
36) 24    ไ୦บเઢ'
36) 24    Steap
38) 20    CROWD
39) 18    Ph3nix_
40) 16    kouskous
41) 15    timsy
42) 12    stratoboy
42) 12    sailing
44) 11    alexises
44) 11    Crocoii
46) 10    Toineo
46) 10    NutMotion
46) 10    pseudovingtcinqcaracteres
46) 10    pfriedZ
46) 10    CasseTaTele
46) 10    Zeibux
46) 10    THS`
46) 10    golgoth42
54) 8    Mornagest
55) 7    Vista
56) 6    ubuntlin
56) 6    asma.geek
58) 5    tendances-tdct
58) 5    kinouchou
60) 4    danychou56
60) 4    Neros
60) 4    Biaise
60) 4    totoflute
60) 4    pinballyoda ㋛
60) 4    NLS le pingouin
60) 4    ceric
60) 4    Dice-Man
60) 4    Pylade
69) 3    Revan26914
69) 3    raspouillas
69) 3    sweetly
72) 2    SoJaS
73) 1    geenux
73) 1    ArzhurBZH

RépartitionPosts/heure


Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#1155 Le 20/07/2011, à 06:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [5] */

Scores de la période en cours :

1) 190    nesthib
2) 166    Πυλάδης
3) 140    cm-t
4) 132    Кຼزດ
5) 131    na kraïou
6) 107    samuncle
7) 75    tshirtman
8) 67    grim7reaper
9) 39    HP
10) 30    Atem18
11) 27    The Uploader
12) 10    nathéo
12) 10    golgoth42
14) 5    Rolinh
15) 3    helly

Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#1156 Le 20/07/2011, à 07:33

The Uploader

Re : /* Topic des codeurs couche-tard [5] */

grim7reaper a écrit :

Hello World!



The Uploader a écrit :

wouhou! \o/
[…]
Output:
http://pix.toile-libre.org/upload/img/1311117932.png
\o/ (oui j'ai oublié la colorkey, et le 'undraw' tongue )

dodo! smile

T'aurais pas oublié quelque chose dans le dépôt par hasard :] ?

/usr/lib/ruby/gems/1.9.1/gems/rubygame-2.6.4/lib/rubygame/image.rb:82:in `load': Couldn't load image "./data/start_menu.png": Couldn't open ./data/start_menu.png (Rubygame::SDLError)

ah ouais! >_< Mais git n'aime pas trop les binaires. Je devrais au moins les mettre dans une branche à part, non ?


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1157 Le 20/07/2011, à 07:53

grim7reaper

Re : /* Topic des codeurs couche-tard [5] */

The Uploader a écrit :

ah ouais! >_< Mais git n'aime pas trop les binaires.

Ha bon o_O ?
En quoi ça le dérange ?

The Uploader a écrit :

Je devrais au moins les mettre dans une branche à part, non ?

Je ne sais pas (moi je les laisserais avec le code, mais bon je ne connais pas vraiment git), mais faut que ça soit dispo quelque part sinon ça limite beaucoup l'intérêt de ton code tongue

Dernière modification par grim7reaper (Le 20/07/2011, à 07:54)

Hors ligne

#1158 Le 20/07/2011, à 08:00

The Uploader

Re : /* Topic des codeurs couche-tard [5] */

Bah versionner des binaires, les diff ne servent à rien, déjà. tongue
git est pensé uniquement pour versionner des fichiers texte, surtout dans ses algos de compression, etc...
Et puis bonjour la durée des checkouts et le code review.. >_<
'fin c'est sûr que mon code sert à rien sans les binaires..

http://stackoverflow.com/questions/5405 … s-with-git

Y'a bien un fork de git pour gérer des binaires, mais je vais plutôt suivre la soluce ci-dessus ('git submodule' semble-t-il). 'fin bref, un sous-dépôt git pour les binaires semble être la voie.

edit: c'est fait :

git clone git@gitorious.org:gauge/data.git

smile

Par contre, faut attendre un peu, ça upload encore.. tongue

Dernière modification par The Uploader (Le 20/07/2011, à 08:08)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1159 Le 20/07/2011, à 08:10

grim7reaper

Re : /* Topic des codeurs couche-tard [5] */

Bah ouais mais tu modifies rarement tes images en hexa, donc il a pas besoin de faire des diff, du versionning ou autre.
Il a juste à en garder une trace dans la liste des fichiers...
Bon pour la compression ok, là c'est un bémol mais bon le PNG/JPEG/etc c'est déjà compressé donc à moins que tu n'utilises du bitmap la compression est inutile....


Mais ouais, le coup du submodule semble pas mal.

Hors ligne

#1160 Le 20/07/2011, à 08:15

The Uploader

Re : /* Topic des codeurs couche-tard [5] */

[128] max@max-laptop> git push origin master                   ~/Dev/gauge/data
Counting objects: 813, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (812/812), done.
Writing objects: 39% (321/813), 38.61 MiB | 92 KiB/s

:]

Dernière modification par The Uploader (Le 20/07/2011, à 08:15)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1161 Le 20/07/2011, à 09:45

The Uploader

Re : /* Topic des codeurs couche-tard [5] */

tshirtman a écrit :

tout ça pour ça? tongue

Ben ouais pour l'instant le pattern listener semble un peu en faire trop pour afficher uniquement un mouse sprite. tongue

Mais à terme, je pense que ça réduira fortement le code..(ça se voit déjà : ça m'a permis d'utiliser la reflection dans le module listener, plutôt que d'avoir des dizaines de event.is_a?(Rubygame::Events::EventType) dans la méthode update des du sprite qui l'incorporent) surtout que même si je vais utiliser sûrement un Rubygame::Sprites::Group dans main.rb, tous les sprites du groupe ne seront pas forcément à mettre à jour et dessiner à chaque update (toutes les unités ne seront pas forcément à l'écran à tous les instants du jeu..). 'fin je verrais bien, rien n'est figé. smile

'fin bref j'essaie d'éviter de pisser du code et de me retrouver avec du spaghetti (: pas du tout structuré, plein de if/switch..), sans pour autant faire des nouveaux objets/patterns partout (ça aussi c'est mal).

Dernière modification par The Uploader (Le 20/07/2011, à 10:03)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1162 Le 20/07/2011, à 13:12

Pylades

Re : /* Topic des codeurs couche-tard [5] */

O_o", tu les fais comment les sous-dépôts Git ? yikes


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1163 Le 20/07/2011, à 13:15

The Uploader

Re : /* Topic des codeurs couche-tard [5] */

dans un dépôt git:

mkdir dir && cd ./dir && git init

c'tout. Il n'y a qu'un seul dossier .git par dépôt. En fait, c'est juste un dépôt dans un sous dossier d'un dépôt, pas de relation effective entre les deux en ce qui concerne git (ça ne m'a pas évité de devoir rajouter /data au .gitignore du dépôt du dossier parent).

git est vraiment un "stupid content tracker". wink

Dernière modification par The Uploader (Le 20/07/2011, à 13:30)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1164 Le 20/07/2011, à 13:55

The Uploader

Re : /* Topic des codeurs couche-tard [5] */

15h! yikes

Mais il y a 5 minutes il était 9h40! mad

(l'effet Ruby..)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1165 Le 20/07/2011, à 14:09

Pylades

Re : /* Topic des codeurs couche-tard [5] */

@ The Uploader : ah, OK, c’est tout simple en fait. ^^

#!/usr/bin/python
#coding=utf-8

# newcmpt.py: counts every day the points earned on the TdCT…

# Author: P*** B****, from previous work by G****** P******
# License: GPLv3+

class Post(object):
    def __init__(self, uid=0, name='void', points=0):
        self.uid = uid
        self.name = name
        self.points = points

class Entry(object):
    def __init__(self, uid=0, name='void', points=0):
        self.uid = uid
        self.name = name
        self.points = points
    def __add__(self, other):
        if type(other) == type(Post()):
            if other.uid == self.uid:
                res = Entry()
                res.uid = self.uid
                res.name = other.name
                res.points = self.points + other.points
            else:
                raise ValueError('only operands with the same UID can '
                        'be added')
        else:
            raise TypeError('unsupported operand type(s) for +: '
                    + str(type(self)) + ' and ' + str(type(other)))

data = [
    Post(5, 'Foo', 4),
    Post(14, 'Bar', 4),
    Post(5, 'Foo', 5),
    Post(69, 'Baz', 5),
    Post(14, 'Bar', 6),
    Post(69, 'Baz', 6),
    Post(14, 'Bar', 10),
]

#for post in data:
#

Oui, je recommence le compteur depuis zéro, en prenant en compte les UID pour avoir des changements de pseudos transparents. tongue


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1166 Le 20/07/2011, à 14:14

tshirtman

Re : /* Topic des codeurs couche-tard [5] */

J'attends de voir ta solution pour les fuseaux horaires ^^

bon courage en tout cas, je suis sur qu'il y a moyen de faire mieux que le mien smile

Hors ligne

#1167 Le 20/07/2011, à 15:12

Pylades

Re : /* Topic des codeurs couche-tard [5] */

On verra comment je ferai, je crois que j’ai une piste. smile

Enfin bon, ça ne va pas se faire tout seul non plus, j’ai déjà envie de supprimer une partie de ce que j’ai écrit. ^^


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1168 Le 20/07/2011, à 15:14

tshirtman

Re : /* Topic des codeurs couche-tard [5] */

si t'as envie, fait le tout de suite smile ça fera moins à refaire plus tard smile

Hors ligne

#1169 Le 20/07/2011, à 18:02

Pylades

Re : /* Topic des codeurs couche-tard [5] */

C’est fait. tongue

/me en mode galère avec BeautifulSoup, une fois que j’ai récupéré le « pagelink conl », je n’arrive pas à sélectionner celui qui contient le texte « Suiv. » (ben oui, pouvoir se baser sur un post plutôt qu’un numéro de page, c’est bien). firstText ne me donne que le texte recherché, pas le tag, du coup ça n’a aucun intérêt…


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1170 Le 20/07/2011, à 21:28

cm-t

Re : /* Topic des codeurs couche-tard [5] */

'Nuit;


Actu Ubuntu            ☺/
Pauses Ubuntu sur Paris            \_< -t
[(π)] La Quadrature du net

Hors ligne

#1171 Le 20/07/2011, à 23:08

The Uploader

Re : /* Topic des codeurs couche-tard [5] */

diff --git a/lib/listener.rb b/lib/listener.rb
index 210bc12..12ef4b9 100644
--- a/lib/listener.rb
+++ b/lib/listener.rb
@@ -1,8 +1,9 @@
 module Gauge
     module Listener
-        def initialize(game)
+        def initialize_listener(game)
             @game = game
             @subscriptions = []
+            super if defined?(super)
         end
 
         def subscribe(event)
diff --git a/lib/mouse_sprite.rb b/lib/mouse_sprite.rb
index b8d4732..0c7f029 100644
--- a/lib/mouse_sprite.rb
+++ b/lib/mouse_sprite.rb
@@ -4,27 +4,23 @@ require "rubygame"
 
 module Gauge
     class MouseSprite
+        include Rubygame::Sprites::Sprite
         include Listener
-        include Rubygame::Sprites
         def initialize(game)
-            super
+            initialize_listener(game)
+            super()
             @image=Rubygame::Surface.load("./data/mouse.png")
             @rect=@image.make_rect
             @game.screen.show_cursor=false
             subscribe(Rubygame::Events::MouseMoved)
         end
 
-        def update
-            @rect.topleft=@event.pos
-        end
-
-        def draw
-            @image.blit(@game.screen,@rect)
+        def draw(on_surface)
+            @image.blit(on_surface, @rect)
         end
 
         def mousemoved
-            update
-            draw
+            @rect.topleft=@event.pos
         end
     end
 end
diff --git a/main.rb b/main.rb
index cd1f6c7..ca5d854 100755
--- a/main.rb
+++ b/main.rb
@@ -10,6 +10,7 @@ module Gauge
     class Game
         attr_accessor :obs_queue
         attr_accessor :screen
+        attr_accessor :background
         def initialize
             @screen = Rubygame::Screen.open([640, 480], 0, [Rubygame::HWSURFACE, Rubygame::DOUBLEBUF])
             @screen.title = "Gauge"
@@ -23,16 +24,23 @@ module Gauge
             @clock.target_framerate=10
             @clock.calibrate
             @clock.enable_tick_events
-            @mouse=MouseSprite.new(self)
+            @sprites=Rubygame::Sprites::Group.new
+            Rubygame::Sprites::UpdateGroup.extend_object @sprites
+            1.times do @sprites << MouseSprite.new(self) end
         end
 
         def run
             loop do
+                undraw
                 update
                 draw
             end
         end
 
+        def undraw
+            @sprites.undraw(@screen, @background)
+        end
+
         def update
             seconds_passed=@clock.tick().seconds
             @event_queue.each do |event|
@@ -47,6 +55,7 @@ module Gauge
         end
 
         def draw
+            @sprites.draw(@screen)
             @screen.flip
         end

Et hop! Plus de traînés du sprite de la souris sur l'écran, c'est propre! \o/
1311199916.png
edit : ah tiens, sauf quand la fenêtre perd le focus.. logique! >_<

Dernière modification par The Uploader (Le 20/07/2011, à 23:12)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1172 Le 21/07/2011, à 00:22

samυncle

Re : /* Topic des codeurs couche-tard [5] */

COMPILE THIS:

main(k){float i,j,r,x,y=-16;while(puts(""),y++<15)for(x
=0;x++<84;putchar(" .:-;!/>)|&IH%*#"[k&15]))for(i=k=r=0;
j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);}

source

/me n'est pas responsable wink

Dernière modification par samuncle (Le 21/07/2011, à 00:23)


Hello world

Hors ligne

#1173 Le 21/07/2011, à 01:25

Кຼزດ

Re : /* Topic des codeurs couche-tard [5] */

je suis contre


dou

Hors ligne

#1174 Le 21/07/2011, à 02:03

nesthib

Re : /* Topic des codeurs couche-tard [5] */

plop


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#1175 Le 21/07/2011, à 02:20

Sir Na Kraïou

Re : /* Topic des codeurs couche-tard [5] */

Æ


Descendant de Charlemagne et de LUCA.
Bleu, en l'hommage d'un truc bleu. :'(
C'est pas du bleu.
C'est pas le lac de Genève, c'est le Lac Léman.

Hors ligne