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.

#1751 Le 08/08/2012, à 21:43

tshirtman

Hors ligne

#1752 Le 11/08/2012, à 19:26

Elzen

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

maxpoulin64 a écrit :

Pour les lecteurs multimédia, y'a pas l'interface MPRIS2 via dbus? http://specifications.freedesktop.org/m … ec/latest/

It works smile

Merci à Le_Rouge pour l'idée et à toi pour le lien wink

Hors ligne

#1753 Le 12/08/2012, à 13:37

tshirtman

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

T'ain c'est de la folie ce qu'on a fait hier avec tito, le dev principal de kivy, à la base, pour le port android de kivy, on prenait les classes java de sl4a, on adaptait à notre usage, on écrivait du C/JNI pour wrapper ça, puis du cython pour wrapper ça pour python, puis le haut niveau en python… moi, ça me faisait mal de passer par l'étape C, vu que cython, ça fait du C, donc j'ai écrit direct une classe en Cython pour wrapper le java en utilisant les fonction JNI (spécifiquement pour le module bluetooth https://gist.github.com/3325614), et là on s'est dit qu'on pouvait faire un wrapper générique et Cython permettant d'appeler n'importe quelle classe/méthode java… et on l'a fait… https://github.com/kivy/python-for-andr … c/java.pyx (enfin, tito à fait 90% ^^) Oo,

c'est pas encore parfait, mais ça permet de faire des trucs vraiment classe…
https://www.stypi.com/203rvoja
JavaStaticMethod() et JavaMethod(static=True) sont équivalent, des avis sur lequel est le plus éléguant ? J'aurais tendance à trouver que static=True est meilleur d'un point de vue design, mais JavaStaticMethod est peut être plus clair à la lecture…

Et tout cas, je me dis que ça peut surement servir en dehors de kivy…

Dernière modification par tshirtman (Le 12/08/2012, à 13:47)

Hors ligne

#1754 Le 12/08/2012, à 14:04

Elzen

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

À vue de nez, ça a en effet l'air potentiellement assez utile (d'ailleurs, si c'est faisable comme ça, ça m'étonnerait presque que ça n'existe pas encore, t'as vérifié ? tongue)…

Trois questions qui me viennent à l'esprit, comme ça :

– Quoi comme dépendances ?

– Dans la doc du début, ça dit « a Java class named Hardware.java » : je suppose que c'est un abus de langage, et que ça utilise le fichier précompilé (le .class) plutôt que le fichier source, non ?

– Ça marche avec les Jar, ou il faut les désarchiver avant ?


Au niveau de la différence entre les deux, je pense que les deux se valent, c'est surtout une question d'esthétique personnelle…

Dernière modification par ArkSeth (Le 12/08/2012, à 14:04)

Hors ligne

#1755 Le 12/08/2012, à 15:28

tshirtman

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

Le seul truc un peu équivalent qu'on a trouvé c'est py4j (http://py4j.sourceforge.net/index.html) mais ça démarre une jvm, et ça communique en TCP avec… bof…
- Dépendances: je dirais Cython…
- Oui je dirais, mais c'est vrai que je connais pas assez comment ça se passe en interne (sur android dalvik charge notre app, qui est une app java très simple, qui appelle le python compilé dedans, qui utilise jni pour charger des classes, je suppose que c'est dalvik qui fait la résolution de nom et le chargement, mais je suis pas 100% sûr…)
- Idem, si c'est dalvik qui charge, ça devrait marcher.

Pour la différence, c'est surtout que j'aime bien le "one true way" ça permet d'avoir du code plus cohérent, donc je serait partisan d'en choisir un et de virer l'autre, mais bon…

Hors ligne

#1756 Le 12/08/2012, à 22:48

The Uploader

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

Quelques modifs vite faites sur SMA_FIGHTRuby :

