-
Notifications
You must be signed in to change notification settings - Fork 8
/
une_citation_pas_comme_les_autres_2_2.c
171 lines (153 loc) · 5.99 KB
/
une_citation_pas_comme_les_autres_2_2.c
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
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#define MAX_LENGTH 256
void help_christian()
{
char buffer[MAX_LENGTH];
puts("\n(Vous ramassez des cailloux que vous jettez dans les vitres.)\n");
puts("[Roxane] : Qui donc m’appelle ?");
puts("[Christian] : Moi.");
puts("[Roxane] : Qui, moi ?");
puts("[Christian] : Christian.");
puts("[Roxane] : C'est vous ?");
puts("[Christian] : Je voudrais vous parler.");
puts("[Roxane] : Non ! Vous parlez trop mal. Allez-vous-en !");
puts("[Christian] : De grâce !...");
puts("[Roxane] : Non ! Vous ne m’aimez plus !\n");
printf("(Vous soufflez les mots à Christian.)\n\n[Vous] : ");
fgets(buffer, MAX_LENGTH, stdin);
fgets(buffer, MAX_LENGTH, stdin);
if (strcmp(buffer, "M'accuser, - justes dieux ! - De n'aimer plus... quand... j'aime plus !\n") != 0)
{
puts("\n(Vous ruinez la situation et partez en laissant Christian à son sort.)");
exit(EXIT_SUCCESS);
}
printf("[Christian] : %s", buffer);
printf("[Roxane] : Tiens ! mais c’est mieux !\n[Vous] : ");
fgets(buffer, MAX_LENGTH, stdin);
if (strcmp(buffer, "L'amour grandit berce dans mon ame inquiete... Que ce... cruel marmot prit pour... barcelonnette !\n") != 0)
{
puts("\n(Vous ruinez la situation et partez en laissant Christian à son sort.)");
exit(EXIT_SUCCESS);
}
puts("[Christian] : L’amour grandit bercé dans mon âme inquiète... Que ce... cruel marmot prit pour... barcelonnette !");
printf("[Roxane] : C’est mieux ! – Mais, puisqu’il est cruel, vous fûtes sot De ne pas, cet amour, l’étouffer au berceau !\n[Vous] : ");
fgets(buffer, MAX_LENGTH, stdin);
if (strcmp(buffer, "Aussi l'ai-je tente, mais... tentative nulle. Ce... nouveau-ne, Madame, est un petit... Hercule.\n") != 0)
{
puts("\n(Vous ruinez la situation et partez en laissant Christian à son sort.)");
exit(EXIT_SUCCESS);
}
puts("[Christian] : Aussi l’ai-je tenté, mais... tentative nulle. Ce... nouveau-né, Madame, est un petit... Hercule.");
printf("[Roxane] : C’est mieux !\n[Vous] : ");
fgets(buffer, MAX_LENGTH, stdin);
if (strcmp(buffer, "De sorte qu'il... strangula comme rien... Les deux serpents... Orgueil et... Doute.\n") != 0)
{
puts("\n(Vous ruinez la situation et partez en laissant Christian à son sort.)");
exit(EXIT_SUCCESS);
}
printf("[Christian] : %s\n", buffer);
puts("[Roxane] : Ah ! c’est très bien\n– Mais pourquoi parlez-vous de façon peu hâtive ?\nAuriez-vous donc la goutte à l’imaginative ?\n");
puts("(Cyrano surgit alors de la pénombre, comme s'il avait toujours été là. Il s'approche de vous et de Christian, et en chuchotant :)\n");
printf("[Cyrano] : Ah ! L'appréhension me dévorait, telle une bête féroce. Seul, je ne pouvais supporter l'incertitude qui me tenaillait le cœur. Et comment se présente donc la situation ?\n[Vous] : ");
fgets(buffer, MAX_LENGTH, stdin);
buffer[strcspn(buffer, "\n")] = 0;
printf(buffer);
puts(", dites-vous ?\nLaissez-moi votre place, je vous prie.");
fgets(buffer, MAX_LENGTH, stdin);
printf("[Vous] : ");
printf(buffer);
puts("\n\n(Cyrano prends votre place et celle de Christian et poursuit la conversation avec Roxane.)");
exit(EXIT_SUCCESS);
}
void conversation_christian()
{
puts("\n[Christian] : Je vous aime.");
puts("[Roxane] : Oui, parlez-moi d’amour.");
puts("[Christian] : Je t'aime.");
puts("[Roxane] : C'est le thème. Brodez, brodez.");
puts("[Christian] : Je vous...");
puts("[Roxane] : Brodez !");
puts("[Christian] : Je t'aime tant.");
puts("[Roxane] : Sans doute. Et puis ?");
puts("[Christian] : Et puis... je serais si content\nSi vous m’aimiez ! – Dis-moi, Roxane, que tu m’aimes !");
puts("[Roxane] : Vous m’offrez du brouet quand j’espérais des crèmes !\nDites un peu comment vous m’aimez ?...");
puts("[Christian] : Mais... beaucoup.");
puts("[Roxane] : Oh !... Délabyrinthez vos sentiments !");
puts("[Christian] : Ton cou !\nJe voudrais l’embrasser !...");
puts("[Roxane] : Christian !");
puts("[Christian] : Je t’aime !");
puts("[Roxane] : Encore !");
puts("[Christian] : Non ! je ne t’aime pas !");
puts("[Roxane] : C’est heureux !");
puts("[Christian] : Je t’adore !");
puts("[Roxane] : Oh !");
puts("[Christian] : Oui... je deviens sot !");
puts("[Roxane] : Et cela me déplaît !\nComme il me déplairait que vous devinssiez laid.");
puts("[Christian] : Mais...");
puts("[Roxane] : Allez rassembler votre éloquence en fuite !");
puts("[Christian] : Je...");
puts("[Roxane] : Vous m’aimez, je sais. Adieu.");
puts("[Christian] : Pas tout de suite !\nJe vous dirai...");
puts("[Roxane] : Que vous m’adorez... oui, je sais.\nNon ! Non ! Allez-vous-en !");
puts("[Christian] : Mais je...\n");
puts("(Elle lui ferme la porte au nez.)\n");
}
int main()
{
setvbuf(stdout, NULL, _IONBF, 0);
puts("En arrivant, Christian vous explique qu'il ne souhaite pas d'aide.");
int sel;
printf("\n1: Rester quand même\n");
printf("2: Partir\n");
printf(">>> ");
fflush(stdout);
if (1 != scanf("%d", &sel))
{
exit(0);
}
if (sel < 1 || sel > 6)
{
exit(0);
}
switch (sel)
{
case 1:
conversation_christian();
break;
case 2:
exit(EXIT_SUCCESS);
break;
default:
exit(EXIT_SUCCESS);
break;
}
sel = 0;
puts("Que faites-vous ?");
printf("\n1: Aider Christian\n");
printf("2: Partir\n");
printf(">>> ");
fflush(stdout);
if (1 != scanf("%d", &sel))
{
exit(0);
}
if (sel < 1 || sel > 6)
{
exit(0);
}
switch (sel)
{
case 1:
help_christian();
break;
case 2:
exit(EXIT_SUCCESS);
break;
default:
break;
}
return EXIT_SUCCESS;
}