IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Aide pour choix d'un projet en Algo & Prog


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Par défaut Aide pour choix d'un projet en Algo & Prog
    Bonjour,

    Je suis un élève de première année en MIASHS (Math Info Associé aux Sciences Humaines et Sociales). Pour la fin de ce semestre en Algo & Prog, avec mon collègue nous devront faire un programme. Le prof nous conseil de préférence un jeu pour l'aspect ludique.

    Hier, il a écouté nos propositions et les a rejetées en bloque. Je voulais faire un RPG texte car cela comportait assez de difficultés en termes de programmation mais le prof ne veut pas car pour lui ce serait une succession de condition (si...alors...) et aurait une arborescence monstrueuse (Je suis certes d'accord avec lui mais je trouvais ça dynamisant et énorme =D). Nous avions proposé aussi un blackjack mais pas assez concret, un jeu sur les probabilités et en une journée c'était bouclé...

    En bref, depuis cela nous n'arrivons pas a réfléchir a un projet concret et qui correspondrait aux attentes du professeur.

    Voilà nos contraintes :

    - Le prof veut que l'ordinateur puisse agir de lui même.
    - Nous n'avons pas abordé en cours la notion d'interface graphique donc on est bloqué sur une app console. (Ce qui nous handicap vraiment!)
    - Pas de jeu type jeu de l'oie ...
    - Il a refusé des jeu comme le tarot mais accepte des Unos ou des Mastermind.
    - Franchement, on as peu de notion en programmation... Console, texte... Le dernier truc appris c'est l'utilisation des tableaux multidimensionnel...
    - On utilise Delphi 6
    - En gros on est des "noobs"
    - Et on ne dois surtout pas sortir de nos connaissances actuels. (Malheureusement)


    Donc, je fais ce post sur votre forum pour lancer un appel à l'aide pour des idées de projets dans nos contraintes actuelles parce que sérieusement cela nous ennui énormément et du coup on tourne en rond.

    Cordialement,

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 127
    Par défaut
    Salut,

    moi je vote pour le Mastermind, avec le computer qui cherche la combinaison.

    En termes d'algo (c'est ça qu'on vous demande !), ça peut être sympa à envisager en console, en commençant par la saisie des paramètres de la partie :
    • nombre de colonnes (4 ? 5 ? 6 ? + ?) ;
    • nombre de couleurs possibles,
    puis la gestion du computer qui propose ses combinaisons,
    et le joueur qui y répond.

    Rajouter une espèce de chronomètre pour mesurer le temps de réflexion du programme à chaque partie,
    travailler sur des optimisations...

    Sympa...

    PS : Soigne un tout petit peu plus ton français
    nous devronst faire un programme. Le prof nous conseille de
    mais c'est très bien par rapport à d'autres

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Par défaut
    Désolé pour les fautes, il était tard et j'ai tout écrit d'un traite sans vraiment me relire ^^'

    Effectivement, quand j'ai entendu d'autres personnes proposer le Mastermind ça tournait sous le sens mais avec mon collègue nous ne voulons pas faire le même projet que les autres (du moins ceux de notre groupe d'étude) alors j'attends d'autres réponses et sinon l'idée du Mastermind s’imposera à nous.
    D'ailleurs, vous parlez d'un chronomètre? Comment faire une tel chose ? Nous ne l'avons pas vu en cours.

    Cordialement et merci d'avance pour vos réponses .

  4. #4
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 127
    Par défaut
    Yep !
    Citation Envoyé par Ravnos Voir le message
    (...) sans vraiment me relire ^^'
    Ah la la, , lis attentivement ma signature !

    (Sans déc', un post écrit à la "va-comm'-j'te-pousse", où il faut décoder au milieu de plein de fautes, ça donne pas envie de répondre)

    Citation Envoyé par Ravnos Voir le message
    (...) D'ailleurs, vous parlez d'un chronomètre? Comment faire une telle chose ? Nous ne l'avons pas vu en cours.
    Un truc qui se lance lorsque le programme prend la main pour chercher une soluce, et s'arrête lorsqu'il la propose.
    Variables globales (pour le temps cumulé), et faire une recherche sur GetTickCount et/ou QueryPerformanceCounter.

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 593
    Billets dans le blog
    65
    Par défaut
    proposer un SUDOKU n'aurait aucun sens puisque la soluce se trouve dans les de Défi Delphi ?

  6. #6
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    il y a un "jeu" intéressant à faire, c'est un jeu qui rend l'ordinateur de plus en plus intelligent:

    exemple (P= Programme , J = Joueur)

    Première partie:
    P> Pense à un animal
    P> Est-ce qu'il a 4 pattes ?
    J> Oui
    P> Est-ce un chat
    J> Non
    P> Qu'est-ce que c'est ?
    J> un chien
    P> comment différencier un chat et un chien ?
    J> Est-ce qu'il miaule ?

    Deuxième partie:
    P> Pense à un animal
    P> Est-ce qu'il a 4 pattes ?
    J> Oui
    P> Est-ce qu'il miaule ?
    J> Non
    P> Est-ce un chien
    J> Non
    P> Qu'est-ce que c'est ?
    J> un cheval
    P> comment différencier un chien et un cheval ?
    J> Est-ce qu'il aboie ?

    ça peut paraître bête mais il est possible de monter une hotline sur ce principe, le type au téléphone se contente de suivre le questionnaire avant de solliciter un vrai technicien c'est possible pour une aide en ligne aussi, façon "Résolution des problèmes" de Microsoft
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Citation Envoyé par Ravnos Voir le message
    Hier, il a écouté nos propositions et les a rejetées en bloque. Je voulais faire un RPG texte car cela comportait assez de difficultés en termes de programmation mais le prof ne veut pas car pour lui ce serait une succession de condition (si...alors...)
    Votre prof ne voit que la méthode bête codée en dur !
    Quel manque d'imagination !

    Citation Envoyé par Ravnos Voir le message
    et aurait une arborescence monstrueuse (Je suis certes d'accord avec lui mais je trouvais ça dynamisant et énorme =D).
    Tout dépend de la manière, j'ai proposé une approche RTTI dans le sujet Créer un jeu d'aventure textuel, le scénario du jeu pouvant être stocké dans un fichier XML, indiquant différent élément d'affichage, de question\réponse ... le but n'étant pas de faire le scénario mais plutôt l'éditeur de scénario et le moteur d'interprétation

    le défi sera de faire un RPG Textuel SANS faire justement un tas de switch mais via un petit moteur de script !
    Chaque séquence est contenu dans une structure, chaque "reponse" ou "action" amène à une autre séquence

    Un XML serait un peu trop complexe, mais l'on peut se débrouiller avec un fichier INI

    Vous savez lire des fichiers ?
    Oui ! Les choses intéressantes peuvent entrevue !
    Non ! Oubliez ma proposition


    Au final, c'est la même chose qu'évoqué par Paul Toth, c'est un algo pour créer un Agent Conversationnel, si l'on pousse à l'extrême ce type de procédé on peut avoir des agents cognitifs et si l'on couple plusieurs agents qui peuvent entrer en "collision" ça peut donner un "Système multi-agents".
    Tout cela sont des prémices pour une Intelligence Artificielle !

    Les services de Chat qui vous propose de l'aide quand vous semblez ne pas savoir où aller sur un site, ce sont en réalité des robots qui vous répondent.
    Siri sur Apple n'est pas très éloigné de cela, c'est juste un algo plus poussé que le bien connu Merlin dans Microsoft Office

    En plus, un "Agent Conversationnel", je trouve que cela va parfaitement avec vos études "Sciences Humaines et Sociales", vous aborderez un thème classique d'interaction homme-machine, comment rendre un programme plus "humain" : Watson de IBM

    Tu ne feras point de machine à l'esprit de l'Homme semblable Jihad Butlérien
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  8. #8
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Le Moteur de Script est effectivement trop facile à écrire !
    Faire un Editeur avec un TTreeView (appli Win32) serait plus intéressant à coder, dommage que vous soyez limité au mode console !

    Un RPG, votre prof a raison, c'est trop facile !
    Ou alors il faudrait varier les plaisirs avec des situations plus complexes qu'un pauvre QCM

    J'ai tapé cela sur notepad, ce n'est pas exempt d'erreur !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
     
    unit uRavnosScriptEngine;
     
    interface
     
    uses Classes, SysUtils, Controls,
      IniFiles;
     
    type
      TRavnosScriptStep = function(const AStepName: string): boolean of object;
     
      TRavnosScriptAction = record
        ID: Integer;
        Text: string;
        Next: string;
      end;
      TRavnosScriptActionDynArray = array of TRavnosScriptAction;
      TRavnosScriptActionEvent = function(const Actions: TRavnosScriptActionDynArray): integer of object;
      TRavnosScriptTextEvent = procedure(const Text: TStringList) of object;
      TRavnosScriptQuestionEvent = function(const Text: TStringList; const Actions: TRavnosScriptActionDynArray): integer of object;
     
      TRavnosScriptEngine = class(TPersistent)
      private
        FIniFile: TIniFile;
        FOnAction: TRavnosScriptActionEvent;
        FOnText: TRavnosScriptTextEvent;
        FOnQuestion: TRavnosScriptQuestionEvent;
     
        function ProcessStep(var AStepName: string): boolean;
      public    
        destructor Destroy();
     
        procedure Start(const ScriptFileName: TFileName);
     
        property OnAction: TRavnosScriptActionEvent read FOnAction write FOnAction;
        property OnText: TRavnosScriptTextEvent read FOnText write FOnText;
        property OnQuestion: TRavnosScriptQuestionEvent read FOnQuestion write FOnQuestion;
     
      published  
        function ProcessActions(var AStepName: string): boolean;
        function ProcessText(var AStepName: string): boolean;
        function ProcessQuestion(var AStepName: string): boolean;
      end;
     
    implementation
     
    destructor TRavnosScriptEngine.Destroy();
    begin
      FreeAndNil(FIniFile);
     
      inherited;
    end;
     
    procedure TRavnosScriptEngine.Start(const ScriptFileName: TFileName);
    var
      StepName: string;
    begin
      FIniFile.Free();
      FIniFile := TIniFile.Create(ScriptFileName) ;
     
      StepName := 'EntryPoint';
      while ProcessStep(StepName) do;
    end;
     
    function TRavnosScriptEngine.ProcessStep(var AStepName: string): boolean;
    var
      StepMethodName: string;
      AddressMethod: TMethod;
    begin
      Result := False;
     
      if FIniFile.SectionExists(AStepName) then
      begin
        StepMethodName := FIniFile.ReadString(AStepName, 'MethodName', '');
        AddressMethod.Code := Self.MethodAddress(StepMethodName);
        AddressMethod.Data := Self;
        if Assigned(AddressMethod.Code) then
          Result := TRavnosScriptStep(AddressMethod)(AStepName);
      end;
    end;
     
    function TRavnosScriptEngine.ProcessActions(var AStepName: string): boolean;
    var
      ActionCount: Integer;
      iAction: Integer;
      ActionName: string;
      ActionLabel: string;
      Actions: TRavnosScriptActionDynArray;
    begin
      Result := False;  
     
      if Assigned(FOnAction) then
      begin
        ActionCount := FIniFile.ReadInteger(AStepName, 'ActionCount', 0);
        if ActionCount > 0 then
        begin
          SetLength(Actions, ActionCount);
          for iAction := 0 to ActionCount - 1 do
          begin
            ActionName := Format('A%d', [iAction]);
            Actions[iAction].ID := iAction;
            Actions[iAction].Text := FIniFile.ReadString(AStepName, ActionName + '.Text', '');	
            Actions[iAction].Next := FIniFile.ReadString(AStepName, ActionName + '.Next', '');	
          end;
     
          iAction := FOnAction(Actions);
          if (Low(Actions) <= iAction) and (iAction <= High(Actions)) then
          begin
          	AStepName := Actions[iAction].Next;  
          	Result = AStepName <> '';
          end;
        end;
      end;
    end;
     
    function TRavnosScriptEngine.ProcessText(var AStepName: string): boolean;
    var
      TextCount: Integer;
      iText: Integer;
      TextName: string;
      Text: TStringList;
    begin
      Result := False;  
     
      if Assigned(FOnText) then
      begin
        TextCount := FIniFile.ReadInteger(AStepName, 'TextCount', 0);
        if TextCount > 0 then
        begin
          Text := TStringList.Create();
          try
            Text.Capacity := TextCount;
            for iText := 0 to TextCount - 1 do
            begin
              TextName := Format('T%d', [iText]);
              Text.Add(FIniFile.ReadString(AStepName, TextName, ''));	
            end;
     
          	FOnText(Text); 
     
          	AStepName = FIniFile.ReadString(AStepName, 'Next', '')
          	Result := AStepName <> '';
          finally
            Text.Free(); 
          end;
        end;    
      end;
    end;
     
    function TRavnosScriptEngine.ProcessQuestion(var AStepName: string): boolean;
    var
      QuestionCount: Integer;
      iQuestion: Integer;
      QuestionName: string;
      Question: TStringList;
      ResponseCount: Integer;
      iResponse: Integer;
      ResponseName: string;
      ResponseLabel: string;
      Responses: TRavnosScriptResponseDynArray;
     begin
      Result := False;  
     
      if Assigned(FOnQuestion) then
      begin
        QuestionCount := FIniFile.ReadInteger(AStepName, 'QuestionCount', 0);
        ResponseCount := FIniFile.ReadInteger(AStepName, 'ResponseCount', 0);
        if (QuestionCount > 0) and ( ResponseCount > 0) then
        begin
          Question := TStringList.Create();
          try
            Question.Capacity := QuestionCount;
            for iQuestion := 0 to QuestionCount - 1 do
            begin
              QuestionName := Format('Q%d', [iQuestion]);
              Question.Add(FIniFile.ReadString(AStepName, QuestionName, ''));	
            end;
     
            SetLength(Responses, ResponseCount);
            for iResponse := 0 to ResponseCount - 1 do
            begin
              ResponseName := Format('R%d', [iResponse]);
              Responses[iResponse].ID := iResponse;
              Responses[iResponse].Text := FIniFile.ReadString(AStepName, ResponseName + '.Text', '');	
              Responses[iResponse].Next := FIniFile.ReadString(AStepName, ResponseName + '.Next', '');	
            end;
     
            iResponse := FOnResponse(Responses);
            if (Low(Responses) <= iResponse) and (iResponse <= High(Responses)) then
            begin
              AStepName := Responses[iResponse].Next;  
              Result = AStepName <> '';
            end;
          finally
            Text.Free(); 
          end;
        end;
      end;   
    end;
     
     
    end.
    le plus long c'est le fichier ini décrivant le labyrinthe !
    Code ini : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    [EntryPoint]
    MethodName=ProcessActions
    ActionCount=3
    A1.Next=Play
    A1.Text=Jouer
    A2.Next=
    A2.Text=Quitter
    A3.Next=Credit
    A3.Text=Crédit
    
    [Play]
    MethodName=ProcessText
    TextCount=2
    T1=Bienvenue dans le Chateau du compte Ravnos
    T2=Bla Bla Bla
    Next=Donjon.0
    
    [Credit]
    MethodName=ProcessText
    TextCount=3
    T1=Design by Kévin "Ravnos" Grimonpon 
    T2=Program by ... mon collègue ...
    T3=Inspired by Shaï Le Troll
    Next=EntryPoint
    
    [Donjon.0]
    MethodName=ProcessQuestion
    QuestionCount=1
    Q1=Ouvrir la Porte principale du Chateau du compte Ravnos
    ResponseCount=2
    R1.Next=Donjon.1.0
    R1.Text=Oui
    R2.Next=Donjon.0.0
    R2.Text=Non, explorer les environs
    
    [Donjon.0.0]
    MethodName=ProcessQuestion
    QuestionCount=1
    Q1=Ou allez vous ?
    ResponseCount=4
    R1.Next=Donjon.0
    R1.Text=Vers le Chateau
    R2.Next=Donjon.1
    R2.Text=Vers le Jardin
    R3.Next=Donjon.2
    R3.Text=Vers la Foret 
    R4.Next=Donjon.3
    R4.Text=Vers le village 
    
    [Donjon.1.0]
    MethodName=ProcessQuestion
    QuestionCount=1
    Q1=Ou allez vous dans le Chateau
    ResponseCount=4
    R1.Next=Donjon.1.0.0
    R1.Text=Explorer le rez de chaussée
    R2.Next=Donjon.1.0.1
    R2.Text=Monter l'escalier
    R3.Next=Donjon.1.0.-1
    R3.Text=Descendre l'escalier
    R4.Next=Donjon.0.0
    R4.Text=Sortir
    
    [Donjon.1.0.0]
    MethodName=ProcessQuestion
    QuestionCount=1
    Q1=Le rez de chaussée vous offre plusieurs portes, laquelle choisir ?
    ResponseCount=...
    ...
    ...
    R?.Next=Donjon.1.0
    R?.Text=Retour vers l'escalier
    
    [Donjon.1.0.1]
    MethodName=ProcessQuestion
    QuestionCount=1
    Q1=Le Premier etage est composé de pleins de salle
    ResponseCount=...
    ...
    ...
    R?.Next=Donjon.1.0.2
    R?.Text=Monter l'escalier vers le second
    R?.Next=Donjon.1.0
    R?.Text=Descendre l'escalier vers le rez de chaussée
    
    [Donjon.1.0.-1]
    MethodName=ProcessQuestion
    QuestionCount=1
    Q1=Le sous sol vous amène dans vers de obscures défis
    ResponseCount=...
    ...
    ...
    R?.Next=Donjon.1.0.-2
    R?.Text=Affronter les profondeurs
    R?.Next=Donjon.1.0
    R?.Text=fuyez vers le rez de chaussée
    
    ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  9. #9
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 166
    Billets dans le blog
    9
    Par défaut
    Je suis tombé récemment sur cette page. C'est tout simple mais pourquoi pas ?

  10. #10
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Citation Envoyé par Ravnos Voir le message
    Voilà nos contraintes :

    - Le prof veut que l'ordinateur puisse agir de lui même.
    ...
    Est-ce que cette contrainte est respecté par un jeu de paire ?
    D'ailleurs, je ne vois pas non plus l'action de l'ordinateur dans un jeu de Mastermind et pas plus dans le RPG Textuel dont j'ai fourni le code

    Si l'action de l'ordinateur se limite à tirer une séquence aléatoire puis à indiquer si l'on s'approche de la combinaison, je ne vois pas du tout le "agir de lui même", ce n'est que de l'action-réaction !

    Je pense qu'un jeu comme un Puissance 4 ou un Jeu de Dame serait plus proche du "agir de lui même" par l'aspect plus variée des réactions si l'on programme un "joueur COM" que l'on peut affronter !
    Cela reste du "action-réaction" mais le nombre de possibilité étant très varié, il est nettement moins prévisible, surtout si l'on ajoute un peu d'aléatoire dans le choix de la réaction parmi les meilleurs possibles

    Je l'avais fait sur Ti-80 pour un Morpion, j'en ai même cramé 2 Ti avec ce programme de 8196 pas, mon Puissance 4 sur Hp-48 était fort pourri !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  11. #11
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 127
    Par défaut
    Yep !
    Citation Envoyé par ShaiLeTroll Voir le message
    Est-ce que cette contrainte est respecté par un jeu de paire ?
    D'ailleurs, je ne vois pas non plus l'action de l'ordinateur dans un jeu de Mastermind et pas plus dans le RPG Textuel dont j'ai fourni le code

    Si l'action de l'ordinateur se limite à tirer une séquence aléatoire puis à indiquer si l'on s'approche de la combinaison, je ne vois pas du tout le "agir de lui même", ce n'est que de l'action-réaction !(...)
    Quand JE joue au Mastermind, je réfléchis parfois très longtemps avant de proposer une combinaison, ma réflexion s'appuyant sur les résultats des combinaisons précédentes ; le but de la manip est quand même de trouver la soluce dans un minimum de coups.
    C'est dans ce sens que je proposais ce jeu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Choix d'un logiciel CMS
    Par wnadine dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 30/10/2007, 16h12
  2. Aide pour choix d'hotel en vue d'un Workshop
    Par blackstreet dans le forum La taverne du Club : Humour et divers
    Réponses: 2
    Dernier message: 22/05/2007, 11h09
  3. Aide pour départ d'un projet
    Par Spy-ST dans le forum C++
    Réponses: 6
    Dernier message: 14/01/2007, 23h44
  4. [Spip] [Choix] Aide pour Choix CMS pour un magazine people
    Par chesko dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 27/12/2006, 22h36
  5. [Choix] Aide pour choix de langage s.v.p
    Par Machjaghjolu dans le forum Langages de programmation
    Réponses: 12
    Dernier message: 26/06/2004, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo