質問編集履歴
2
あ
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
グラフィカルコンソールを使い、テキストファイルを読み込んで簡単な恋愛ゲームのプログラムを作りました。
|
1
|
+
グラフィカルコンソールを使い、テキストファイルを読み込んで簡単な恋愛ゲームのプログラムを作りました。
|
2
2
|
ゲーム終了の最後の画面で画像が切り替わるのですがその時に画像のように文字が浮かんだままの状態になるのですがどのようなプログラムを組めば消すことができるのでしょうか?
|
3
3
|
visual stdio2017 winコンソール
|
4
4
|
|
1
質問内容変更しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
グラフィカルコンソールを使い、テキストファイルを読み込んで簡単な恋愛ゲームのプログラムを作りました。
|
2
|
-
|
2
|
+
ゲーム終了の最後の画面で画像が切り替わるのですがその時に画像のように文字が浮かんだままの状態になるのですがどのようなプログラムを組めば消すことができるのでしょうか?
|
3
|
-
|
3
|
+
visual stdio2017 winコンソール
|
4
4
|
|
5
5
|
```ここに言語を入力
|
6
|
-
コード
|
7
|
-
```
|
8
6
|
#include <GConsoleLib.h>
|
9
7
|
#include <stdio.h>
|
10
8
|
#include "pch.h"
|
@@ -16,13 +14,20 @@
|
|
16
14
|
|
17
15
|
//画像データ
|
18
16
|
char *gp_backimage;
|
19
|
-
char g_backimage[256] =
|
17
|
+
char g_backimage[256] = {
|
20
|
-
"C:\Users\PG002\Pictures\12c2015sample\GConsole追加ファイル\sampleimg\chap6-1-back.png"
|
18
|
+
"C:\Users\PG002\Pictures\12c2015sample\GConsole追加ファイル\sampleimg\chap6-1-back.png",
|
19
|
+
};
|
21
20
|
char g_faceimage[][128] = {
|
22
21
|
"C:\Users\PG002\Pictures\12c2015sample\GConsole追加ファイル\sampleimg\chap6-1-bad.png",
|
23
22
|
"C:\Users\PG002\Pictures\12c2015sample\GConsole追加ファイル\sampleimg\chap6-1-natural.png",
|
24
23
|
"C:\Users\PG002\Pictures\12c2015sample\GConsole追加ファイル\sampleimg\chap6-1-good.png"
|
25
24
|
};
|
25
|
+
char g_endimage[][256] = {
|
26
|
+
"C:\Users\PG002\Pictures\12c2015sample\GConsole追加ファイル\sampleimg\badend.jpg",
|
27
|
+
"C:\Users\PG002\Pictures\12c2015sample\GConsole追加ファイル\sampleimg\true.jpg",
|
28
|
+
"C:\Users\PG002\Pictures\12c2015sample\GConsole追加ファイル\sampleimg\happy.jpg",
|
29
|
+
"C:\Users\PG002\Pictures\12c2015sample\GConsole追加ファイル\sampleimg\9.jpg"
|
30
|
+
};
|
26
31
|
char g_imagebuf[256]; //コマンドのファイルパスを記憶しておくバッファ
|
27
32
|
|
28
33
|
//グローバル変数
|
@@ -33,6 +38,8 @@
|
|
33
38
|
#define SCLINELEN 256//シナリオ1行の文字数
|
34
39
|
wchar_t g_scenario[SCLINEMAX][SCLINELEN];
|
35
40
|
int g_screadlines = 0; //読み込んだ行数
|
41
|
+
int freetalkcnt;
|
42
|
+
int end=0;
|
36
43
|
|
37
44
|
//関数プロトタイプ宣言
|
38
45
|
void DrawScreen();
|
@@ -93,36 +100,52 @@
|
|
93
100
|
&g_scenario[curline][6], 255);
|
94
101
|
gp_backimage = g_imagebuf;
|
95
102
|
DrawScreen();
|
103
|
+
}
|
96
|
-
|
104
|
+
else if (wcsstr(g_scenario[curline], L"#free") != NULL) {
|
97
105
|
//フリートーク
|
98
|
-
int freetalkcnt;
|
99
106
|
swscanf_s(g_scenario[curline],
|
100
107
|
L"#free %d", &freetalkcnt);
|
101
|
-
|
108
|
+
//会話
|
102
|
-
|
109
|
+
gcls();
|
103
|
-
|
110
|
+
DrawScreen();
|
104
|
-
|
111
|
+
glocate(0, 15); gcolor(255, 80, 80);
|
105
|
-
|
112
|
+
gwprintf(L"%s君。お話しようよ\n", g_name);
|
106
|
-
|
113
|
+
for (int i = 0; i < freetalkcnt; i++) {
|
107
|
-
|
114
|
+
gcolor(0, 0, 200);
|
108
|
-
|
115
|
+
ggetws(g_talkbuf, 256);
|
109
|
-
|
116
|
+
gwprintf(L"\n");
|
110
|
-
|
117
|
+
gcolor(255, 80, 80);
|
111
|
-
|
118
|
+
AnalyzeTalk();
|
119
|
+
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
}
|
112
124
|
}
|
125
|
+
int level = 1;
|
126
|
+
if (g_loverate <= 25) level = 0;
|
127
|
+
else if (g_loverate >= 75) level = 2;
|
128
|
+
end = 1;
|
129
|
+
gp_backimage = g_endimage[level];
|
130
|
+
DrawScreen();
|
113
|
-
|
131
|
+
return;
|
114
|
-
|
132
|
+
|
115
|
-
}
|
116
133
|
}
|
117
134
|
|
118
135
|
//画面表示
|
119
136
|
void DrawScreen() {
|
120
137
|
gimage(gp_backimage, 0, 24);
|
138
|
+
if (end == 0) {
|
121
|
-
|
139
|
+
//好感度によって表情を変える
|
122
|
-
|
140
|
+
int level = 1;
|
123
|
-
|
141
|
+
if (g_loverate <= 25) level = 0;
|
124
|
-
|
142
|
+
else if (g_loverate >= 75) level = 2;
|
125
|
-
|
143
|
+
gimage(g_faceimage[level], 160, 64);
|
144
|
+
}
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
126
149
|
}
|
127
150
|
|
128
151
|
//AnalyzeTalkで使用するキーワードのグローバル変数
|
@@ -193,7 +216,9 @@
|
|
193
216
|
//キーワード一致なし
|
194
217
|
if(goodfeeling == 0 && badfeeling == 0) {
|
195
218
|
int rt2num = sizeof(g_randomtalk2) / sizeof(wchar_t[128]);
|
219
|
+
if (end = 0) {
|
196
|
-
|
220
|
+
gwprintf(L"%s\n", g_randomtalk2[rand() % rt2num]);
|
221
|
+
}
|
197
222
|
}
|
198
223
|
|
199
224
|
//現在のレベル
|
@@ -208,14 +233,5 @@
|
|
208
233
|
if (oldlevel != newlevel) {
|
209
234
|
DrawScreen();
|
210
235
|
}
|
211
|
-
}> 引用テキスト
|
212
|
-
#free 5
|
213
|
-
遊びに行きましょう
|
214
|
-
#back C:\Users\PG002\Pictures\12c2015sample\GConsole追加ファイル\sampleimg\chap6-1-back02.png
|
215
|
-
#free 5
|
216
|
-
目的地についたわ
|
217
|
-
#back C:\Users\PG002\Pictures\12c2015sample\GConsole追加ファイル\sampleimg\chap6-1-back03.png
|
218
|
-
#free 10
|
219
|
-
じゃあ、また明日ね。バイバイ
|
220
|
-
|
236
|
+
}
|
221
|
-
|
237
|
+
```
|