| La programmation | |
|
+36pouale meteskis Choco-sama Dragongaze13 Wraithslayer/HD Kotomine Naqqah kilam1110 wolftag valentinos garywiss6 AristA Sogeking Chroniker Falco Empty AlexRE Awakeing Grade Mod Godboy coco Arvester Blizzard Krok Shakuras Raspberyl Slump Antheor guigui kun Quelqu'un krosk Toshibashin Relm Ccd-ToF NeoKakashi 40 participants |
|
Auteur | Message |
---|
Awakeing Maker Ultime Lv 34
Nombre de messages : 1779
| Sujet: Re: La programmation Ven 01 Mai 2009, 13:16 | |
| - Alex RoiEsper a écrit:
- J'en mets jamais des aussi longs (cylon haha ) moi non plus.
Donc sauf erreur main.h ne contient que 2 lignes ?
Quel intérêt ? Pourquoi ne pas les mettre directement dans main.c ? (d'ailleurs t'as oublié un point virgule à la fin d'une des lignes de main.h) Moi perso je n'ai même jamais fait de main.h de ma vie. Le truc c'est que en général je mets mes fonctions dans des .c et leurs décla dans des .h Mais si mon code est assez petit pour que les .C tiennent dans main, ben je les mets direct au dessus de la fonction main. | |
|
| |
valentinos Maker No Life Lv 31
Nombre de messages : 1493 Age : 30
| Sujet: Re: La programmation Ven 01 Mai 2009, 16:22 | |
| L'intêret pour moi c'est surtout de comprendre le C et de m'exercer petit à petit pour mieux coder au final. Sinon moi aussi je n'aurais pas mis de .h mais apparemment selon le tuto du site du zéro ça peut se révéler assez utiles pour des codes plus long donc autant l'apprendre tout de suite . Valentinos ____________ - Citation :
- [00:49:30] falco a été kické par choco-sama
[00:49:30] Falco : ok | |
|
| |
AristA Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 11008 Age : 27
| Sujet: Re: La programmation Mar 05 Mai 2009, 18:26 | |
| Bjour. Moi aussi j'apprends le C, et moi aussi j'ai à faire ce TP (TT) J'ai un autre problème, ça m'affiche carément un message d'erreur windows (l'application à cesser de fonctionner, envoyer le rapport d'erreur etc etc) Alors ... Voila le code, je vois pas vraiment ce qui ne vas pas TT - Code:
-
#include <stdio.h> #include <stdlib.h> #include <time.h>
int main(int argc, char *argv[]) { const int MAX = 100, MIN = 1; long nbOrdinateur = 0, nbCoups = 0, nbChoisisParJoueur = 0; srand(time(NULL)); nbOrdinateur = (rand() % (MAX - MIN + 1)) + MIN; printf ("Essayez donc de trouver le nombre qu'a fait l'ordinateur ! Indice : Il est compris entre 1 et 100.\n"); do { scanf ("%ld",nbChoisisParJoueur); nbCoups = nbCoups + 1; } while (nbChoisisParJoueur != nbOrdinateur); printf ("Bravo, vous avez trouvé le nombre choisit par l'ordinateur (%ld) en %ld coups =°", nbOrdinateur, nbCoups); system("PAUSE"); return 0; } Edit : puré, j'ai encore oublié cette s******** de &... Edit² : http://rapidshare.com/files/229490562/Lejeududeviner.exe.html | |
|
| |
AlexRE Admin trop trizo Lv 65
Nombre de messages : 29934 Age : 37
| Sujet: Re: La programmation Mar 05 Mai 2009, 19:30 | |
| Ah donc tu as trouvé d'où venait le problème ! Faut le dire clairement. :anon: Bien pour le programme, maintenant faut indiquer si le chiffre est plus grand ou plus petit. ____________ - Relm a écrit:
- Merci pour la confirmation Gary et fuck my life.
| |
|
| |
AristA Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 11008 Age : 27
| Sujet: Re: La programmation Mar 05 Mai 2009, 20:22 | |
| Je l'ai fait dans le fichier téléchargeable C'est un super jeu, tu vas voir ça va t'amuser | |
|
| |
Kotomine Maker Lv 5
Nombre de messages : 122 Age : 37
| Sujet: Re: La programmation Dim 10 Mai 2009, 23:06 | |
| - Awakeing a écrit:
Moi perso je n'ai même jamais fait de main.h de ma vie.
Et théoriquement, un .h , c'est pour échanger des prototypes de structure/ fonction. Le main n'est pas censé échanger quoi que ce soit avec autre chose (à l'exception de sous windows avec des bouts de code ignobles comme #define main SDL_main ) Et un Main très bien fait, il ne fait qu'une chose : récupérer les arguments, l'environnement d'exécution du programme , initialiser les variables / objets globaux de ton programme, et passe le relai à d'autres fonctions. - Code:
-
#include "MapEditorWindowBuilder.hpp" #include "../Common/ApplicationStarter/ApplicationStarter.hpp" START_APPLICATION(MapEditorWindowBuilder,ApplicationStarter::ENGINE_SDL,"Map Editor v0.99");
C'est l'intégralité d'un de mes fichier main.cpp qui lancent toute une appli (qui va devenir un éditeur de cartes comme vous l'aurez supposé). Pour les curieux, MapEditorWindowBuilder, c'est une classe qui ajoute des boutons, des fenetres, à un Container (objet pouvant contenir du bordel) que l'applicationStarter lui fourni, et il varie selon qu'on utilise SDL, DirectX, ou SDL_DS ... En tout cas si il y en a qui ont besoin de conseils pour la prog en C/C++ (et PAS du C# que je supporte pas, et aucune question sur tout ce qui découle de ), n'hésitez pas . ____________ Le trou de la sécu sera t-il assez grand pour ensevelir l'épidémie mexicaine ?
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: La programmation Dim 24 Mai 2009, 21:41 | |
| Moi ce serait plutôt en Python... Voici un script permettant une "vue souris" (pour un mode fps par exemple) que j'insère dans le gestionnaire de scripts de Blender: - Code:
-
# Verif controler controller = GameLogic.getCurrentController()
# Verifier le nom controller de la souris mouse = controller.getSensor("Mouse") # Verifier actuator rotLeftRight = controller.getActuator("LookLeftRight") rotUpDown = controller.getActuator("LookUpDown")
import Rasterizer
width = Rasterizer.getWindowWidth() height = Rasterizer.getWindowHeight()
def mouseMove(): # Distance parcourue à partir du centre de l'écran x = width/2 - mouse.getXPosition() y = height/2 - mouse.getYPosition() # initialiser la souris pour première exec if hasattr(GameLogic, 'init') == False: x = 0 y = 0 GameLogic.init = True return (x, y)
pos = mouseMove()
# Sensibilité de la souris + Direction sensitivity = 0.0005
leftRight = pos[0] * sensitivity upDown = pos[1] * sensitivity
# inverser axe Y upDown = -upDown
# Régler les valeur de rotation rotLeftRight.setDRot( 0.0, 0.0, leftRight, False) rotUpDown.setDRot( upDown, 0.0, 0.0, True)
# L'utiliser GameLogic.addActiveActuator(rotLeftRight, True) GameLogic.addActiveActuator(rotUpDown, True)
# Centrer la souris Rasterizer.setMousePosition(width/2, height/2) Sinon, si quelqu'un s'y connait un peu sous Blender ou simplement en animation/jeu 3D: S'il peut me dire mon erreur ce serait sympa car j'ai beau chercher ... (je suis pas une lumière là dedans ^^). En gros, si tout fonctionnait correctement, lors du test je devrais être capable de faire tourner la caméra à la façon d'un FPS grâce à la souris ... Mais au lieu de ça je me retrouve sur un plan fixe EDIT: Non c'est bon j'ai trouvé, merci quand même =) Si quelqu'un rencontre ce problème qu'il m'envoie un MP car j'ai la flemme d'expliquer là tout de suite ^^ | |
|
| |
Awakeing Maker Ultime Lv 34
Nombre de messages : 1779 Age : 36
| Sujet: Re: La programmation Mar 26 Mai 2009, 00:40 | |
| Le futur de la programmation se fera en Python
KoZzY > D'où tiens tu ce savoir sur Blender ? Des docs ou d'un lieu en particulier, parce que j'ai toujours voulu apprendre à le maitriser, mais je suis toujours pas foutue de faire une animation correcte. ____________ - Citation :
- [22:55:39] Falco : de toute façon Mex c'est un triso
- Citation :
- [12:23:52] Falco : Le pire dans l'histoire c'est que je suis vraiment gay
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: La programmation Mar 26 Mai 2009, 10:49 | |
| J'ai commencé à apprendre la modélisation 3D sous WorldCraft (devenu Hammer Editor) il y a bien des années, puis je n'y ai plus touché du jour au lendemain.
Quelques années plus tard je découvre Blender sur le site du zéro, je lis le début des tutos, certains termes étaient similaires à ceux rencontrés sous WorldCraft donc j'ai pas eu trop de mal à assimiler mais le reste du tuto m'a trop barbé donc j'ai tenté d'apprendre le reste par moi même en chipotant un peu à tout dans le logiciel (comme pour Rpg maker) ...
Après quelques mois j'étais capable de faire de chouettes trucs mais encore une fois j'ai arrêté la 3D pendant tout un temps, là je recommence à peine et j'ai du mal à faire en 3heures ce que je faisais avant en 20minutes ^^
Pour l'animation et le gameBlender apprendre les bases est super simple, il existe des tas de tutos notamment dans la Doc officiel de Blender =]
Tu t'y connais déjà rien qu'en modélisation? | |
|
| |
Awakeing Maker Ultime Lv 34
Nombre de messages : 1779 Age : 36
| Sujet: Re: La programmation Mar 26 Mai 2009, 18:41 | |
| - KoZzY theTurtle a écrit:
- Tu t'y connais déjà rien qu'en modélisation?
Rien d'exceptionnel, je sais modéliser un objet et lui donner des effets classiques (effet mouillé, cristal, textures, ombres, densité, relief...) en trifouillant les boutons et les barres multicolores. ____________ - Citation :
- [22:55:39] Falco : de toute façon Mex c'est un triso
- Citation :
- [12:23:52] Falco : Le pire dans l'histoire c'est que je suis vraiment gay
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: La programmation Mar 26 Mai 2009, 18:50 | |
| C'est déjà ça (d'ailleurs c'est même le principal). Tu penses que tu auras envie de t'y remettre? =) | |
|
| |
Awakeing Maker Ultime Lv 34
Nombre de messages : 1779 Age : 36
| Sujet: Re: La programmation Mar 26 Mai 2009, 22:14 | |
| - KoZzY theTurtle a écrit:
- C'est déjà ça (d'ailleurs c'est même le principal). Tu penses que tu auras envie de t'y remettre? =)
Évidemment, quand j'en aurais le temps en tout cas... ____________ - Citation :
- [22:55:39] Falco : de toute façon Mex c'est un triso
- Citation :
- [12:23:52] Falco : Le pire dans l'histoire c'est que je suis vraiment gay
| |
|
| |
AlexRE Admin trop trizo Lv 65
Nombre de messages : 29934 Age : 37
| Sujet: Re: La programmation Mar 09 Juin 2009, 15:10 | |
| Help, j'ai une boucle qui veut pas s'arrêter... - Code:
-
do { scanf("%ld",&choix); if (choix == 'R' || choix == 'A' || choix == 'C' || choix == 'Q') { printf("Pas bon !! Reecrire !"); } printf("lol!!1"); } while (choix != 'R' && choix != 'A' && choix != 'C' && choix != 'Q'); En fait, elle me demande le scan une seule fois, mais l'instruction - Code:
-
printf("lol!!1"); se répête sans arrêt !!! Ossecourre ____________ - Relm a écrit:
- Merci pour la confirmation Gary et fuck my life.
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: La programmation Mar 09 Juin 2009, 15:15 | |
| Ca fait longtemps que je fais plus de C, on utilise %ld pour des variables de type Char? Essaye ça: - Code:
-
do { scanf("%ld",&choix); if (choix != 'R' || choix != 'A' || choix != 'C' || choix == 'Q') { printf("Pas bon !! Reecrire !"); } } while (choix != 'R' && choix != 'A' && choix != 'C' && choix != 'Q');
printf("lol!!1"); Ou ça: - Code:
-
do { scanf("%ld",&choix); printf("Pas bon !! Reecrire !"); }while (choix != 'R' && choix != 'A' && choix != 'C' && choix != 'Q');
printf("lol!!1"); Mieux: - Code:
-
while (choix != 'R' && choix != 'A' && choix != 'C' && choix != 'Q') { scanf("%ld",&choix); printf("Pas bon !! Reecrire !"); } printf("lol!!1"); Sinon utilise des cases ^^
Dernière édition par KoZzY theTurtle le Mar 09 Juin 2009, 15:19, édité 1 fois | |
|
| |
AlexRE Admin trop trizo Lv 65
Nombre de messages : 29934 Age : 37
| Sujet: Re: La programmation Mar 09 Juin 2009, 15:18 | |
| Non mais l'instruction "lol !" est là justement pour contrôler si la boucle se répète à l'infini ! Et c'est le cas justement, d'où le problème... Oui on utilise le %ld pour ça d'après le site du zéro. :\ Ah ouais, tu m'effaces plein de trucs essentiels, là ! Je peux essayer ça aussi si on suit ta logique : - Code:
-
do {
} while (choix != 'R' && choix != 'A' && choix != 'C' && choix != 'Q'); (ce qui n'empêchera pas d'avoir une boucle infinie d'ailleurs ) Ou carrément : - Code:
-
do {
} while (0); ____________ - Relm a écrit:
- Merci pour la confirmation Gary et fuck my life.
Dernière édition par Alex RoiEsper le Mar 09 Juin 2009, 15:41, édité 1 fois | |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: La programmation Mar 09 Juin 2009, 15:21 | |
| Dans ce cas faut pas s'étonner si ton truc s'affiche à l'infini, c'est normal :/ Puis c'est quoi cet algo pourri? - Code:
-
while (choix != 'R' && choix != 'A' && choix != 'C' && choix != 'Q') {
}
C'est largement suffisant, pourquoi un Do...While ? T'as pas besoin que la première action soit obligatoirement lue. . . | |
|
| |
AlexRE Admin trop trizo Lv 65
Nombre de messages : 29934 Age : 37
| Sujet: Re: La programmation Mar 09 Juin 2009, 15:31 | |
| Si, en fait on demande d'entrer une lettre parmi 4 lettres (le cas d'un menu), et on recommence tant que cette lettre ne figure pas parmi les 4. (mes deux dernières boucles sont là pour déconner ^^) Je viens de me rendre compte sur le site du zéro qu'il fallait utiliser %c et non %ld, ils se contredisent un peu... :\ (faut peut être que je le leur signale) Voici ma boucle maintenant : - Code:
-
do { scanf("%c",&choix); if (choix != 'R' || choix != 'A' || choix != 'C' || choix != 'Q') { printf("Pas bon !! Reecrire !\n"); } } while (choix != 'R' && choix != 'A' && choix != 'C' && choix != 'Q'); ____________ - Relm a écrit:
- Merci pour la confirmation Gary et fuck my life.
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: La programmation Mar 09 Juin 2009, 15:44 | |
| | |
|
| |
AlexRE Admin trop trizo Lv 65
Nombre de messages : 29934 Age : 37
| Sujet: Re: La programmation Mar 09 Juin 2009, 15:50 | |
| Non. =( Il m'affiche directement "pas bon", sans me laisser le temps de "scanner". =( Le truc c'est que j'ai l'habitude de faire ça sur les PC de la fac, avec d'autres fonctions. Mais ici avec Code Blocks ça marche pas pareil. ____________ - Relm a écrit:
- Merci pour la confirmation Gary et fuck my life.
| |
|
| |
AristA Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 11008 Age : 27
| Sujet: Re: La programmation Mar 09 Juin 2009, 15:57 | |
| En même temps je crois qu'on peut rentrer que des nombres dans des variables. | |
|
| |
AlexRE Admin trop trizo Lv 65
Nombre de messages : 29934 Age : 37
| Sujet: Re: La programmation Mar 09 Juin 2009, 16:02 | |
| Tu crois mal. Visiblement le problème viendrait de la fonction scanf qui a un comportement complexe. ( http://xrenault.developpez.com/tutoriels/c/scanf/ => lourd) EDIT : Bon je m'en suis sorti en définissant une fonction : - Code:
-
static void purger(void) { int c;
while ((c = getchar()) != '\n' && c != EOF) {} } Fonction que j'appelle avant chaque scanf. Perso j'y comprend pas grand chose, visiblement ça vide la mémoire allouée aux scanf. En tout cas ça fonctionne. ____________ - Relm a écrit:
- Merci pour la confirmation Gary et fuck my life.
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: La programmation Mar 09 Juin 2009, 16:33 | |
| Tente le C++, plus besoin de te faire chier avec les types de variables ...
En C c'est le truc qui m'a dégouté du langage (scanf) :/
Awakeing m'avait donné un autre truc pour encoder des valeurs dans les variables mais je ne m'en souvient plus ... Si elle passe par ici elle te le dira !
EDIt: Je viens de voir ton édit, c'est effectivement ça. Mais c'est assez lourd de devoir l'utiliser à chaque fois :p | |
|
| |
AlexRE Admin trop trizo Lv 65
Nombre de messages : 29934 Age : 37
| Sujet: Re: La programmation Mar 09 Juin 2009, 17:32 | |
| Ouais. :\ Mais bon, j'apprends le C à la fac, donc je suis obligé de passer par là. J'ai essayé de refaire le sujet de notre partiel aujourd'hui : => http://alexzone.net/d/wagons.rar On ne dirait pas, mais ça demande déjà un peu de boulot ! ____________ - Relm a écrit:
- Merci pour la confirmation Gary et fuck my life.
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: La programmation Mar 09 Juin 2009, 17:40 | |
| Je n'ai pas vu de bug ça me semble correctement programmé en tout cas =] | |
|
| |
Awakeing Maker Ultime Lv 34
Nombre de messages : 1779 Age : 36
| Sujet: Re: La programmation Mer 10 Juin 2009, 13:40 | |
| Moi aussi comprends pas pouqruoi ta fonction bug. Je vois pas la nécessité de vider quoi que ce soit quand il s'agit d'un char. (ta variable c'est bien un char au fait ?)
Sinon passe à fgets... Mais pour un truc aussi con je crois pas que ça soit nécessaire ____________ - Citation :
- [22:55:39] Falco : de toute façon Mex c'est un triso
- Citation :
- [12:23:52] Falco : Le pire dans l'histoire c'est que je suis vraiment gay
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: La programmation Mer 09 Sep 2009, 03:20 | |
| Petit problème en Python 2.6 sous l'IDE " IDLE" apparu récemment: Ce problème ne survenait pas avant, mais depuis hier pas moyen de créer une boucle ou une condition multiple sous peine de créer une erreur d'indentation (totalement gratuite puisque l'indentation est tout à fait correcte)... Je vous code vite fait une condition de merde pour vous montrer de quoi je parle: - Code:
-
IDLE 2.6.2 ==== No Subprocess ==== >>> # Super programmation pourrie pour exposer >>> # mon problème sur e-magination ! >>> >>> # déclation de notre super variable, valeur "10" assignée: >>> Super_Variable = 10 >>> if (Super_Variable < 100): # Syntaxe correcte. print "Lololo, plus petit que 100 !" # Indentation correcte else: # Indentation et Syntaxe correcte. SyntaxError: invalid syntax >>> # Et PAF une erreur !!! Ooooh joie, p-u-t-a-i-n d'IDE !!! Si quelqu'un a une idée .... Parce que ce problème commence à me gonfler :/ Le même code avec la même syntaxe et la même indentation mais sans le ELSE: - Code:
-
>>> if (Super_Variable < 100): print "lololo"
lololo
Et là, ça marche ... Ca me saouuuuule !!! EDIT: J'ai rien dit, problème résolu, l'indentation n'est pas automatique sous IDLE même si l'affichage semble correcte il faut "tabuler" une fois de plus lors des instructions ... - Code:
-
IDLE 2.6.2 ==== No Subprocess ==== >>> a=20 >>> if a < 100: print "lol" File "<pyshell#2>", line 2 print "lol" ^ IndentationError: expected an indented block >>> if a < 100: print "lol" else: File "<pyshell#5>", line 3 else: ^ IndentationError: unindent does not match any outer indentation level >>> if a < 100: print "lol" else: print "lal"
lol >>> ... Saleté, j'ai fini par t'avoir ! | |
|
| |
Contenu sponsorisé
| Sujet: Re: La programmation | |
| |
|
| |
| La programmation | |
|