#401 Le 24/12/2010, à 17:50
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Les monoïdes, comme en maths ? O_o"
Je ne sais pas vu que j'ai pas encore lu le chapitre en question, mais j'espère pas parce que vu la définition des monoïdes selon Wikipédia…
Remarque celle des foncteurs aussi me semblait abstraite, mais en Haskell le concept est un peu plus abordable.
fichier #droit » doit pouvoir les modifier, selon une syntaxe encore à déterminer.
Il n'y a pas une syntaxe déjà existante pour les ACL ?
Si oui pourquoi ne pas la réutiliser ici (après tout pour chmod on utilise bien la syntaxe de la commande)
Dernière modification par grim7reaper (Le 24/12/2010, à 17:52)
Hors ligne
#402 Le 24/12/2010, à 18:35
- tshirtman
Re : /* Topic des codeurs couche-tard [3] */
retrouvé ^^, bon, c'était plus avancé dans ma tête ^^, apparement je m'en suis désinterressé quand j'ai réussis à faire marcher les remplissages de zones fermées…
et 740 lignes (la plupart dans main.c ^^'), c'est vrai qu'on aurait du mal à appeler ça un gros projet ^^.
git clone http://pub.tshirtman.fr/git_qixfix
ou
Hors ligne
#403 Le 24/12/2010, à 18:42
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Bizarre (j'ai récupéré la version git).
60, 40
zsh: segmentation fault (core dumped) ./qixfix
Dernière modification par grim7reaper (Le 24/12/2010, à 18:42)
Hors ligne
#404 Le 24/12/2010, à 18:44
- helly
Re : /* Topic des codeurs couche-tard [3] */
Idem .
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#405 Le 24/12/2010, à 18:44
- tshirtman
Re : /* Topic des codeurs couche-tard [3] */
oO
j'en ai jamais eu un seul…
t'es en 64bits? (je sent que je vais regretter mes masks au niveau du bit dans les char…)
Hors ligne
#406 Le 24/12/2010, à 18:49
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Non, 32
Ton screen devient NULL entre son allocation et la ligne 457…
Vu que tu le déréférences dans la condition ça plante, normal. Le problème c'est : Pourquoi il devient NULL (tu ne sembles pas y retoucher entre temps) ?
Dernière modification par grim7reaper (Le 24/12/2010, à 18:51)
Hors ligne
#407 Le 24/12/2010, à 18:58
- tshirtman
Re : /* Topic des codeurs couche-tard [3] */
c'est au niveau sdl? intéressant… pas trop le temps de regarder tout de suite là, parait qu'on a une table à préparer…
edit: bon, je regarde rapidement, et je ne comprends pas plus que toi, car en effet, il ne se passe pas dix lignes entre le test de non nullité qui devrait faire quitter le programme si ça foirait (enfin bon, c'est un chemin qui n'a jamais été pris par le programme à ma connaissance, donc…) et le plantage à la ligne que tu indique…
donc là seul piste que je vois c'est que l'allocation rate et que mon chemin ne soit pas prit… hors l'allocation n'a jamais foiré sur une de mes machines… je vais tenter avec une très grande surface… edit: avec une mauvaise profondeur de pixel, je prends bien ce codepath…
editt 2: bon, le jeu n'ayant jamais été testé avec une taille de sortie différente, il a pas l'air d'aimer, mais ce n'est pas le même soucis, juste un écran noir ^^
Dernière modification par tshirtman (Le 24/12/2010, à 20:54)
Hors ligne
#408 Le 24/12/2010, à 19:54
- Elzen
Re : /* Topic des codeurs couche-tard [3] */
Il n'y a pas une syntaxe déjà existante pour les ACL ?
Si oui pourquoi ne pas la réutiliser ici (après tout pour chmod on utilise bien la syntaxe de la commande)
C'est pas tout à fait comme dans chmod, ce que j'ai demandé (par exemple, passer « rw-r--r-- », j'suis pas sûr que chmod comprenne directement)
Après, pour les ACL, ça ressemble à ça :
setfacl -Rm u:$user:rwX $path
setfacl -Rm d:u:$user:rwX $path
donc à voir… j'ai mis encore à déterminer parce qu'on en avait pas encore parlé, et parce que ça ne fait pas partie de la spec du CLFB lui-même, vu que c'est une extension.
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#409 Le 24/12/2010, à 19:59
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Effectivement, bien vu pour le « rw-r--r-- »
Pour les ACL ouais, faut voir alors (faudrait que je commence par lire quelques pages de man aussi…)
Dernière modification par grim7reaper (Le 25/12/2010, à 00:55)
Hors ligne
#410 Le 24/12/2010, à 20:05
- Steap
Re : /* Topic des codeurs couche-tard [3] */
Non, 32
Ton screen devient NULL entre son allocation et la ligne 457…
Vu que tu le déréférences dans la condition ça plante, normal. Le problème c'est : Pourquoi il devient NULL (tu ne sembles pas y retoucher entre temps) ?
Tiens, ça m'étonne. J'ai pas le même bug.
Illustrons ici l'intérêt de gdb :-p
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb6e546b0 (LWP 4895)]
0x0804a023 in getpixel (surface=0x807c350, x=0, y=391) at image_fcts.c:26
26 return *p;
Bon, on sait que ça plante dans image_fcts.c, à la ligne 26. Que faisait-on ?
(gdb) bt
#0 0x0804a023 in getpixel (surface=0x807c350, x=0, y=391) at image_fcts.c:26
#1 0x0804a260 in blit_masked_image (source=0x807c350, mask=0xbfe62310 '\001' <repeats 41 times>, destination=0x807ba48, width=600, heigh=400) at image_fcts.c:87
#2 0x08048fbf in update_screen (screen=0x807ba48, background_image=0x807c350, character_texture_1=0x807f120, enemy_texture_1=0x807f310,
mask=0xbfe62310 '\001' <repeats 41 times>, xf=0, yf=0, enemy_x=0xbfe62c88, enemy_y=0xbfe62c7c) at main.c:204
#3 0x08049efa in main () at main.c:599
(gdb) p p
$1 = (Uint8 *) 0xb6b3f014 <Address 0xb6b3f014 out of bounds>
Tiens, address out of bounds... Le pixel (0,391) ne serait-il pas dans la surface ?
(gdb) p surface->w
$2 = 660
(gdb) p surface->h
$3 = 385
En effet, la surface fait 660 * 385. (0,391) n'y est donc pas.
Vérifions que le problème vient bien de là avec un petit patch :
diff --git a/image_fcts.c b/image_fcts.c
index 89a8172..e14a31d 100644
--- a/image_fcts.c
+++ b/image_fcts.c
@@ -82,8 +82,8 @@ void blit_masked_image(SDL_Surface *source, char *mask, SDL_Surface *destination
/* the mask should be the same size as the source image */
int x, y;
- for(x=0; x<=width; x++)
- for(y=0; y<=heigh; y++)
+ for(x=0; x<=source->w; x++)
+ for(y=0; y<=source->h; y++)
putpixel(
destination, x, y,
mask[(y/CASE_HEIGH)+(x/CASE_HEIGH)*(heigh/CASE_HEIGH)] &2 ?
Plus de segfault.
Pour corriger le bug, il faut maintenant savoir précisément ce que fait le programme, et surtout ce qu'on veut qu'il fasse. La source fait 660*385 et la destination fait 600*400. Est-ce normal ? Comment l'application doit-elle se comporter ? Le patch proposé n'est sans doute pas la bonne solution...
GNU Guix, un gestionnaire de paquets fonctionnel.
Hors ligne
#411 Le 24/12/2010, à 20:29
- tshirtman
Re : /* Topic des codeurs couche-tard [3] */
en effet, en relisant la source, tout à l'heure, j'ai constaté ce genre de choses, mon image est sensé faire la même taille, sinon on s'expose à des soucis, et en effet, elle ne l'est pas, reste à savoir pourquoi ça tombait en marche chez moi… :]
(y'avait des bugs graphiques en bas de l'image tout de même, sans doute pour ça)
edit: avec une image 600x400 oO
*** glibc detected *** ./qixfix: double free or corruption (out): 0x08217008 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(+0x6b591)[0x251591]
/lib/tls/i686/cmov/libc.so.6(+0x6cde8)[0x252de8]
/lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0x255ecd]
/usr/lib/libSDL-1.2.so.0(SDL_FreeSurface+0xe8)[0x99d8e8]
/usr/lib/libSDL-1.2.so.0(SDL_VideoQuit+0x6e)[0x99fc5e]
/usr/lib/libSDL-1.2.so.0(SDL_QuitSubSystem+0x53)[0x9776e3]
/usr/lib/libSDL-1.2.so.0(SDL_Quit+0x1e)[0x97777e]
/usr/lib/libSDL-1.2.so.0(+0x601f)[0x97801f]
[0x1e5400]
./qixfix[0x804a45f]
./qixfix[0x8049058]
./qixfix[0x804a134]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0x1fcbd6]
./qixfix[0x80488d1]
======= Memory map: ========
00110000-00150000 r-xp 00000000 08:07 59931 /usr/lib/libpulse.so.0.12.2
00150000-00151000 r--p 00040000 08:07 59931 /usr/lib/libpulse.so.0.12.2
00151000-00152000 rw-p 00041000 08:07 59931 /usr/lib/libpulse.so.0.12.2
00152000-0019b000 r-xp 00000000 08:07 59933 /usr/lib/libpulsecommon-0.9.21.so
0019b000-0019c000 r--p 00048000 08:07 59933 /usr/lib/libpulsecommon-0.9.21.so
0019c000-0019d000 rw-p 00049000 08:07 59933 /usr/lib/libpulsecommon-0.9.21.so
001a0000-001b5000 r-xp 00000000 08:07 13854 /lib/tls/i686/cmov/libpthread-2.11.1.so
001b5000-001b6000 r--p 00014000 08:07 13854 /lib/tls/i686/cmov/libpthread-2.11.1.so
001b6000-001b7000 rw-p 00015000 08:07 13854 /lib/tls/i686/cmov/libpthread-2.11.1.so
001b7000-001b9000 rw-p 00000000 00:00 0
001b9000-001ce000 r-xp 00000000 08:07 2570 /usr/lib/libICE.so.6.3.0
001ce000-001cf000 r--p 00014000 08:07 2570 /usr/lib/libICE.so.6.3.0
001cf000-001d0000 rw-p 00015000 08:07 2570 /usr/lib/libICE.so.6.3.0
001d0000-001d2000 rw-p 00000000 00:00 0
001d2000-001d9000 r-xp 00000000 08:07 2582 /usr/lib/libSM.so.6.0.1
001d9000-001da000 r--p 00006000 08:07 2582 /usr/lib/libSM.so.6.0.1
001da000-001db000 rw-p 00007000 08:07 2582 /usr/lib/libSM.so.6.0.1
001db000-001de000 r-xp 00000000 08:07 1295 /lib/libuuid.so.1.3.0
001de000-001df000 r--p 00002000 08:07 1295 /lib/libuuid.so.1.3.0
001df000-001e0000 rw-p 00003000 08:07 1295 /lib/libuuid.so.1.3.0
001e0000-001e2000 r-xp 00000000 08:07 9655 /usr/lib/libXau.so.6.0.0
001e2000-001e3000 r--p 00001000 08:07 9655 /usr/lib/libXau.so.6.0.0
001e3000-001e4000 rw-p 00002000 08:07 9655 /usr/lib/libXau.so.6.0.0
001e5000-001e6000 r-xp 00000000 00:00 0 [vdso]
001e6000-00339000 r-xp 00000000 08:07 5201 /lib/tls/i686/cmov/libc-2.11.1.so
00339000-0033a000 ---p 00153000 08:07 5201 /lib/tls/i686/cmov/libc-2.11.1.so
0033a000-0033c000 r--p 00153000 08:07 5201 /lib/tls/i686/cmov/libc-2.11.1.so
0033c000-0033d000 rw-p 00155000 08:07 5201 /lib/tls/i686/cmov/libc-2.11.1.so
0033d000-00340000 rw-p 00000000 00:00 0
00340000-0034e000 r-xp 00000000 08:07 9899 /usr/lib/libXext.so.6.4.0
0034e000-0034f000 r--p 0000d000 08:07 9899 /usr/lib/libXext.so.6.4.0
0034f000-00350000 rw-p 0000e000 08:07 9899 /usr/lib/libXext.so.6.4.0
00350000-00363000 r-xp 00000000 08:07 13844 /lib/tls/i686/cmov/libnsl-2.11.1.so
00363000-00364000 r--p 00012000 08:07 13844 /lib/tls/i686/cmov/libnsl-2.11.1.so
00364000-00365000 rw-p 00013000 08:07 13844 /lib/tls/i686/cmov/libnsl-2.11.1.so
00365000-00367000 rw-p 00000000 00:00 0
00367000-0038e000 r-xp 00000000 08:07 10388 /usr/lib/libvorbis.so.0.4.3
0038e000-0038f000 r--p 00026000 08:07 10388 /usr/lib/libvorbis.so.0.4.3
0038f000-00390000 rw-p 00027000 08:07 10388 /usr/lib/libvorbis.so.0.4.3
00390000-00395000 r-xp 00000000 08:07 9986 /usr/lib/libogg.so.0.6.0
00395000-00396000 r--p 00004000 08:07 9986 /usr/lib/libogg.so.0.6.0
00396000-00397000 rw-p 00005000 08:07 9986 /usr/lib/libogg.so.0.6.0
00398000-0040b000 r-xp 00000000 08:07 3193 /usr/lib/libdirectfb-1.2.so.0.8.0
0040b000-0040c000 ---p 00073000 08:07 3193 /usr/lib/libdirectfb-1.2.so.0.8.0
0040c000-0040d000 r--p 00073000 08:07 3193 /usr/lib/libdirectfb-1.2.so.0.8.0
0040d000-0040e000 rw-p 00074000 08:07 3193 /usr/lib/libdirectfb-1.2.so.0.8.0
0040e000-0040f000 rw-p 00000000 00:00 0
0040f000-00467000 r-xp 00000000 08:07 11382 /usr/lib/libtiff.so.4.3.2
00467000-00469000 r--p 00057000 08:07 11382 /usr/lib/libtiff.so.4.3.2
00469000-0046a000 rw-p 00059000 08:07 11382 /usr/lib/libtiff.so.4.3.2
0046a000-00583000 r-xp 00000000 08:07 9887 /usr/lib/libX11.so.6.3.0
00583000-00584000 r--p 00118000 08:07 9887 /usr/lib/libX11.so.6.3.0
00584000-00586000 rw-p 00119000 08:07 9887 /usr/lib/libX11.so.6.3.0
00586000-00587000 rw-p 00000000 00:00 0
00587000-0058b000 r-xp 00000000 08:07 9667 /usr/lib/libXdmcp.so.6.0.0
0058b000-0058c000 r--p 00003000 08:07 9667 /usr/lib/libXdmcp.so.6.0.0
0058c000-0058d000 rw-p 00004000 08:07 9667 /usr/lib/libXdmcp.so.6.0.0
0058d000-00591000 r-xp 00000000 08:07 11203 /usr/lib/libXfixes.so.3.1.0
00591000-00592000 r--p 00003000 08:07 11203 /usr/lib/libXfixes.so.3.1.0
00592000-00593000 rw-p 00004000 08:07 11203 /usr/lib/libXfixes.so.3.1.0
00593000-005b0000 r-xp 00000000 08:07 9075 /lib/libgcc_s.so.1
005b0000-005b1000 r--p 0001c000 08:07 9075 /lib/libgcc_s.so.1
005b1000-005b2000 rw-p 0001d000 08:07 9075 /lib/libgcc_s.so.1
005b3000-005c7000 r-xp 00000000 08:07 3192 /usr/lib/libdirect-1.2.so.0.8.0
005c7000-005c8000 r--p 00013000 08:07 3192 /usr/lib/libdirect-1.2.so.0.8.0
005c8000-005c9000 rw-p 00014000 08:07 3192 /usr/lib/libdirect-1.2.so.0.8.0
005c9000-0062a000 r-xp 00000000 08:07 10677 /usr/lib/libsndfile.so.1.0.21
0062a000-0062b000 ---p 00061000 08:07 10677 /usr/lib/libsndfile.so.1.0.21
0062b000-0062c000 r--p 00061000 08:07 10677 /usr/lib/libsndfile.so.1.0.21
0062c000-0062d000 rw-p 00062000 08:07 10677 /usr/lib/libsndfile.so.1.0.21
0062d000-00631000 rw-p 00000000 00:00 0
00631000-0067c000 r-xp 00000000 08:07 10369 /usr/lib/libFLAC.so.8.2.0
0067c000-0067d000 r--p 0004a000 08:07 10369 /usr/lib/libFLAC.so.8.2.0
0067d000-0067e000 rw-p 0004b000 08:07 10369 /usr/lib/libFLAC.so.8.2.0
00776000-00778000 r-xp 00000000 08:07 10545 /lib/tls/i686/cmov/libdl-2.11.1.so
00778000-00779000 r--p 00001000 08:07 10545 /lib/tls/i686/cmov/libdl-2.11.1.so
00779000-0077a000 rw-p 00002000 08:07 10545 /lib/tls/i686/cmov/libdl-2.11.1.so
007f4000-00817000 r-xp 00000000 08:07 3103 /lib/libpng12.so.0.42.0
00817000-00818000 r--p 00022000 08:07 3103 /lib/libpng12.so.0.42.0
00818000-00819000 rw-p 00023000 08:07 3103 /lib/libpng12.so.0.42.0
00856000-00869000 r-xp 00000000 08:07 1372 /lib/libz.so.1.2.3.3zsh: abort ./qixfix
edit: ok, il faut une image en couleur indexées pour que ça marche… je sais pas ce que j'ai fais, mais c'est pas terrible ^^
Dernière modification par tshirtman (Le 24/12/2010, à 20:50)
Hors ligne
#412 Le 25/12/2010, à 01:14
- Pylades
Re : /* Topic des codeurs couche-tard [3] */
.
“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
#413 Le 25/12/2010, à 01:14
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Chez moi le bug semble venir d'ici
for(xi=0; xi<=(SCREEN_W/CASE_HEIGH); xi++){
for(yi=0; yi<(SCREEN_H/CASE_HEIGH); yi++){
mask[xi][yi] = (false
|| xi == 0 /* left border */
|| yi == 0 /* top border */
|| yi == SCREEN_H/CASE_HEIGH - 1 /* bottom border */
|| xi == SCREEN_W/CASE_HEIGH - 1 /* right border */
);
}
}
Si je vire ce code, je n'ai plus la SIGSEGV (c'est là dedans que screen est modifié, 2 fois puis il passe à NULL).
Bon j'ai un peu la flemme de regarder ça en détail ce soir, je verrais ça demain (peut-être…)
Édit : Trouvé
xi<=(SCREEN_W/CASE_HEIGH)
Erreur de base le coup du <= au lieu du <, donc débordement de tableau et écriture sur une mauvaise zone mémoire (en l'occurence la variable screen).
Valgrind ne l'avais pas vu passer celle-là (par contre gdb oui).
Bon après, j'ai bien les bugs graphiques que tshirtman a signalé dans son post précédent.
Dernière modification par grim7reaper (Le 25/12/2010, à 01:20)
Hors ligne
#414 Le 25/12/2010, à 01:17
- helly
Re : /* Topic des codeurs couche-tard [3] */
.
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#415 Le 25/12/2010, à 01:40
- samυncle
Re : /* Topic des codeurs couche-tard [3] */
.
++
Hello world
Hors ligne
#416 Le 25/12/2010, à 01:53
- Rolinh
Re : /* Topic des codeurs couche-tard [3] */
++ itou
Hors ligne
#417 Le 25/12/2010, à 01:55
- The Uploader
Re : /* Topic des codeurs couche-tard [3] */
oh du beau langage c de partout!
vite, ruinons cela avec de l'action script 3.0 bien pourri!
public class TamagochiState extends AutomateState
{
private var stateTime:Number;
private var name:String;
public function TamagochiState(_tamagochi:Tamagochi, _id: String)
{
super(_tamagochi, _id);
stateTime = 0;
trace(ObjectDisplayer.STATE_IMAGE_ROOT + _id + ObjectDisplayer.STATE_IMAGE_EXT);
name = _id;
}
override public function Update() : void
{
GetTamagochi().GetDisplayer().SetDisplayedImage(name);
stateTime += TimeManager.timeManager.GetFrameDeltaTime();
if (GetStateTime() > Tamagochi.FEELING_VARIABLE_UPDATE_DELAY)
{
UpdateFeelings();
ResetStateTime();
}
}
public function UpdateFeelings() : void
{
var i:Number = -1;
Tamagochi.FeelingsStrings.forEach(function Callback():void {
i++;
GetTamagochi().SetFeelingValue(Tamagochi.FeelingsStrings[i], Math.random() % Tamagochi.FEELING_VARIABLE_MAX);
});
}
override public function Enter() : void
{
ResetStateTime();
/*if (imageLoaded)*/
}
public function GetTamagochi() : Tamagochi
{
return (automate as Tamagochi);
}
public function ResetStateTime() : void
{
stateTime = 0;
}
public function GetStateTime() : Number
{
return stateTime;
}
BN; /o\
Dernière modification par The Uploader (Le 25/12/2010, à 01:55)
- 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
#418 Le 25/12/2010, à 01:56
- grim7reaper
Re : /* Topic des codeurs couche-tard [3] */
Le père Noël est vache cette année.
T'as dû être un vrai salopard pour mériter de l'action script 3.0
Édit : BN World !
Dernière modification par grim7reaper (Le 25/12/2010, à 02:01)
Hors ligne
#419 Le 25/12/2010, à 01:58
- Pylades
Re : /* Topic des codeurs couche-tard [3] */
Ça n'a pas l'air d'avoir un très bon effet sur toi, ce truc…
Mais bon, ce bout de code n'a pas l'air plus dégueu que ça… enfin, pour un néophyte. ^_^
“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
#420 Le 25/12/2010, à 01:59
- The Uploader
Re : /* Topic des codeurs couche-tard [3] */
@grim7reaper:
Clair, j'ai dû tuer trop de zombies à Dead Rising 2, ou trop tué d'esclavagistes à Fallout New Vegas, ou trop tué de Collecteurs dans Mass Effect 2, ou trop crié contre l'API en Scheme de GIMP...
Nan en fait j'vois pas, tout ça ce sont de bonnes actions. Sanguinolentes pour la plupart, certes, mais bonnes tout de même!
Mais bon, ce bout de code n'a pas l'air plus dégueu que ça… enfin, pour un néophyte. ^_^
-Ben les trucs var i:Number au lieu de "int i" (nom de dieu le temps que je perd sur mon clavier azerty avec ces fichus ":Number" ou ":Boolean", deux-points+ nom de type long de merde! >_<
-les Array.forEach au lieu de for ou for each (existe, mais inopérant sur le type Array 2 fois sur 3) - qui est une fonction voulant une ***** de fonction callback en paramètre! Et ça s'appelle forEach, mais faut toujours gérer un entier pour le parcours...
-Le code de base qui va dans tous les sens et que j'ai passé les 3/4 du temps à nettoyer/factoriser/comprendre...
-L'IDE qui est tout pourri et proprio et qui ne sait plus donner les méthodes des objets contenues dans un Array lors de l'écriture d'une boucle... (pas cool quand on connaît pas les dizaines de membres publiques de la classe de base Sprite dont les objets qu'on utilise hérite, et qu'on sait pas trop quoi utiliser pour ce qu'on a en tête..)
-Les appels à une fonction inexistante qui passent à la compilation...
-Le typage faible qui permet toutes les cochonneries (de base, y'en avait pas mal)
-Les imports de tout et n'importe quoi... (dans le code de base) dans le genre "j'importe tout mes bidules qui pourraient me servir \o/ "
-L'absence de queue, list, linked list, classes internes, piles, et tout autre structure de données connues mis à part les dictionnaires et les tableaux... (ok on peut les implémenter; mais bonjour les perfs de marde).
-et j'oublie quelques autres perles..
Dernière modification par The Uploader (Le 25/12/2010, à 02:23)
- 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
#421 Le 25/12/2010, à 02:02
- Pylades
Re : /* Topic des codeurs couche-tard [3] */
/me vient de voir que c'était le langage de flash… ><"
“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
#422 Le 25/12/2010, à 02:11
- The Uploader
Re : /* Topic des codeurs couche-tard [3] */
ah ben voilà tu comprends enfin ma douleur...
Et l'IDE FlashDevelop exige .NET 2.0 en plus de Windows... C'est un singe à trois têtes!
- 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
#423 Le 25/12/2010, à 02:15
- Pylades
Re : /* Topic des codeurs couche-tard [3] */
Je compatis…
“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
#424 Le 25/12/2010, à 02:29
- gnuuat
Re : /* Topic des codeurs couche-tard [3] */
h2 : 10.124.0.1/24 -> Rh
Rh :
* 10.24.42.34/24
* 192.168.0.1/30
-> Rg
Rg :
* 129.168.0.2/30
* 24.234.12.0/19
-> Rh
g2 : 24.234.12.1/19 -> Rg
H2 et g2 communiquent-ils ?
Non, h2 ne communique pas avec son routeur, et de toute façon il y a une boucle de routeur qui congestionne le réseau.
Dernière modification par gnuuat (Le 25/12/2010, à 02:30)
Bisouland : embrassez les tous !
Volez les points d'amour de vos adversaires en les embrassant, dans ce jeu gratuit par navigateur !
Hors ligne
#425 Le 25/12/2010, à 02:49
- compte supprimé
Re : /* Topic des codeurs couche-tard [3] */
Plop de secours.