質問編集履歴

2

書式の変更

2021/04/17 11:57

投稿

papu12
papu12

スコア2

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,17 @@
8
8
 
9
9
 
10
10
 
11
+ ```
12
+
13
+ 線がかぶってしまって見えない
14
+
15
+ ```
16
+
17
+
18
+
19
+ ### 該当のソースコード
20
+
11
- ``````c言語
21
+ ```c言語
12
22
 
13
23
  #include "DxLib.h"
14
24
 
@@ -466,21 +476,7 @@
466
476
 
467
477
  ```
468
478
 
469
- 線がかぶってしまって見えない
479
+
470
-
471
- ```
472
-
473
-
474
-
475
- ### 該当のソースコード
476
-
477
-
478
-
479
-
480
-
481
-
482
-
483
- ```
484
480
 
485
481
 
486
482
 

1

書式の変更

2021/04/17 11:57

投稿

papu12
papu12

スコア2

test CHANGED
File without changes
test CHANGED
@@ -8,6 +8,462 @@
8
8
 
9
9
 
10
10
 
11
+ ``````c言語
12
+
13
+ #include "DxLib.h"
14
+
15
+ #include<math.h>
16
+
17
+ const char TITLE[] = "";
18
+
19
+
20
+
21
+ const int WIN_WIDTH = 600; //ウィンドウ横幅
22
+
23
+ const int WIN_HEIGHT = 400;//ウィンドウ縦幅
24
+
25
+
26
+
27
+ #define BC 20000//黒線の制限
28
+
29
+ #define EC 20000//消しゴムの制限
30
+
31
+ int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nCmdShow)
32
+
33
+ {
34
+
35
+ ChangeWindowMode(TRUE); //ウィンドウモードに設定
36
+
37
+ //ウィンドウサイズを手動では変更できず、かつウィンドウサイズに合わせて拡大できないようにする
38
+
39
+ SetWindowSizeChangeEnableFlag(FALSE, FALSE);
40
+
41
+ SetMainWindowText(TITLE); // タイトルを変更
42
+
43
+ SetGraphMode(WIN_WIDTH, WIN_HEIGHT, 32); //画面サイズの最大サイズ、カラービット数を設定(モニターの解像度に合わせる)
44
+
45
+ SetWindowSizeExtendRate(1.0); //画面サイズを設定(解像度との比率で設定)
46
+
47
+ SetBackgroundColor(255, 255, 255); // 画面の背景色を設定する
48
+
49
+
50
+
51
+ //Dxライブラリの初期化
52
+
53
+ if (DxLib_Init() == -1) { return -1; }
54
+
55
+
56
+
57
+ //(ダブルバッファ)描画先グラフィック領域は裏面を指定
58
+
59
+ SetDrawScreen(DX_SCREEN_BACK);
60
+
61
+
62
+
63
+ //画像などのリソースデータの変数宣言と読み込み
64
+
65
+ int BlackPenX = 0, BlackPenY = 0, Blackradiuss = 1;//書き始めのところ
66
+
67
+ int eraserPenX = 0, eraserPenY = 0, eraserradiuss = 10;//書き始めのところ
68
+
69
+
70
+
71
+ //黒線のx、y
72
+
73
+ int BlackLineX[BC];//点と点結ぶ線のx
74
+
75
+ int BlackLineY[BC];//点と点結ぶ線のy
76
+
77
+ int radius[BC];
78
+
79
+ int flag[BC];
80
+
81
+
82
+
83
+ //消しゴム
84
+
85
+ int eraserX[EC];//点と点結ぶ線のx
86
+
87
+ int eraserY[EC];//点と点結ぶ線のy
88
+
89
+ int eraserradius[EC];
90
+
91
+ int eraserflag[EC];
92
+
93
+
94
+
95
+ int mousex = 0, mousey = 0;//mouse座標の取得
96
+
97
+ //int BlackPenX, BlackPenY, Blackradiuss;
98
+
99
+ //
100
+
101
+ //黒線の初期化位置をBlackPenX,yに
102
+
103
+ for (int i = 0; i < BC; i++) {
104
+
105
+ BlackLineX[i] = BlackPenX, BlackLineY[i] = BlackPenY, radius[i] = Blackradiuss, flag[i] = 0;
106
+
107
+ }
108
+
109
+
110
+
111
+ for (int i = 0; i < EC; i++) {
112
+
113
+ eraserX[i] = eraserPenX, eraserY[i] = eraserPenY, eraserradius[i] = eraserradiuss, eraserflag[i] = 0;
114
+
115
+ }
116
+
117
+
118
+
119
+ int clickX, clickY;
120
+
121
+ int counttimer = 0;
122
+
123
+ int Ecounttimer = 0;
124
+
125
+ int hanareflag = 0;
126
+
127
+ int type = 0;
128
+
129
+ int kaeflag = 0;
130
+
131
+ int mousetouch = 0;
132
+
133
+ //ゲームループで使う変数の宣言
134
+
135
+ char keys[256] = { 0 }; //最新のキーボード情報用
136
+
137
+ char oldkeys[256] = { 0 };//1ループ(フレーム)前のキーボード情報
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+ // ゲームループ
148
+
149
+ while (1)
150
+
151
+ {
152
+
153
+ //最新のキーボード情報だったものは1フレーム前のキーボード情報として保存
154
+
155
+
156
+
157
+ //最新のキーボード情報を取得
158
+
159
+ GetHitKeyStateAll(keys);
160
+
161
+
162
+
163
+ //画面クリア
164
+
165
+ ClearDrawScreen();
166
+
167
+ //--------- ここからプログラムを記述 ----------//
168
+
169
+
170
+
171
+ //更新処理
172
+
173
+ //mouseがタッチ去れた時に建てる
174
+
175
+ if ((GetMouseInput() & MOUSE_INPUT_LEFT) == 1)
176
+
177
+ {
178
+
179
+ mousetouch = 1;
180
+
181
+ }
182
+
183
+ if ((GetMouseInput() & MOUSE_INPUT_LEFT) == 0)
184
+
185
+ {
186
+
187
+ mousetouch = 0;
188
+
189
+ }
190
+
191
+
192
+
193
+ //消しゴムとペンの切り替えフラグ
194
+
195
+ if (keys[KEY_INPUT_1] == 1) {
196
+
197
+ type = 1;
198
+
199
+ }
200
+
201
+ if (type == 1) {
202
+
203
+ if (keys[KEY_INPUT_2] == 1) {
204
+
205
+ kaeflag = 1;
206
+
207
+ type = 0;
208
+
209
+ }
210
+
211
+ }
212
+
213
+
214
+
215
+ //全部消すやつ
216
+
217
+ if (keys[KEY_INPUT_0] == 1) {
218
+
219
+ counttimer = 0;
220
+
221
+ Ecounttimer = 0;
222
+
223
+ }
224
+
225
+
226
+
227
+ //黒線の方の処理
228
+
229
+ GetMousePoint(&mousex, &mousey);
230
+
231
+ GetMouseInput();
232
+
233
+
234
+
235
+ //mouseが押されたらフラグを1に
236
+
237
+ if ((GetMouseInput() & MOUSE_INPUT_LEFT) == 1){
238
+
239
+ GetMousePoint(&clickX, &clickY);
240
+
241
+ for (int i = 0; i < BC; i++) {
242
+
243
+ flag[i] = 1;
244
+
245
+ }
246
+
247
+ }
248
+
249
+
250
+
251
+ //カーソル座標をクリック位置に
252
+
253
+ for (int i = 0; i < BC; i++) {
254
+
255
+ if (flag[i] == 1) {
256
+
257
+ BlackPenX = clickX;
258
+
259
+ BlackPenY = clickY;
260
+
261
+ }
262
+
263
+ }
264
+
265
+
266
+
267
+ if (BlackPenX != 0 && BlackPenY != 0) {
268
+
269
+ BlackLineX[counttimer] = BlackPenX;
270
+
271
+ BlackLineY[counttimer] = BlackPenY;
272
+
273
+
274
+
275
+ //制限時間内であれば残像の描画を1ずつ増やす
276
+
277
+ if (counttimer < BC&&type!=1&&mousetouch!=0) { counttimer++; }
278
+
279
+ DrawFormatString(80, 5, GetColor(0, 0, 0), "%d", counttimer);
280
+
281
+ }
282
+
283
+
284
+
285
+ //黒線描画処理 点
286
+
287
+ for (int i = 2; i < counttimer; i++) {
288
+
289
+ DrawCircle(BlackLineX[i], BlackLineY[i], radius[i], GetColor(0, 0, 0), TRUE);
290
+
291
+
292
+
293
+ //線と線の距離を求める
294
+
295
+ double length = sqrt(((BlackLineX[i] - BlackLineX[i - 1]) * (BlackLineX[i] - BlackLineX[i - 1])) + ((BlackLineY[i] - BlackLineY[i - 1]) * (BlackLineY[i] - BlackLineY[i - 1])));
296
+
297
+
298
+
299
+ if(length < 60) {//ある程度の距離が離れるようだったら線引けないようにする
300
+
301
+ DrawLine(BlackLineX[i - 1], BlackLineY[i - 1], BlackLineX[i], BlackLineY[i], GetColor(0, 0, 0));
302
+
303
+ }
304
+
305
+ }
306
+
307
+ //黒線処理おわり//
308
+
309
+
310
+
311
+ ////////////////
312
+
313
+
314
+
315
+ //消しゴムの方の処理
316
+
317
+ if ((GetMouseInput() & MOUSE_INPUT_LEFT) == 1){
318
+
319
+ GetMousePoint(&clickX, &clickY);
320
+
321
+ for (int i = 0; i < EC; i++) {
322
+
323
+ eraserflag[i] = 1;
324
+
325
+ }
326
+
327
+ }
328
+
329
+
330
+
331
+ //カーソル座標をクリック位置に
332
+
333
+ for (int i = 0; i < EC; i++) {
334
+
335
+ if (eraserflag[i] == 1) {
336
+
337
+ eraserPenX = clickX;
338
+
339
+ eraserPenY = clickY;
340
+
341
+ }
342
+
343
+ }
344
+
345
+
346
+
347
+ if (eraserPenX != 0 && eraserPenY != 0) {
348
+
349
+ eraserX[Ecounttimer] = eraserPenX;
350
+
351
+ eraserY[Ecounttimer] = eraserPenY;
352
+
353
+
354
+
355
+ if (Ecounttimer < BC&&type==1&&mousetouch==1) {
356
+
357
+ Ecounttimer++;
358
+
359
+ }//制限時間内であれば点の描画を1ずつ増やす
360
+
361
+ DrawFormatString(80, 5, GetColor(0, 0, 0), "%d", Ecounttimer);
362
+
363
+ }
364
+
365
+
366
+
367
+ //消しゴムのやつ描画 点
368
+
369
+ for (int i = 2; i < Ecounttimer; i++) {
370
+
371
+ DrawCircle(eraserX[i], eraserY[i], eraserradius[i], GetColor(255, 255, 255), TRUE);
372
+
373
+
374
+
375
+ //線分の点と点の距離が一定数離れたら線を描画しないようにする
376
+
377
+ double Elength = sqrt(((eraserX[i] - eraserX[i - 1]) * (eraserX[i] - eraserX[i - 1])) + ((eraserY[i] - eraserY[i - 1]) * (eraserY[i] - eraserY[i - 1])));
378
+
379
+ if (Elength < 40) {
380
+
381
+ if (type == 1) {
382
+
383
+ DrawLine(eraserX[i - 1], eraserY[i - 1], eraserX[i], eraserY[i], GetColor(255, 255, 255));
384
+
385
+ }
386
+
387
+ }
388
+
389
+ DrawFormatString(0, 12, GetColor(0, 0, 0), "%d,%d", Ecounttimer, counttimer);
390
+
391
+ }
392
+
393
+
394
+
395
+
396
+
397
+ //新みたいなやう
398
+
399
+ if (type == 0) {
400
+
401
+ DrawLine(BlackPenX, BlackPenY, BlackPenX + Blackradiuss, BlackPenY + Blackradiuss, GetColor(0, 0, 0));
402
+
403
+ }
404
+
405
+ else {
406
+
407
+ DrawLine(eraserPenX, eraserPenY, eraserPenX + eraserradiuss, eraserPenY + eraserradiuss, GetColor(255, 255, 255));
408
+
409
+ }
410
+
411
+ //説明書きのところ
412
+
413
+ DrawFormatString(0, 0, GetColor(0, 0, 0), "全削除:0");
414
+
415
+ if (type == 0) {
416
+
417
+ DrawFormatString(0, 50, GetColor(0, 0, 0), "消しゴム:1 OFF");
418
+
419
+ }
420
+
421
+ else {
422
+
423
+ DrawFormatString(0, 50, GetColor(0, 0, 0), "消しゴム:1 ON");
424
+
425
+ }
426
+
427
+ //--------- ここまでにプログラムを記述 ---------//
428
+
429
+ ScreenFlip();//(ダブルバッファ)裏面
430
+
431
+ // 20ミリ秒待機(疑似60FPS)
432
+
433
+ WaitTimer(20);
434
+
435
+ // Windows システムからくる情報を処理する
436
+
437
+ if (ProcessMessage() == -1)
438
+
439
+ {
440
+
441
+ break;
442
+
443
+ }
444
+
445
+ // ESCキーが押されたらループから抜ける
446
+
447
+ if (CheckHitKey(KEY_INPUT_ESCAPE) == 1)
448
+
449
+ {
450
+
451
+ break;
452
+
453
+ }
454
+
455
+ }
456
+
457
+ //Dxライブラリ終了処理
458
+
459
+ DxLib_End();
460
+
461
+
462
+
463
+ return 0;
464
+
465
+ }
466
+
11
467
  ```
12
468
 
13
469
  線がかぶってしまって見えない
@@ -20,463 +476,9 @@
20
476
 
21
477
 
22
478
 
23
- ``c言語
479
+
24
-
25
-
26
-
27
- #include "DxLib.h"
480
+
28
-
29
- #include<math.h>
481
+
30
-
31
- const char TITLE[] = "";
32
-
33
-
34
-
35
- const int WIN_WIDTH = 600; //ウィンドウ横幅
36
-
37
- const int WIN_HEIGHT = 400;//ウィンドウ縦幅
38
-
39
-
40
-
41
- #define BC 20000//黒線の制限
42
-
43
- #define EC 20000//消しゴムの制限
44
-
45
- int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nCmdShow)
46
-
47
- {
48
-
49
- ChangeWindowMode(TRUE); //ウィンドウモードに設定
50
-
51
- //ウィンドウサイズを手動では変更できず、かつウィンドウサイズに合わせて拡大できないようにする
52
-
53
- SetWindowSizeChangeEnableFlag(FALSE, FALSE);
54
-
55
- SetMainWindowText(TITLE); // タイトルを変更
56
-
57
- SetGraphMode(WIN_WIDTH, WIN_HEIGHT, 32); //画面サイズの最大サイズ、カラービット数を設定(モニターの解像度に合わせる)
58
-
59
- SetWindowSizeExtendRate(1.0); //画面サイズを設定(解像度との比率で設定)
60
-
61
- SetBackgroundColor(255, 255, 255); // 画面の背景色を設定する
62
-
63
-
64
-
65
- //Dxライブラリの初期化
66
-
67
- if (DxLib_Init() == -1) { return -1; }
68
-
69
-
70
-
71
- //(ダブルバッファ)描画先グラフィック領域は裏面を指定
72
-
73
- SetDrawScreen(DX_SCREEN_BACK);
74
-
75
-
76
-
77
- //画像などのリソースデータの変数宣言と読み込み
78
-
79
- int BlackPenX = 0, BlackPenY = 0, Blackradiuss = 1;//書き始めのところ
80
-
81
- int eraserPenX = 0, eraserPenY = 0, eraserradiuss = 10;//書き始めのところ
82
-
83
-
84
-
85
- //黒線のx、y
86
-
87
- int BlackLineX[BC];//点と点結ぶ線のx
88
-
89
- int BlackLineY[BC];//点と点結ぶ線のy
90
-
91
- int radius[BC];
92
-
93
- int flag[BC];
94
-
95
-
96
-
97
- //消しゴム
98
-
99
- int eraserX[EC];//点と点結ぶ線のx
100
-
101
- int eraserY[EC];//点と点結ぶ線のy
102
-
103
- int eraserradius[EC];
104
-
105
- int eraserflag[EC];
106
-
107
-
108
-
109
- int mousex = 0, mousey = 0;//mouse座標の取得
110
-
111
- //int BlackPenX, BlackPenY, Blackradiuss;
112
-
113
- //
114
-
115
- //黒線の初期化位置をBlackPenX,yに
116
-
117
- for (int i = 0; i < BC; i++) {
118
-
119
- BlackLineX[i] = BlackPenX, BlackLineY[i] = BlackPenY, radius[i] = Blackradiuss, flag[i] = 0;
120
-
121
- }
122
-
123
-
124
-
125
- for (int i = 0; i < EC; i++) {
126
-
127
- eraserX[i] = eraserPenX, eraserY[i] = eraserPenY, eraserradius[i] = eraserradiuss, eraserflag[i] = 0;
128
-
129
- }
130
-
131
-
132
-
133
- int clickX, clickY;
134
-
135
- int counttimer = 0;
136
-
137
- int Ecounttimer = 0;
138
-
139
- int hanareflag = 0;
140
-
141
- int type = 0;
142
-
143
- int kaeflag = 0;
144
-
145
- int mousetouch = 0;
146
-
147
- //ゲームループで使う変数の宣言
148
-
149
- char keys[256] = { 0 }; //最新のキーボード情報用
150
-
151
- char oldkeys[256] = { 0 };//1ループ(フレーム)前のキーボード情報
152
-
153
-
154
-
155
-
156
-
157
-
158
-
159
-
160
-
161
- // ゲームループ
162
-
163
- while (1)
164
-
165
- {
166
-
167
- //最新のキーボード情報だったものは1フレーム前のキーボード情報として保存
168
-
169
-
170
-
171
- //最新のキーボード情報を取得
172
-
173
- GetHitKeyStateAll(keys);
174
-
175
-
176
-
177
- //画面クリア
178
-
179
- ClearDrawScreen();
180
-
181
- //--------- ここからプログラムを記述 ----------//
182
-
183
-
184
-
185
- //更新処理
186
-
187
- //mouseがタッチ去れた時に建てる
188
-
189
- if ((GetMouseInput() & MOUSE_INPUT_LEFT) == 1)
190
-
191
- {
192
-
193
- mousetouch = 1;
194
-
195
- }
196
-
197
- if ((GetMouseInput() & MOUSE_INPUT_LEFT) == 0)
198
-
199
- {
200
-
201
- mousetouch = 0;
202
-
203
- }
204
-
205
-
206
-
207
- //消しゴムとペンの切り替えフラグ
208
-
209
- if (keys[KEY_INPUT_1] == 1) {
210
-
211
- type = 1;
212
-
213
- }
214
-
215
- if (type == 1) {
216
-
217
- if (keys[KEY_INPUT_2] == 1) {
218
-
219
- kaeflag = 1;
220
-
221
- type = 0;
222
-
223
- }
224
-
225
- }
226
-
227
-
228
-
229
- //全部消すやつ
230
-
231
- if (keys[KEY_INPUT_0] == 1) {
232
-
233
- counttimer = 0;
234
-
235
- Ecounttimer = 0;
236
-
237
- }
238
-
239
-
240
-
241
- //黒線の方の処理
242
-
243
- GetMousePoint(&mousex, &mousey);
244
-
245
- GetMouseInput();
246
-
247
-
248
-
249
- //mouseが押されたらフラグを1に
250
-
251
- if ((GetMouseInput() & MOUSE_INPUT_LEFT) == 1){
252
-
253
- GetMousePoint(&clickX, &clickY);
254
-
255
- for (int i = 0; i < BC; i++) {
256
-
257
- flag[i] = 1;
258
-
259
- }
260
-
261
- }
262
-
263
-
264
-
265
- //カーソル座標をクリック位置に
266
-
267
- for (int i = 0; i < BC; i++) {
268
-
269
- if (flag[i] == 1) {
270
-
271
- BlackPenX = clickX;
272
-
273
- BlackPenY = clickY;
274
-
275
- }
276
-
277
- }
278
-
279
-
280
-
281
- if (BlackPenX != 0 && BlackPenY != 0) {
282
-
283
- BlackLineX[counttimer] = BlackPenX;
284
-
285
- BlackLineY[counttimer] = BlackPenY;
286
-
287
-
288
-
289
- //制限時間内であれば残像の描画を1ずつ増やす
290
-
291
- if (counttimer < BC&&type!=1&&mousetouch!=0) { counttimer++; }
292
-
293
- DrawFormatString(80, 5, GetColor(0, 0, 0), "%d", counttimer);
294
-
295
- }
296
-
297
-
298
-
299
- //黒線描画処理 点
300
-
301
- for (int i = 2; i < counttimer; i++) {
302
-
303
- DrawCircle(BlackLineX[i], BlackLineY[i], radius[i], GetColor(0, 0, 0), TRUE);
304
-
305
-
306
-
307
- //線と線の距離を求める
308
-
309
- double length = sqrt(((BlackLineX[i] - BlackLineX[i - 1]) * (BlackLineX[i] - BlackLineX[i - 1])) + ((BlackLineY[i] - BlackLineY[i - 1]) * (BlackLineY[i] - BlackLineY[i - 1])));
310
-
311
-
312
-
313
- if(length < 60) {//ある程度の距離が離れるようだったら線引けないようにする
314
-
315
- DrawLine(BlackLineX[i - 1], BlackLineY[i - 1], BlackLineX[i], BlackLineY[i], GetColor(0, 0, 0));
316
-
317
- }
318
-
319
- }
320
-
321
- //黒線処理おわり//
322
-
323
-
324
-
325
- ////////////////
326
-
327
-
328
-
329
- //消しゴムの方の処理
330
-
331
- if ((GetMouseInput() & MOUSE_INPUT_LEFT) == 1){
332
-
333
- GetMousePoint(&clickX, &clickY);
334
-
335
- for (int i = 0; i < EC; i++) {
336
-
337
- eraserflag[i] = 1;
338
-
339
- }
340
-
341
- }
342
-
343
-
344
-
345
- //カーソル座標をクリック位置に
346
-
347
- for (int i = 0; i < EC; i++) {
348
-
349
- if (eraserflag[i] == 1) {
350
-
351
- eraserPenX = clickX;
352
-
353
- eraserPenY = clickY;
354
-
355
- }
356
-
357
- }
358
-
359
-
360
-
361
- if (eraserPenX != 0 && eraserPenY != 0) {
362
-
363
- eraserX[Ecounttimer] = eraserPenX;
364
-
365
- eraserY[Ecounttimer] = eraserPenY;
366
-
367
-
368
-
369
- if (Ecounttimer < BC&&type==1&&mousetouch==1) {
370
-
371
- Ecounttimer++;
372
-
373
- }//制限時間内であれば点の描画を1ずつ増やす
374
-
375
- DrawFormatString(80, 5, GetColor(0, 0, 0), "%d", Ecounttimer);
376
-
377
- }
378
-
379
-
380
-
381
- //消しゴムのやつ描画 点
382
-
383
- for (int i = 2; i < Ecounttimer; i++) {
384
-
385
- DrawCircle(eraserX[i], eraserY[i], eraserradius[i], GetColor(255, 255, 255), TRUE);
386
-
387
-
388
-
389
- //線分の点と点の距離が一定数離れたら線を描画しないようにする
390
-
391
- double Elength = sqrt(((eraserX[i] - eraserX[i - 1]) * (eraserX[i] - eraserX[i - 1])) + ((eraserY[i] - eraserY[i - 1]) * (eraserY[i] - eraserY[i - 1])));
392
-
393
- if (Elength < 40) {
394
-
395
- if (type == 1) {
396
-
397
- DrawLine(eraserX[i - 1], eraserY[i - 1], eraserX[i], eraserY[i], GetColor(255, 255, 255));
398
-
399
- }
400
-
401
- }
402
-
403
- DrawFormatString(0, 12, GetColor(0, 0, 0), "%d,%d", Ecounttimer, counttimer);
404
-
405
- }
406
-
407
-
408
-
409
-
410
-
411
- //新みたいなやう
412
-
413
- if (type == 0) {
414
-
415
- DrawLine(BlackPenX, BlackPenY, BlackPenX + Blackradiuss, BlackPenY + Blackradiuss, GetColor(0, 0, 0));
416
-
417
- }
418
-
419
- else {
420
-
421
- DrawLine(eraserPenX, eraserPenY, eraserPenX + eraserradiuss, eraserPenY + eraserradiuss, GetColor(255, 255, 255));
422
-
423
- }
424
-
425
- //説明書きのところ
426
-
427
- DrawFormatString(0, 0, GetColor(0, 0, 0), "全削除:0");
428
-
429
- if (type == 0) {
430
-
431
- DrawFormatString(0, 50, GetColor(0, 0, 0), "消しゴム:1 OFF");
432
-
433
- }
434
-
435
- else {
436
-
437
- DrawFormatString(0, 50, GetColor(0, 0, 0), "消しゴム:1 ON");
438
-
439
- }
440
-
441
- //--------- ここまでにプログラムを記述 ---------//
442
-
443
- ScreenFlip();//(ダブルバッファ)裏面
444
-
445
- // 20ミリ秒待機(疑似60FPS)
446
-
447
- WaitTimer(20);
448
-
449
- // Windows システムからくる情報を処理する
450
-
451
- if (ProcessMessage() == -1)
452
-
453
- {
454
-
455
- break;
456
-
457
- }
458
-
459
- // ESCキーが押されたらループから抜ける
460
-
461
- if (CheckHitKey(KEY_INPUT_ESCAPE) == 1)
462
-
463
- {
464
-
465
- break;
466
-
467
- }
468
-
469
- }
470
-
471
- //Dxライブラリ終了処理
472
-
473
- DxLib_End();
474
-
475
-
476
-
477
- return 0;
478
-
479
- }
480
482
 
481
483
  ```
482
484