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.

#2401 Le 01/02/2012, à 13:33

tshirtman

Re : /* Topic des codeurs [6] */

Oui oui, c'est ce qui m'a piégé, j'essaye de coder "à la ruby" en virant tout "l'inutile" mais je n'avais pas pensé que ça pourrait causer ce genre de soucis. Les syntaxes ambiguës c'est le mal…

Hors ligne

#2402 Le 01/02/2012, à 13:40

The Uploader

Re : /* Topic des codeurs [6] */

Oui du coup je met toujours les parenthèses désormais..

*regarde son code*


... ou en tout cas plus souvent. tongue

Dernière modification par The Uploader (Le 01/02/2012, à 13:43)


- 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

#2403 Le 02/02/2012, à 02:40

The Uploader

Re : /* Topic des codeurs [6] */

classe Point :
(oui il y a Rubygame::FTor qui aurait presque pu convenir, mais c'est pas ce que je veux. Et Rubygame::Rect est bien pour savoir la position d'un sprite et détecter les collisions, mais c'est tout)

Comportement à atteindre (enfin surtout pour la normalisation, mais le reste va avec) :

doc Flash sur flash.geom.Point a écrit :

normalize (Point.normalize method)

public normalize(length: Number) : Void


Scales the line segment between (0,0) and the current point to a set length.

Availability: ActionScript 1.0; Flash Player 8

Parameters

length: Number - The scaling value. For example, if the current point is (0,5), and you normalize it to 1, the point returned is at (0,1).

Example

The following example extends the length of the normalizedPoint object from 5 to 10.

import flash.geom.Point;
var normalizedPoint:Point = new Point(3, 4);
trace(normalizedPoint.length); // 5
trace(normalizedPoint.toString()); // (x=3, y=4)
normalizedPoint.normalize(10);
trace(normalizedPoint.length); // 10
trace(normalizedPoint.toString()); // (x=6, y=8)

http://help.adobe.com/en_US/AS2LCR/Flas … 01443.html

La normale sera utilisé par les bots pour leur direction vers un point (en fait c'est toujours la normale sur 1 pour éviter qu'ils se téléportent.. En tout cas c'est comme ça dans le code ActionScript. J'pense que je risque d'avoir le même problème d'où l'implémentation de cette classe).

Implémentation Ruby :

module SMA_FIGHT
  module Lib
    class Point
      attr_reader :x
      attr_reader :y
      def initialize(x = 0, y = 0)
        @x = x
        @y = y
      end

      def Point.distance(point, other_point)
        a = (point.x - other_point.x).abs
        b = (point.y - other_point.y).abs
        if a == 0 and b > 0
          return b
        end
        if b == 0 and a > 0
          return a
        end
        return a+b / 2
      end

      def length
        return Point.distance(self, Point.new(0, 0))
      end

      def normalize!(length_scale = 1)
        @x = length_scale if @x > length_scale
        @y = length_scale if @y > length_scale
        while length < length_scale
          @x = @x + 1
          @y = @y + 1
        end
      end
    end
  end
end

Résultat :

irb(main):002:0> require 'point'
=> true
irb(main):003:0> include SMA_FIGHT::Lib
=> Object
irb(main):004:0> a = Point.new(3, 4)
=> #<SMA_FIGHT::Lib::Point:0x000000015da808 @x=3, @y=4>
irb(main):005:0> a.length
=> 5
irb(main):006:0> a.normalize!(10)
=> nil
irb(main):007:0> a
=> #<SMA_FIGHT::Lib::Point:0x000000015da808 @x=7, @y=8>
irb(main):008:0> a.length
=> 11

Close enough... (je vois pas trop pourquoi ça bug à moitié, je verrai ça demain)

Dernière modification par The Uploader (Le 02/02/2012, à 10:20)


- 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

#2404 Le 02/02/2012, à 03:21

Pylades

Re : /* Topic des codeurs [6] */

J’n’ai pas encore rattrappé mon retard de lecture, mais je vous fais tout de même profiter de ça :

wakeup () 
{ 
    MUSIC_DIR="$HOME/Musique/Bibliothèque/The Offspring/Conspiracy of One/";
    FILES=('09 - One Fine Day.flac' '10 - All Along.flac');
    command="mplayer '$MUSIC_DIR${FILES[$(($RANDOM%${#FILES[@]}))]}'";
    eval "$command";
    at "$1" <<< "$command";
    unset command FILES MUSIC_DIR
}

:]


“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

#2405 Le 02/02/2012, à 12:15

Rolinh

Re : /* Topic des codeurs [6] */

@Pylade: intéressant mais ça demande à être amélioré. Je vais voir si je peux en faire un basé sur mpd qui lancerait une playlist "wake-up" et augmenterait le son de façon progressive.

EDIT: on dirait que j'étais partit pour réinventer la roue, une fois de plus: mpdalarm.

Dernière modification par Rolinh (Le 02/02/2012, à 12:19)

Hors ligne

#2406 Le 02/02/2012, à 12:50

grim7reaper

Re : /* Topic des codeurs [6] */

Hello World!



The Uploader a écrit :

Close enough... (je vois pas trop pourquoi ça bug à moitié, je verrai ça demain)

Peut-être parce que ton calcul de la distance est foireux.
Je serais toi je ferais

return Math.sqrt(a*a + b*b).floor

au lieu de

return a+b / 2

Hors ligne

#2407 Le 02/02/2012, à 12:59

Rolinh

Re : /* Topic des codeurs [6] */

Et voilà: paquet AUR pour mpdalarm.
Bon, reste à le tester maintenant. tongue

Hors ligne

#2408 Le 02/02/2012, à 13:18

The Uploader

Re : /* Topic des codeurs [6] */

@grim :

J'me doutais bien que c'était foireux même si ça semblait fonctionner, mais ça change rien pour 'normalize!' :

irb(main):002:0> $LOAD_PATH <<'./'
=> ["/usr/lib/ruby/site_ruby/1.9.1", "/usr/lib/ruby/site_ruby/1.9.1/x86_64-linux", "/usr/lib/ruby/site_ruby", "/usr/lib/ruby/vendor_ruby/1.9.1", "/usr/lib/ruby/vendor_ruby/1.9.1/x86_64-linux", "/usr/lib/ruby/vendor_ruby", "/usr/lib/ruby/1.9.1", "/usr/lib/ruby/1.9.1/x86_64-linux", "./"]
irb(main):003:0> require 'point'
=> true
irb(main):004:0> include SMA_FIGHT::Lib
=> Object
irb(main):005:0> a = Point.new(3,4)
=> #<SMA_FIGHT::Lib::Point:0x00000000f9f830 @x=3, @y=4>
irb(main):006:0> a.length
=> 5
irb(main):007:0> a.normalize!(10)
=> nil
irb(main):008:0> a
=> #<SMA_FIGHT::Lib::Point:0x00000000f9f830 @x=7, @y=8>
irb(main):009:0> a.length
=> 10

j'suis en train de voir ça..

Dernière modification par The Uploader (Le 02/02/2012, à 13:46)


- 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

#2409 Le 02/02/2012, à 13:20

Rolinh

Re : /* Topic des codeurs [6] */

Bon,  je ne sais pas ce que c'est pour un truc pour générer les manpages mais ça foire carrément!

Hors ligne

#2410 Le 02/02/2012, à 13:29

grim7reaper

Re : /* Topic des codeurs [6] */

The Uploader a écrit :

ça change rien pour 'normalize!'

O_o.
T’es sûr ?
chezmoiçamarche :

irb(main):001:0> load 'point.rb'
=> true
irb(main):002:0> a = Point.new(3,4)
=> #<Point:0x00000001eed850 @x=3, @y=4>
irb(main):003:0> a.length
=> 5
irb(main):004:0> a.normalize!(10)
=> nil
irb(main):005:0> a
=> #<Point:0x00000001eed850 @x=7, @y=8>
irb(main):006:0> a.length
=> 10

Édit : Ha, j’ai rien dit ^^'
J’avais pas vu le 7 à la place du 6…

Dernière modification par grim7reaper (Le 02/02/2012, à 13:36)

Hors ligne

#2411 Le 02/02/2012, à 13:55

The Uploader

Re : /* Topic des codeurs [6] */

Bon j'pense que si length reste tout de même à 10 c'est bon. J'ai essayé d'autres length_scale et ce dernier n'est plus dépassé.

module Lib
  class Point
    attr_reader :x
    attr_reader :y
    def initialize(x = 0, y = 0)
      @x = x
      @y = y
    end

    def Point.distance(point, other_point)
      a = (point.x - other_point.x).abs
      b = (point.y - other_point.y).abs
      Math.sqrt(a * a + b * b).floor
    end

    def length
      Point.distance(self, Point.new(0, 0))
    end

    def normalize!(length_scale = 1)
      @x = length_scale if @x > length_scale
      @y = length_scale if @y > length_scale
      while length < length_scale
        @x = @x + 1
        @y = @y + 1
      end
    end
  end
end

Il est temps de passer à MASWithTwoNests::Agent ! \o/

Dernière modification par The Uploader (Le 02/02/2012, à 14:09)


- 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

#2412 Le 02/02/2012, à 19:08

grim7reaper

Re : /* Topic des codeurs [6] */

Youhou, Archlinux vient de péter xelatex…
(bon en fait depuis hier soir, mais j’ai la mise à jour cet après-midi).

Dernière modification par grim7reaper (Le 02/02/2012, à 19:12)

Hors ligne

#2413 Le 02/02/2012, à 19:36

Dr Le Rouge

Re : /* Topic des codeurs [6] */

@ grim : si t'utilisais une vraie distro, t'aurais pas ce genre de problème.
trolldad.png


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#2414 Le 02/02/2012, à 20:10

Rolinh

Re : /* Topic des codeurs [6] */

Trollololo...

Hors ligne

#2415 Le 02/02/2012, à 20:48

tshirtman

Hors ligne

#2416 Le 02/02/2012, à 20:53

grim7reaper

Re : /* Topic des codeurs [6] */

Tous les jours, non faut pas déconner.
Première fois en 2 ans que j’ai vraiment un truc qui pête (et puis c’est juste XeTeX qui merde (à cause de zlib), LaTeX, LuaTeX, … fonctionnent toujours parfaitement).

Dernière modification par grim7reaper (Le 02/02/2012, à 20:54)

Hors ligne

#2417 Le 02/02/2012, à 21:06

HP

Re : /* Topic des codeurs [6] */

tshirtman a écrit :

Oui oui, c'est ce qui m'a piégé, j'essaye de coder "à la ruby" […]

Ouais… te reste à lire la page 183 de « The Ruby Programming Language » par David Flanagan & Yukihiro Matsumoto aux éditions O'Reilly ; mais c'est pas obligé tongue.


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#2418 Le 02/02/2012, à 21:11

The Uploader

Re : /* Topic des codeurs [6] */

Tiens, faudrait que je regarde !


- 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

#2419 Le 02/02/2012, à 21:14

HP

Re : /* Topic des codeurs [6] */

Lire de bons bouquins avant de coder… ça peut aider…


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#2420 Le 02/02/2012, à 21:20

Etoma

Re : /* Topic des codeurs [6] */

Bonjour à toutes et à tous.
J'aimerais faire un p'tit programme pour m'amuser.
Je vois à peu près ce que je veux faire (un truc qui me serait parfois utile --> un comparateur de résultats de loto/toto, genre je tape la liste de nombres que je joue et puis je compare avec la liste de résultats).
Je n'ai jamais programmé.
Comme je le dis ce serait plus pour m'amuser.
Pour ce "projet", j'aimerais l'écrire déjà sur papier, mais je n'y connais rien en algorithmique. Quelqu'un aurait une adresse/bouquin pour apprendre l'algorithmique. Je cherche par moi-même, mais si par hasard quelqu'un à une idée... smile
Et par contre, j'arrive plus à me concentrer sur un livre que lire sur l'écran.
Pour le langage, on verra..... bien plus tard.
Merci!

Edit : fautes

Dernière modification par Etoma (Le 02/02/2012, à 21:23)


"un gars qui agit pour le bien des gens sans leur demander leur avis"
PirateBox

Hors ligne

#2421 Le 02/02/2012, à 21:21

The Uploader

Re : /* Topic des codeurs [6] */

HP a écrit :

Lire de bons bouquins avant de coder… ça peut aider…

Ben j'en ai lu pas mal sur Ruby, sauf celui là (ou en tout cas pas en entier) tongue

@ Etoma : GUI ou CLI ?

Dernière modification par The Uploader (Le 02/02/2012, à 21:25)


- 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

#2422 Le 02/02/2012, à 21:27

Etoma

Re : /* Topic des codeurs [6] */

Ça change quelque chose pour l'algorithmique? Sinon GUI .


"un gars qui agit pour le bien des gens sans leur demander leur avis"
PirateBox

Hors ligne

#2423 Le 02/02/2012, à 21:29

The Uploader

Re : /* Topic des codeurs [6] */

Bah ça change une partie important du programme, et ce n'est pas la même logique pour faire l'interface.

Dernière modification par The Uploader (Le 02/02/2012, à 21:29)


- 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

#2424 Le 02/02/2012, à 21:32

Etoma

Re : /* Topic des codeurs [6] */

Ok. Mais à la base, l'apprentissage de l'algorithmique sert pour les deux?
Apprendre à trouver une solution logique à un problème, où il peut y avoir plusieurs "chemins"?


"un gars qui agit pour le bien des gens sans leur demander leur avis"
PirateBox

Hors ligne

#2425 Le 02/02/2012, à 21:37

Pylades

Re : /* Topic des codeurs [6] */

Hey, tshirtman, t’as fait comment pour dire à ton Vim d’aller chercher le vimrc sur ~/.vim/vimrc ?


tshirtman a écrit :

oui, oui, j'avais installé les langues pour voir en même temps, ça n'a pas vraiment de rapport, tu as raison. Et oui, j'avais testé avec ibus, mais ça marchait pas vraiment bien, je ne sais plus trop pourquoi, donc mon frère avait conclus que ça n'avait pas franchement progressé depuis la dernière fois qu'il avait eu un portable ubuntu, y'a genre 5ans, et il est retourné à son mac… sad

donc bon, là j'ai pas vraiment trouvé comment désinstaller cette langue, mais je l'ai relégué bien en dessous de l'anglais, donc je ne devrais plus la voir…

Troll à l’attention du Rouge : bah c’est ça de ne pas utiliser une vraie distro… :]


“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