Bon j'ai des Bots qui collisionnent/perçoivent bien et qui sont affichés, z'ont juste pas de quoi agir ou décider encore (pas de système expert totalement initialisé, pas de méthode #act, et sûrement deux/trois autres trucs que j'oublie).

commit 7ed509436ccfd49e97c3f89825653222d3880a48
Author: Maximilien Noal <mnoal@epsi.fr>
Date:   Sun Aug 12 22:41:28 2012 +0200

    Bugfix: Point.==(other) return nil if other is nil
    
    Signed-off-by: Maximilien Noal <mnoal@epsi.fr>

diff --git a/lib/point.rb b/lib/point.rb
index 9031f7f..5e2a8da 100644
--- a/lib/point.rb
+++ b/lib/point.rb
@@ -18,6 +18,7 @@ module Lib
     end
 
          def ==(other)
+			return false if other == nil
 			@x.to_i == other.x.to_i and @y.to_i == other.y.to_i
 	  end
 

commit 8edd89d3630f857c11dfbfc8edc2f8a0a621a371
Author: Maximilien Noal <mnoal@epsi.fr>
Date:   Sun Aug 12 22:41:02 2012 +0200

    World : call on_collide if collision or perception of other agent
    
    Signed-off-by: Maximilien Noal <mnoal@epsi.fr>

diff --git a/MASWithTwoNests/world.rb b/MASWithTwoNests/world.rb
index c89f608..90eefc8 100644
--- a/MASWithTwoNests/world.rb
+++ b/MASWithTwoNests/world.rb
@@ -74,7 +74,7 @@ module MASWithTwoNests
 			@agents.each do |i|
 				@agents.each do |j|
 					if i.collide(j)
-						i.on_collide(j) if i.respond_to?('on_collide')
+						i.on_collide(j) if i.respond_to?('on_collide') and (i.is_collided?(j) or i.is_perceived?(j))
 						next
 					end
 				end

commit 2cb2173ad6aa8680334b2340fd3bc4a4ad24a935
Author: Maximilien Noal <mnoal@epsi.fr>
Date:   Sun Aug 12 22:40:12 2012 +0200

    Bot: don't use a second Sprite for perception
    
    Does not seem to be very SDL-friendly...
    
    Signed-off-by: Maximilien Noal <mnoal@epsi.fr>

diff --git a/MASWithTwoNests/bot.rb b/MASWithTwoNests/bot.rb
index 088e87b..304e1f7 100644
--- a/MASWithTwoNests/bot.rb
+++ b/MASWithTwoNests/bot.rb
@@ -1,10 +1,12 @@
 $LOAD_PATH << '../'
 require 'lib/point'
 include Lib
-require 'ExpertSystem/expert_system.rb'
+require 'ExpertSystem/expert_system'
+require 'ExpertSystem/rule'
 include ExpertSystem
 $LOAD_PATH << './'
 require 'agent'
+require 'agent_facts'
 require 'resource'
 require 'world'
 require 'rubygame'
@@ -18,11 +20,7 @@ module MASWithTwoNests
 			super(world)
 			@team_id = team_id
 			@speed = speed
-			@image = Rubygame::Surface.new([ perception_radius, perception_radius ])
-                       @image.set_colorkey([0, 0, 0])
-			@rect = @image.make_rect
 			@direction_change_delay = direction_change_delay
-			@image.draw_circle_s(@rect.center, radius * 2, color)
 
 			@direction = nil
 			@radius = radius
@@ -41,18 +39,53 @@ module MASWithTwoNests
 			@home = nil
 			@home_position = nil
 
+			resource_color_ary = @color.to_rgba_ary
+			3.times do |i|
+				resource_color_ary[i] += 0x55 #0X228822
+			end
+			@resource_color = Rubygame::Color::ColorRGB.new([resource_color_ary[0], resource_color_ary[1], resource_color_ary[2]])
+
                        init_expert_system
+			init_sprite
+			draw_sprite
 			change_direction
 		end
 
+		def init_sprite
+			@image = Rubygame::Surface.new([ @radius, @radius ])
+                     @image.set_colorkey([0, 0, 0])
+			@rect = @image.make_rect
+		end
+
+		def draw_sprite
+			if (@has_resource)
+			  @image.draw_circle_s(@rect.center, @radius, @resource_color)
+			else
+			  @image.draw_circle_s(@rect.center, @radius, @color)
+			end
+		end
+
 		def update(tick, world)
+			draw_sprite
+			update_facts
+			infer
+			act
 			move
+
+			@reached_resource = nil
+			@home = nil
 		end
 
 		def init_expert_system
-			expert_system = ExpertSystem::ExpertSystem.new()
+			@expert_system = ExpertSystem::ExpertSystem.new()
 
+      @expert_system.add_rule(Rule.new(AgentFacts::GO_TO_RESOURCE,[ AgentFacts::NO_RESOURCE,
+			                                                             	AgentFacts::SEE_RESOURCE,
+			                                                             	AgentFacts::CHANGE_DIRECTION_TIME]))
+		end
 
+		def infer
+			@expert_system.infer
 		end
 
 		def update_facts
@@ -61,12 +94,38 @@ module MASWithTwoNests
 		def act
 		end
 
+		def is_collided?(agent)
+			collide_sprite?(agent)
+		end
+
+		def is_perceived?(agent)
+			return (Point.distance(agent.current_point, current_point) <= @perception_radius)
+		end
+
 		def on_collide(agent)
-			if collide_sprite? agent
+                      if is_collided? agent
 				if agent.class == Resource
 					@reached_resource = agent
 				end
+			else
+				if agent.class == Resource
+					#The last reached resource can't be seen
+					if agent != @last_reached_resource or @last_reached_resource == nil
+						@seen_resource = agent
+					end
+				end
+			end
+
+                if agent.class == BotHome and agent.team_id == @team_id
+				@home = agent
+				if @home_position == nil
+					@home_position = agent.current_point
+				end
 			end
 		  end
+
+		def infer
+                @expert_system.infer
+		end
 	end
 end

commit 77f747768b07eab4a3fa213d0dfbaf08f9219a2b
Author: Maximilien Noal <mnoal@epsi.fr>
Date:   Sun Aug 12 22:38:30 2012 +0200

    Bugfix : ExpertSystem#get_valid_rule wasn't returning nil when it should have
    
    Damn Ruby's "return last evaluated value" !
    
    Signed-off-by: Maximilien Noal <mnoal@epsi.fr>

diff --git a/ExpertSystem/expert_system.rb b/ExpertSystem/expert_system.rb
index 8552400..8e408a9 100644
--- a/ExpertSystem/expert_system.rb
+++ b/ExpertSystem/expert_system.rb
@@ -56,6 +56,7 @@ module ExpertSystem
       @rule_base.rules.each do |r|
         return r if is_rule_valid(r)
       end
+			return nil
     end
 
     def clear_inferred_facts
@@ -67,8 +68,10 @@ module ExpertSystem
 
       begin
         valid_rule = get_valid_rule
-        set_fact_value(valid_rule.goal, true)
-        @inferred_facts << valid_rule.goal
+				if valid_rule
+					set_fact_value(valid_rule.goal, true)
+					@inferred_facts << valid_rule.goal
+				end
       end while valid_rule != nil
     end
   end

Par contre pour la perception, le prof gérait un second Sprite plus grand, mais bon c'est plus compliqué que nécessaire il me semble (je gère juste la perception avec le @perception_radius), puis gérer deux sprites pour un Agent, ben le second Sprite n'était jamais affiché... hmm

Dernière modification par The Uploader (Le 12/08/2012, à 22:52)


- 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

#1757 Le 13/08/2012, à 18:41

tshirtman

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

edit: ouais non j'ai compris en fait >_>

Dernière modification par tshirtman (Le 13/08/2012, à 18:44)

Hors ligne

#1758 Le 13/08/2012, à 18:46

The Uploader

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

?


- 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

#1759 Le 13/08/2012, à 20:06

grim7reaper

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

Tiens, un truc sympa sur lequel je suis tombé : « The Codeless Code: Kōan for the Software Engineer ».

Qi a écrit :

An illustrated collection of (sometimes violent) fables
concerning the Art and Philosophy of software development,
written in the spirit of Zen kōans

Voilà un petit exemple (1er kōan) :

Qi a écrit :

For three days and nights the Java master did not emerge from his cubicle. On the fourth day the monks of the temple sent a novice to inquire after him.


The novice found the master at his whiteboard, contemplating a single dataflow diagram. The novice recognized it as a minor component of the vast system that the monks were contracted to maintain. Politely, the novice asked what the master was working on.

The master replied: “There is a defect, and I am considering the best way to repair it.”

The novice said, “You preach often about the importance of setting priorities. How, then, can you obsess about something so tiny and unimportant?”

Without saying a word, the master raised his staff and brought it down hard upon the bare left foot of the novice, breaking his smallest toe. The novice screamed in pain and staggered from the cubicle. In that moment, the novice was enlightened.

J’ai pas encore tout lu, mais il y en a des vraiment pas mal ^^

Dernière modification par grim7reaper (Le 13/08/2012, à 20:06)

Hors ligne

#1760 Le 13/08/2012, à 20:14

The Uploader

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

Bwahah
(j'comprends vraiment pas la mode de séparer les données et les fonctionnalités dans un langage orienté objet...)


- 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

#1761 Le 14/08/2012, à 12:45

Dr Le Rouge

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

Salut les loulous !

Pour m'occuper en cette fin de vacances et parce qu'il est éminemment probable que ça me sera utile pendant mon mémoire, je vais coder ma propre librairie de primitives cryptographiques. Mon but n'est pas d'avoir des fonctions utilisables « dans la vraie vie » (je ne vais chiffrer de donner confidentielles avec) mais d'avoir des implémentations aussi proche que possible des définitions mathématiques (genre ma classe qui gérera DES héritera d'une classe Feistel) et qui soit facile à affaiblir, par exemple en réduisant le nombre de tours.

Vous auriez une idée de nom pour une telle librairie ?

Dernière modification par Dr Le Rouge (Le 14/08/2012, à 12:46)


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

#1762 Le 14/08/2012, à 12:57

Kanor

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

CryptoFamily

Hors ligne

#1763 Le 14/08/2012, à 13:00

The Uploader

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

Cryptonite


- 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

#1764 Le 14/08/2012, à 13:05

grim7reaper

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

Bah tu trouves un nom en anglais, tu traduis en suédois et hop, tu as un nom super original big_smile
Bon sinon, tu veux faire un truc de crypto mais plûtot proche des maths. Mon mauvais goût pour les noms (qui n’égale pas mon mauvais goût pour l'association des couleurs…) pourrait suggérer « cryptheory ».
Ou si tu veux faire un truc marrant, tu l’appelles « erouge », comme ça quand tu compiles (si c’est du C ou du C++), ça fait

g++ -o foo foo.c -lerouge

big_smile

Hors ligne

#1765 Le 14/08/2012, à 13:17

Dr Le Rouge

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

@ Kanor : il y a de l'idée !

@ the uplodaer : nan, les gens vont croire que je veux affaiblir leurs ordi yikes

grim7reaper a écrit :

Bah tu trouves un nom en anglais, tu traduis en suédois et hop, tu as un nom super original big_smile

Ouais mais non, les termes sont les mêmes (sauf qu'ils ont tendance à remplacer les 'c' par des 'k' et à prononcer les 'y' n'importe comment >_<"). Mais j'avais utilisé cette ruse pour un script maison qui me permet de gérer facilement mes documentations doxygen ^^. « AnordnaKod » : « anordnar » veut dire « organiser » et « kod », bah, ça veut dire « code ». S'il y en a que ça intéresse, je peut publier d'ailleurs. En une ligne et à partir d'un micro fichier de conf de 7 lignes il génère un fichier doxygen.conf qui va bien, rapatrie le css perso que j'utilise et crée un lien symbolique dans /var/www/anordnakod/<la partie qui va bien>. C'est un script bash tout-moche-mais-qui-marche et un script PHP vraiment-moche-mais-qui-marche gère la navigation d'une doc à l'autre.

Bref.

Bon sinon, tu veux faire un truc de crypto mais plûtot proche des maths. Mon mauvais goût pour les noms (qui n’égale pas mon mauvais goût pour l'association des couleurs…) pourrait suggérer « cryptheory ».

Ah oui, ça annonce la couleur, j'aime bien big_smile

Ou si tu veux faire un truc marrant, tu l’appelles « erouge », comme ça quand tu compiles (si c’est du C ou du C++), ça fait

g++ -o foo foo.c -lerouge

big_smile

tongue

Je l'écris sous mon pseudo « officiel », à savoir π²/6, donc non. Par contre oui, c'est du C++.

edit : mais c'est de la folie le référencement de ce forum oO"
1344943279.png

Dernière modification par Dr Le Rouge (Le 14/08/2012, à 13:27)


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

#1766 Le 14/08/2012, à 15:06

tshirtman

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

Ben justement le référencement, profitons en ^^
https://github.com/kivy/pyjnius
C'est ce dont je vous parlais l'autre jour, on a décidé de le sortir de python-for-android, donc comme c'est un wrapper en python utilisant jni, on a appelé ça pyjnius (prononcer pygenius). Ça marche aussi bien sur pc que sur android, en démarrant une jvm esclave via jni. Et ça autowrap les classes java… genre

>>> from jnius.reflect import autoclass
>>> autoclass('java.lang.System').out.println('Hello world')
[pleins de logs à propos de toutes les classes créées]
Hello world

>>>Stack = autoclass('java.util.Stack')
>>>stack = Stack()
>>>stack.push('hello')
>>>stack.push('world')
>>>print stack.pop()
world
>>>print stack.pop()
hello

Tout n'est pas encore pushé donc ces examples ne marcherons pas encore, mais ça arrive tongue, on se demande encore comment gérer les trucs comme les signatures multiples de méthodes (j'ai ma petite idée) ou les classes abstraites (déclarer une List<truc> depuis python?), mais franchement, je trouve ça très prometteur…

Hors ligne

#1767 Le 14/08/2012, à 22:13

Dr Le Rouge

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

notbad.png

Et au niveau des performances, ça donne quoi ?


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

#1768 Le 15/08/2012, à 00:31

tshirtman

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

Ben d'après tito (qui est vraiment obsédé par les perfs), l'overhead est vraiment minime, et vu que les définitions des classes sont mises en cache, y'a vraiment que la première instanciation que coute un peu plus cher, donc pour ce qu'on en sait, c'est vraiment acceptable.

Hors ligne

#1769 Le 15/08/2012, à 03:10

grim7reaper

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

De toutes façons, quand on fait du Java c’est pas pour les perf’ :]
Python non plus, en général (sinon oui, pypy je sais)

Hors ligne

#1770 Le 15/08/2012, à 07:36

The Uploader

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

Ruby non plus (à part peut-être quand Ruby 2.0 aura apporté les .pyc à la Ruby mais j'suis pas sûr que ça change grand chose...).

J'ai exécuté mon truc SMA_FIGHTRuby sur une machine à base d'Atom (à 2 Ghz, 4 Gio de RAM), ben ça ramait à mort (genre 1 FPS par seconde), alors que le truc en Flash fonctionne très bien.
Hu-mi-lié. Par Flash. Sous GNU/Linux. Juste WAT ?!

Y'a un sérieux problème, là...

Dernière modification par The Uploader (Le 15/08/2012, à 07: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

#1771 Le 15/08/2012, à 08:07

grim7reaper

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

The Uploader a écrit :

ben ça ramait à mort

Ha, ça vient pas de moi alors.
Au passage, ton code nécessite Ruby 1.9.2 minimum, j’ai dû le bidouiller pour que ça passe chez moi.

Hors ligne

#1772 Le 15/08/2012, à 08:13

The Uploader

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

Ah, ça ramait aussi ? (c'est vrai que ç'était Ruby 1.8.7. En plus avec un fichier gemspec de la gem Publisher - une dépendance de Rubygoo - qui était mal écrit et empêchait le chargement de Rubygoo <_< )

T'as bidouillé quoi ?

J'ai dû aussi le bidouiller pour que ça passe sous Ubuntu 11.10 (rajout de "require 'rubygems'" sinon impossible de charger Rubygame et Rubygoo, alors que son absence ne gêne pas sous Archlinux avec ruby 1.9.2)

J'crois que j'vais attaquer la SFML en C++ pour mes autres jeux (enfin là c'est pas trop un jeu) si ça rame ainsi... J'veux dire y'a sûrement des trucs à améliorer côté perfs, mais normalement c'est plus ou moins pareil que le code de la version Flash (qui fonctionnait parfaitement sur la même machine)

Dernière modification par The Uploader (Le 15/08/2012, à 08:37)


- 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

#1773 Le 15/08/2012, à 08:40

grim7reaper

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

The Uploader a écrit :

T'as bidouillé quoi ?

Deux choses :
1) problème de chargement des gems aussi, alors que effectivement sous Arch’ ça passe tout seul oO’
Moi au lieu d’ajouter

require 'rubygems'

Je fais

ruby -rubygems main.rb

Ça passe aussi

2) la classe Random n’a été introduite que dans Ruby 1.9.2, j’ai donc remplacé Random.rand par rand tout court (la méthode du kernel Ruby). Chui pas certains que ça soit équivalent à 100%, j’ai pas creusé mais au moins ça tournait.

J'ai dû aussi le bidouiller pour que ça passe sous Ubuntu 11.10 (rajout de "require 'rubygems'" sinon impossible de charger Rubygame et Rubygoo, alors que son absence ne gêne pas sous Archlinux avec ruby 1.9.2)

Ha non, en fait ça rame pas. Ça fait juste un peu n’importe quoi pour le moment mais c’est relativement fluide (j’ai dû rêvé ce matin >_<)

Dernière modification par grim7reaper (Le 15/08/2012, à 08:44)

Hors ligne

#1774 Le 15/08/2012, à 09:10

The Uploader

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

Ok, c'est peut-être le CPU Atom de l'autre machine qui était vraiment limite (c'est vrai que même un "chargement de la liste des logiciels" de apt prend des plombes), mais tout de même c'est pas rassurant... hmm

Sinon : Valve adore OpenGL big_smile

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


- 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

#1775 Le 15/08/2012, à 09:16

grim7reaper

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

Bah mon CPU tourne à 2 Ghz aussi (bon il peut monter à 2,9 si besoin).

Hors ligne