-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.py
1944 lines (1725 loc) · 76.1 KB
/
main.py
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
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#!/usr/bin/env python3
from pygame.display import set_mode, update, set_caption, set_icon
from pygame.transform import scale, rotate
from pygame.image import load
from pygame.mixer import music
from pygame.draw import rect as draw_rect, line
from pygame import init as pygame_init, Rect, QUIT, MOUSEBUTTONDOWN, K_d, K_f, K_j, K_k, K_a, K_f, KEYDOWN, K_UP, K_DOWN, K_LEFT, K_RIGHT, K_b
from pygame.mouse import get_pos
from pygame.key import get_pressed
from pygame.event import get
from pygame.time import Clock
from time import time, sleep
from os import system
import tkinter as tk
import tkinter.messagebox as msg
from pyvidplayer import Video
# intialize
pygame_init() # pygame.init()
# Global Variable
display_ratio = 2 # (640 * ratio, 360 * ratio)
speed = (display_ratio - 1) * 10
running = True
mouse = ""
scene_x = -5
player_x = 320 * display_ratio - 70
foxxy_x = player_x - 50 * display_ratio
time_frame = 0
control = 0
ex_control = control
started = 0
floor_passed = 1
floor4_entered = False
next_floor = 4
egg_frame = 0
egg_count = 0
clock = Clock()
# constant
chr_xpos = [220 * display_ratio, 110 * display_ratio, 300 * display_ratio]
chr_ypos = [180, 120, 180, 150, 150, 150] # [player, diangod, bright, foxxy, bamboo, fire]
FPS = 60
# set screen
screen = set_mode((640 * display_ratio, 360 * display_ratio)) # pygame.display.set_mode()
# background
cover_image = load("images/cover_image.png").convert_alpha() # pygame.image.load()
sure_to_quit_image = load("images/sure_to_exit.png").convert_alpha()
floor_1_image = load("images/floor/1F.png").convert_alpha()
floor_2_image = load("images/floor/2F.png").convert_alpha()
floor_3_image = load("images/floor/3F.png").convert_alpha()
floor_4_image = load("images/floor/4F.png").convert_alpha()
Efoxxy_background = load("images/Efoxxy.png").convert_alpha()
Hfoxxy_background = load("images/Hfoxxy.png").convert_alpha()
arrow_down = load("images/arrow_down.png").convert_alpha()
arrow_up = load("images/arrow_up.png").convert_alpha()
classroom = load("images/classroom.png").convert_alpha()
bamboo_forest = load("images/bamboo_forest.png").convert_alpha()
floor_sign_12 = load("images/1-2F.png").convert_alpha()
floor_sign_23 = load("images/2-3F.jfif").convert_alpha()
floor_sign_34 = load("images/3-4F.jfif").convert_alpha()
floor_sign_44 = load("images/4-4F.jfif").convert_alpha()
warning_image = load("images/warning.png").convert_alpha()
thank_list = load("images/thank_list.png").convert_alpha()
arrow_down = scale(arrow_down, (60 * display_ratio, 40 * display_ratio))
arrow_up = scale(arrow_up, (60 * display_ratio, 40 * display_ratio))
floor_sign_12 = scale(floor_sign_12, (33 * display_ratio, 33 * display_ratio))
floor_sign_23 = scale(floor_sign_23, (33 * display_ratio, 33 * display_ratio))
floor_sign_34 = scale(floor_sign_34, (33 * display_ratio, 33 * display_ratio))
floor_sign_44 = scale(floor_sign_44, (33 * display_ratio, 33 * display_ratio))
if display_ratio != 3:
cover_image = scale(cover_image, (640 * display_ratio, 360 * display_ratio))
floor_1_image = scale(floor_1_image, (1153 * display_ratio, 360 * display_ratio))
floor_2_image = scale(floor_2_image, (1153 * display_ratio, 360 * display_ratio))
floor_3_image = scale(floor_3_image, (1153 * display_ratio, 360 * display_ratio))
floor_4_image = scale(floor_4_image, (1153 * display_ratio, 360 * display_ratio))
Efoxxy_background = scale(Efoxxy_background, (640 * display_ratio, 360 * display_ratio))
Hfoxxy_background = scale(Hfoxxy_background, (640 * display_ratio, 360 * display_ratio))
classroom = scale(classroom, (640 * display_ratio, 360 * display_ratio))
bamboo_forest = scale(bamboo_forest, (640 * display_ratio, 360 * display_ratio))
warning_image = scale(warning_image, (640 * display_ratio, 360 * display_ratio))
thank_list = scale(thank_list, (640 * display_ratio, 3700 * display_ratio))
background_paper = [cover_image, floor_1_image, floor_2_image, floor_3_image, floor_4_image]
# Title and Icon
set_caption("CRC") # pygame.display.set_caption()
logo = load("images/logo.jpg") # pygame.image.load()
set_icon(logo) # pygame.display.set_icon
# Objects
keys = []
quit_icon = load("images/quit.png").convert_alpha() # pygame.image.load()
quit_icon = scale(quit_icon, (60 * display_ratio, 24 * display_ratio)) # pygame.transform.scale
player_front = load("images/8bit/player_front.png").convert_alpha()
player_left0 = load("images/8bit/player_left0.png").convert_alpha()
player_left1 = load("images/8bit/player_left1.png").convert_alpha()
player_left2 = load("images/8bit/player_left2.png").convert_alpha()
player_right0 = load("images/8bit/player_right0.png").convert_alpha()
player_right1 = load("images/8bit/player_right1.png").convert_alpha()
player_right2 = load("images/8bit/player_right2.png").convert_alpha()
foxxy_left0 = load("images/8bit/foxxy_left0.png").convert_alpha()
foxxy_left1 = load("images/8bit/foxxy_left1.png").convert_alpha()
foxxy_right0 = load("images/8bit/foxxy_right0.png").convert_alpha()
foxxy_right1 = load("images/8bit/foxxy_right1.png").convert_alpha()
tp_point_image1 = load("images/tp1.png").convert_alpha()
tp_point_image2 = load("images/tp2.png").convert_alpha()
key_f = load("images/key_f.png").convert_alpha()
player_front = scale(player_front, (70 * display_ratio, 98 * display_ratio)) # 450 * 11/38 * display_ratio
player_left0 = scale(player_left0, (65 * display_ratio, 98 * display_ratio))
player_left1 = scale(player_left1, (65 * display_ratio, 98 * display_ratio))
player_left2 = scale(player_left2, (65 * display_ratio, 98 * display_ratio))
player_right0 = scale(player_right0, (65 * display_ratio, 98 * display_ratio))
player_right1 = scale(player_right1, (65 * display_ratio, 98 * display_ratio))
player_right2 = scale(player_right2, (65 * display_ratio, 98 * display_ratio))
foxxy_left0 = scale(foxxy_left0, (65 * display_ratio, 98 * display_ratio))
foxxy_left1 = scale(foxxy_left1, (65 * display_ratio, 98 * display_ratio))
foxxy_right0 = scale(foxxy_right0, (65 * display_ratio, 98 * display_ratio))
foxxy_right1 = scale(foxxy_right1, (65 * display_ratio, 98 * display_ratio))
tp_point_image1 = scale(tp_point_image1, (100 * display_ratio, 100 * display_ratio))
tp_point_image2 = scale(tp_point_image2, (100 * display_ratio, 100 * display_ratio))
key_f = scale(key_f, (30 * display_ratio, 30 * display_ratio))
foxyy_8bit = load("images/8bit/Foxxy_8bit.png").convert_alpha()
bamboo_8bit = load("images/8bit/Bamboo_8bit.png").convert_alpha()
bright_8bit = load("images/8bit/Bright_8bit.png").convert_alpha()
dianGod_8bit = load("images/8bit/DianGod_8bit.png").convert_alpha()
fire_8bit = load("images/8bit/Fire_8bit.png").convert_alpha()
foxyy_8bit = scale(foxyy_8bit, (80 * display_ratio, 98 * display_ratio))
bamboo_8bit = scale(bamboo_8bit, (80 * display_ratio, 98 * display_ratio))
bright_8bit = scale(bright_8bit, (80 * display_ratio, 98 * display_ratio))
dianGod_8bit = scale(dianGod_8bit, (80 * display_ratio, 98 * display_ratio))
fire_8bit = scale(fire_8bit, (80 * display_ratio, 98 * display_ratio))
player_images = [[player_front], [player_left0, player_left1, player_left2], [player_right0, player_right1, player_right2]]
foxxy_images = [[foxyy_8bit], [foxxy_left0, foxxy_left1], [foxxy_right0, foxxy_right1]]
npc_images = [foxyy_8bit, foxyy_8bit, bright_8bit, bamboo_8bit, dianGod_8bit, fire_8bit]
# characters
player_0 = load("images/character/player/player_0.png").convert_alpha()
player_1 = load("images/character/player/player_1.png").convert_alpha()
player_2 = load("images/character/player/player_2.png").convert_alpha()
bright_0 = load("images/character/bright/bright_0.png").convert_alpha()
bright_1 = load("images/character/bright/bright_1.png").convert_alpha()
bright_2 = load("images/character/bright/bright_2.png").convert_alpha()
bright_3 = load("images/character/bright/bright_3.png").convert_alpha()
bamboo_0 = load("images/character/bamboo/bamboo_0.png").convert_alpha()
bamboo_1 = load("images/character/bamboo/bamboo_1.png").convert_alpha()
bamboo_2 = load("images/character/bamboo/bamboo_2.png").convert_alpha()
bamboo_3 = load("images/character/bamboo/bamboo_3.png").convert_alpha()
diangod_0 = load("images/character/diangod/diangod_0.png").convert_alpha()
diangod_1 = load("images/character/diangod/diangod_1.png").convert_alpha()
diangod_2 = load("images/character/diangod/diangod_2.png").convert_alpha()
fire_0 = load("images/character/fire/fire_0.png").convert_alpha()
fire_1 = load("images/character/fire/fire_1.png").convert_alpha()
fire_2 = load("images/character/fire/fire_2.png").convert_alpha()
foxxy_0 = load("images/character/foxxy/foxxy_0.png").convert_alpha()
foxxy_1 = load("images/character/foxxy/foxxy_1.png").convert_alpha()
foxxy_2 = load("images/character/foxxy/foxxy_2.png").convert_alpha()
player_0 = scale(player_0, (200 * display_ratio, 300 * display_ratio))
player_1 = scale(player_1, (200 * display_ratio, 300 * display_ratio))
player_2 = scale(player_2, (200 * display_ratio, 300 * display_ratio))
bright_0 = scale(bright_0, (200 * display_ratio, 300 * display_ratio))
bright_1 = scale(bright_1, (200 * display_ratio, 300 * display_ratio))
bright_2 = scale(bright_2, (200 * display_ratio, 300 * display_ratio))
bright_3 = scale(bright_3, (200 * display_ratio, 300 * display_ratio))
bamboo_0 = scale(bamboo_0, (297 * display_ratio, 310 * display_ratio))
bamboo_1 = scale(bamboo_1, (297 * display_ratio, 310 * display_ratio))
bamboo_2 = scale(bamboo_2, (297 * display_ratio, 310 * display_ratio))
bamboo_3 = scale(bamboo_3, (348 * display_ratio, 310 * display_ratio))
diangod_0 = scale(diangod_0, (277 * display_ratio, 320 * display_ratio))
diangod_1 = scale(diangod_1, (277 * display_ratio, 320 * display_ratio))
diangod_2 = scale(diangod_2, (277 * display_ratio, 320 * display_ratio))
fire_0 = scale(fire_0, (169 * display_ratio, 310 * display_ratio))
fire_1 = scale(fire_1, (169 * display_ratio, 310 * display_ratio))
fire_2 = scale(fire_2, (169 * display_ratio, 310 * display_ratio))
foxxy_0 = scale(foxxy_0, (290 * display_ratio, 310 * display_ratio))
foxxy_1 = scale(foxxy_1, (290 * display_ratio, 310 * display_ratio))
foxxy_2 = scale(foxxy_2, (290 * display_ratio, 310 * display_ratio))
# Mayonaise Game #54 ~ #279
mode = "normal"
drop_before_arrive = 0.8
pixel_per_second = 300 * display_ratio / drop_before_arrive
mayo = load("images/mayo.webp") # pygame.image.load()
mayo.convert()
start_menu = load("images/patrick_mayo.jpg")
start_menu.convert()
start_menu = scale(start_menu, (640 * display_ratio, 360 * display_ratio)) # pygame.transform.scale
start_button = load("images/start_button.png")
start_button.convert()
start_button = scale(start_button, (335, 140))
mayo = rotate(mayo, 90) # pygame.transform.rotate
mayo = scale(mayo, (100, 100))
slot = (125, 30)
rect = Rect(200, 0, 10, 600) # pygame.Rect()
white_back = Rect(0, 0, 640 * display_ratio, 360 * display_ratio)
border_left_line = Rect(230 * display_ratio, 0, 10, 360 * display_ratio)
border_right_line = Rect(230 * display_ratio + 510, 0, 10, 360 * display_ratio)
display_pressed1 = Rect(183 * display_ratio + 150, 300 * display_ratio, slot[0], slot[1])
display_pressed2 = Rect(183 * display_ratio + 275, 300 * display_ratio, slot[0], slot[1])
display_pressed3 = Rect(183 * display_ratio + 400, 300 * display_ratio, slot[0], slot[1])
display_pressed4 = Rect(183 * display_ratio + 525, 300 * display_ratio, slot[0], slot[1])
music_mp3 = "images/ver.hard.mp3"
track = music.load(music_mp3) # pygame.mixer.music.load()
times_arrive = []
times_drop = []
notes = []
note_dict = {64:0, 192:1, 320:2, 448:3}
with open(f"note_and_time/times_{mode}.txt", "r") as time_f:
for i in time_f:
i = int(i)
i /= 1000
i = round(i, 4)
times_arrive.append(i)
with open(f"note_and_time/notes_{mode}.txt", "r") as note_f:
for i in note_f:
i = int(i)
i = note_dict[i]
notes.append(i)
for i in times_arrive:
i -= drop_before_arrive # dropping rate
i = round(i, 4)
times_drop.append(i)
locations = [183 * display_ratio + 160, 183 * display_ratio + 285, 183 * display_ratio + 410, 183 * display_ratio + 535]
def check_dy(now_time, drop_time, cord_y):
p = now_time - drop_time
return pixel_per_second * p - (cord_y+60)
def check_remove(time_pass, showing_array_i, prev_key, block):
block_check = showing_array_i[4] == block
prev_check = prev_key == 0
time_check = abs(time_pass - showing_array_i[3]) <= 0.1
return block_check and time_check and prev_check
def draw_back():
draw_rect(screen, (107, 186, 241), white_back) # pygame.draw.rect()
draw_rect(screen, (255, 255, 0), border_left_line)
draw_rect(screen, (255, 255, 0), border_right_line)
# pygame.draw.line
line(screen, (255, 255, 255), (183 * display_ratio + 275, 0),(183 * display_ratio + 275, 360 * display_ratio))
line(screen, (255, 255, 255), (183 * display_ratio + 400, 0),(183 * display_ratio + 400, 360 * display_ratio))
line(screen, (255, 255, 255), (183 * display_ratio + 525, 0),(183 * display_ratio + 525, 360 * display_ratio))
line(screen, (100, 100, 100), (183 * display_ratio + 150, 300 * display_ratio),(183 * display_ratio + 650, 300 * display_ratio))
line(screen, (100, 100, 100), (183 * display_ratio + 150, 300 * display_ratio + 30),(183 * display_ratio + 650, 300 * display_ratio + 30))
def mayo_main():
global screen
pygame_init() # pygame.init()
screen = set_mode((640 * display_ratio, 360 * display_ratio)) # pygame.display.set_mode
running = True
back = 0
mouse = ""
pointer = 0
start_time = 0
started = False
ended = False
showing_array = []
prev_key = [0, 0, 0, 0] # d f j k
time_pass = 0
combo = 0
note_now = 0
while running:
mouse_pos = get_pos() # pygame.mouse.get_pos()
now_time = time()
if not started:
start_time = now_time
time_pass = float(now_time - start_time)
time_pass = round(time_pass, 4)
# background displaying
if back:
draw_back()
else:
screen.blit(start_menu, (0, 0))
screen.blit(start_button, (335 * display_ratio, 70 * display_ratio))
if mouse == "down":
if mouse_pos[0] > 335 * display_ratio and mouse_pos[0] < 335 * display_ratio + 335\
and mouse_pos[1] > 70 * display_ratio and mouse_pos[1] < 70 * display_ratio + 140:
back = 1
music.set_volume(0.1) # pygame.mixer.music.set_volume()
music.play() # pygame.mixer.music.play()
started = True
start_time = time()
# pygame events
for event in get(): # pygame.event.get()
if event.type == QUIT: #pygame.QUIT
running = False
if event.type == MOUSEBUTTONDOWN: # pygame.MOUSEBUTTONDOWN
mouse = "down"
print(mouse)
if event.type != MOUSEBUTTONDOWN:
mouse = ""
# pressed key displaying
keys = get_pressed() # pygame.key.get_pressed()
for i in range(len(showing_array)):
if i <= len(showing_array) - 1 and check_remove(time_pass-0.1, showing_array[i], prev_key[showing_array[i][4]], 0) \
and keys[K_d]: # pygame.K_d
showing_array[i][1] = 2000
showing_array[i][2] = 2000
showing_array[i][5] = 1
if i <= len(showing_array) - 1 and check_remove(time_pass-0.1, showing_array[i], prev_key[showing_array[i][4]], 1) \
and keys[K_f]: # pygame.K_f
showing_array[i][1] = 2000
showing_array[i][2] = 2000
showing_array[i][5] = 1
if i <= len(showing_array) - 1 and check_remove(time_pass-0.1, showing_array[i], prev_key[showing_array[i][4]], 2) \
and keys[K_j]: # pygame.K_j
showing_array[i][1] = 2000
showing_array[i][2] = 2000
showing_array[i][5] = 1
if i <= len(showing_array) - 1 and check_remove(time_pass-0.1, showing_array[i], prev_key[showing_array[i][4]], 3) \
and keys[K_k]: # pygame.K_k
showing_array[i][1] = 2000
showing_array[i][2] = 2000
showing_array[i][5] = 1
if keys[K_d]:
draw_rect(screen, (99, 170, 219), display_pressed1) # pygame.draw.rect()
if not keys[K_d]:
prev_key[0] = 0
if keys[K_f]:
draw_rect(screen, (99, 170, 219), display_pressed2)
if not keys[K_f]:
prev_key[1] = 0
if keys[K_j]:
draw_rect(screen, (99, 170, 219), display_pressed3)
if not keys[K_j]:
prev_key[2] = 0
if keys[K_k]:
draw_rect(screen, (99, 170, 219), display_pressed4)
if not keys[K_k]:
prev_key[3] = 0
while pointer < len(times_drop) and time_pass <= (times_drop[pointer])+0.1 and time_pass >= (times_drop[pointer])-0.1 and not ended:
data_array = []
data_array = [times_drop[pointer], locations[notes[pointer]], -100, times_arrive[pointer], notes[pointer], 0] # the last one is for combo counting
showing_array.append(data_array)
pointer += 1
if pointer > len(times_drop):
ended = True
showing_pointer = 0
for i in range(showing_pointer, len(showing_array)):
if i == len(showing_array):
break
elif showing_array[i][2] > 360 * display_ratio or showing_array[i][1] > 1900:
continue
else:
dy = check_dy(time_pass, showing_array[i][0], showing_array[i][2])
showing_array[i][2] += dy
if showing_array[i][1] > 1900:
showing_pointer += 1
elif showing_array[i][2] > 360 * display_ratio:
showing_pointer += 1
elif showing_array[i][1] < 1900:
screen.blit(mayo, (showing_array[i][1], showing_array[i][2]))
for i in range(len(times_arrive)):
if time_pass >= times_arrive[i]:
note_now = i
for i in range(note_now+1):
if i < len(showing_array):
if showing_array[i][5]:
combo += 1
else:
combo = 0
combo = 0
update() # pygame.display.update()
now_end_time = time()
now_end_time = round(now_end_time, 4)
time_loop = now_end_time - now_time
if time_loop < 0.001 and showing_array:
sleep(0.001-time_loop)
if time_pass > 110: # remember to change
break
screen = set_mode((640 * display_ratio, 360 * display_ratio))
return
# GOD CLASS # 290 ~ # 774
class Plot :
def plot_1(self):
plot_1_0 = load("images/plot/plot_1_0.png")
if display_ratio == 2:
plot_1_0 = scale(plot_1_0, (1280, 720))
# screen.blit(player_image, (0,0))
screen.blit(plot_1_0, (0,0)) # 你不斷地往上方走,試圖找到光的來源。你走到了四樓,發現光來自電腦教室,於是你抱著好奇心走進裡面。進去後,你看到一位渾身散發著閃電的男子
update()
check_mouse()
# # screen.blit(diangod_image, (0,0))
# update()
# check_mouse()
# screen.blit(plot_1_1, (0,0)) # 進去後,你看到一位渾身散發著閃電的男子
# update()
# check_mouse()
def plot_2(self):
plot_2_0 = load("images/plot/plot_2_0.png")
plot_2_1 = load("images/plot/plot_2_1.png")
if display_ratio == 2:
plot_2_0 = scale(plot_2_0, (1280, 720))
plot_2_1 = scale(plot_2_1, (1280, 720))
# screen.blit(player_image, (0,0))
screen.blit(plot_2_0, (0,0)) # 雖然你落敗了,但這也挑起你對程式的興趣,眼看下一道閃電即將轟來,你連忙躲進旁邊的電梯裡。
update()
check_mouse()
screen.blit(plot_2_1, (0,0)) # 你乘著電梯來到二樓,你看見二樓教室裡有位穿著如同電神小弟一般的不明男子。
update()
check_mouse()
def plot_3(self):
plot_3_0 = load("images/plot/plot_3_0.png")
if display_ratio == 2:
plot_3_0 = scale(plot_3_0, (1280, 720))
screen.blit(plot_3_0, (0,0)) # 發現我們其實是自己人後,Bamboo向你道歉,並將出口恢復成原樣。於是你和foxyy最後終於到達四樓了,但是,在準備進入電腦教室前,突然有人從教室裡走出來,他是剛才電神旁的小弟。
update()
check_mouse()
def plot_4(self):
plot_4_0 = load("images/plot/plot_4_0.png")
if display_ratio == 2:
plot_4_0 = scale(plot_4_0, (1280, 720))
screen.blit(plot_4_0, (0,0)) # 你不了解她說的意思,直到看見她手中的閃電,你才終於發現了異常。foxyy脱去女裝,周圍爆發出閃電
update()
check_mouse()
def plot_5(self):
plot_5_0 = load("images/plot/plot_5_0.png")
if display_ratio == 2:
plot_5_0 = scale(plot_5_0, (1280, 720))
screen.blit(Hfoxxy_background, (0, 0))
screen.blit(plot_5_0, (0,0)) # 之後,你成為了下一任電神,在你的帶領之下,組織不再繼續作亂,反而變成喜歡不斷的教導程式能力,培養人才的組織,這就是我們現在的社團—CRC電算社
update()
check_mouse()
class Dialogue :
def dia_1(self):
dia_1_0 = load("images/dia/dia_1/dia_1_0.png")
dia_1_1 = load("images/dia/dia_1/dia_1_1.png")
dia_1_2 = load("images/dia/dia_1/dia_1_2.png")
if display_ratio == 2:
dia_1_0 = scale(dia_1_0, (1280, 720))
dia_1_1 = scale(dia_1_1, (1280, 720))
dia_1_2 = scale(dia_1_2, (1280, 720))
story_backgroud()
screen.blit(player_0, (chr_xpos[1], chr_ypos[0])) # 電神輕視表情
screen.blit(diangod_0, (chr_xpos[2], chr_ypos[1]))
screen.blit(dia_1_0, (0,0)) # 電神:「又有挑戰者了嗎?」
update()
check_mouse()
story_backgroud()
screen.blit(player_1, (chr_xpos[1], chr_ypos[0])) # 電神輕視表情
screen.blit(diangod_0, (chr_xpos[2], chr_ypos[1]))
screen.blit(dia_1_1, (0,0)) # (你皺了皺眉,聽不太懂他的意思)
update()
check_mouse()
story_backgroud()
screen.blit(player_1, (chr_xpos[1], chr_ypos[0])) # 電神輕視表情
screen.blit(diangod_1, (chr_xpos[2], chr_ypos[1]))
screen.blit(dia_1_2, (0,0)) # 電神:「沒關係,準備被電爆吧。」
update()
check_mouse()
def dia_2(self):
dia_2_0 = load("images/dia/dia_2/dia_2_0.png")
dia_2_1 = load("images/dia/dia_2/dia_2_1.png")
dia_2_2 = load("images/dia/dia_2/dia_2_2.png")
dia_2_3 = load("images/dia/dia_2/dia_2_3.png")
if display_ratio == 2:
dia_2_0 = scale(dia_2_0, (1280, 720))
dia_2_1 = scale(dia_2_1, (1280, 720))
dia_2_2 = scale(dia_2_2, (1280, 720))
dia_2_3 = scale(dia_2_3, (1280, 720))
story_backgroud()
screen.blit(bright_0, (chr_xpos[0], chr_ypos[2]))
screen.blit(dia_2_0, (0,0)) # Bright:「你剛剛和他戰鬥了吧!」
update()
check_mouse()
story_backgroud()
screen.blit(player_0, (chr_xpos[0], chr_ypos[0]))
screen.blit(dia_2_1, (0,0)) # 你:「他?指在四樓的那個閃電人嗎?」or 「對啊,他究竟是誰啊?」
update()
check_mouse()
story_backgroud()
screen.blit(player_0, (chr_xpos[1], chr_ypos[0]))
screen.blit(bright_0, (chr_xpos[2], chr_ypos[2]))
screen.blit(dia_2_2, (0,0)) # Bright:「呵呵,他是《電神》是我們組織的統治者」
update()
check_mouse()
story_backgroud()
screen.blit(player_0, (chr_xpos[0], chr_ypos[0]))
screen.blit(dia_2_3, (0,0)) # 你:「組織?什麼組織」
update()
check_mouse()
def dia_3(self):
dia_3_0 = load("images/dia/dia_3/dia_3_0.png")
dia_3_1 = load("images/dia/dia_3/dia_3_1.png")
dia_3_2 = load("images/dia/dia_3/dia_3_2.png")
dia_3_3 = load("images/dia/dia_3/dia_3_3.png")
dia_3_4 = load("images/dia/dia_3/dia_3_4.png")
dia_3_5 = load("images/dia/dia_3/dia_3_5.png")
# dia_3_6 = load("images/dia/dia_3/dia_3_6.png")
if display_ratio == 2:
dia_3_0 = scale(dia_3_0, (1280, 720))
dia_3_1 = scale(dia_3_1, (1280, 720))
dia_3_2 = scale(dia_3_2, (1280, 720))
dia_3_3 = scale(dia_3_3, (1280, 720))
dia_3_4 = scale(dia_3_4, (1280, 720))
dia_3_5 = scale(dia_3_5, (1280, 720))
# dia_3_6 = scale(dia_3_6, (1280, 720))
story_backgroud()
screen.blit(foxxy_0, (chr_xpos[0], chr_ypos[3])) # foxyy 開心表情
screen.blit(dia_3_0, (0,0)) # foxyy:「我們是CRC!」
update()
check_mouse()
story_backgroud()
screen.blit(player_0, (chr_xpos[1], chr_ypos[0])) # player 和 bright 若有所思
screen.blit(bright_1, (chr_xpos[2], chr_ypos[2]))
screen.blit(dia_3_1, (0,0)) # (看著突然出現的女子,你跟Bright都若有所思)
update()
check_mouse()
story_backgroud()
screen.blit(player_0, (chr_xpos[1], chr_ypos[0])) # player 和 bright 若有所思
screen.blit(bright_1, (chr_xpos[2], chr_ypos[2]))
screen.blit(dia_3_2, (0,0)) # 你:(怎麼突然有人冒出來)
update()
check_mouse()
story_backgroud()
screen.blit(player_0, (chr_xpos[1], chr_ypos[0])) # bright 驚嚇表情
screen.blit(bright_2, (chr_xpos[2], chr_ypos[2]))
screen.blit(dia_3_3, (0,0)) # Bright:(他…怎麼會出現在這裡)
update()
check_mouse()
story_backgroud()
screen.blit(foxxy_1, (chr_xpos[0], chr_ypos[3])) # foxyy 開心表情
screen.blit(dia_3_4, (0,0)) # foxyy:「CRC,又稱為電算社,我們擁有能改變世界的電算之力!」
update()
check_mouse()
story_backgroud()
screen.blit(foxxy_0, (chr_xpos[0], chr_ypos[3]))
screen.blit(dia_3_5, (0,0)) # foxyy:「簡單來說,就是程式設計。如果精通這項能力,就會擁有很強大的力量,例如發射閃電之類的喔!」
update()
check_mouse()
# screen.fill((0, 0, 0))
# screen.blit(classroom, (0, 0))
# screen.blit(player_2, (chr_xpos[1], chr_ypos[0])) # player 和 bright 開心表情
# screen.blit(bright_0, (chr_xpos[2], chr_ypos[2]))
# screen.blit(dia_3_6, (0,0)) # (你聽完後對程式擁有了更濃厚的興趣,同時Bright似乎也有意教導你)
# update()
# check_mouse()
def dia_4(self):
dia_4_0 = load("images/dia/dia_4/dia_4_0.png")
dia_4_1 = load("images/dia/dia_4/dia_4_1.png")
dia_4_2 = load("images/dia/dia_4/dia_4_2.png")
if display_ratio == 2:
dia_4_0 = scale(dia_4_0, (1280, 720))
dia_4_1 = scale(dia_4_1, (1280, 720))
dia_4_2 = scale(dia_4_2, (1280, 720))
story_backgroud()
screen.blit(player_0, (chr_xpos[1], chr_ypos[0])) # bright 驚嚇表情
screen.blit(bright_3, (chr_xpos[2], chr_ypos[2]))
screen.blit(dia_4_0, (0,0)) # Bright:「我可是教導程式的高手呢!只要十分鐘,我便能把所有的基礎都教會你!」
update()
check_mouse()
story_backgroud()
screen.blit(player_2, (chr_xpos[1], chr_ypos[0])) # foxyy:「人家也來幫你吧!」
screen.blit(foxxy_1, (chr_xpos[2], chr_ypos[3]))
screen.blit(dia_4_1, (0,0))
update()
check_mouse()
story_backgroud()
screen.blit(player_2, (chr_xpos[0], chr_ypos[0])) # player 安心表情
screen.blit(dia_4_2, (0,0)) # (看來這裡還是有很多善良的人呢,你放心了許多)
update()
check_mouse()
def dia_5(self):
dia_5_0 = load("images/dia/dia_5/dia_5_0.png")
dia_5_1 = load("images/dia/dia_5/dia_5_1.png")
dia_5_2 = load("images/dia/dia_5/dia_5_2.png")
if display_ratio == 2:
dia_5_0 = scale(dia_5_0, (1280, 720))
dia_5_1 = scale(dia_5_1, (1280, 720))
dia_5_2 = scale(dia_5_2, (1280, 720))
story_backgroud()
screen.blit(player_0, (chr_xpos[1], chr_ypos[0]))
screen.blit(bright_0, (chr_xpos[2], chr_ypos[2]))
screen.blit(dia_5_0, (0,0)) # (在Bright和foxyy的教導之下,你很快就學會基礎的程式設計,並感覺到有股電流在你的身體裡流竄)
update()
check_mouse()
story_backgroud()
screen.blit(player_2, (chr_xpos[1], chr_ypos[0]))
screen.blit(bright_0, (chr_xpos[2], chr_ypos[2])) # bright 開心表情
screen.blit(dia_5_1, (0,0)) # Bright:「學的這麼快,看來你擁有很強的潛力呢。不過,我能教的都教完了,如果你想學更多,就到三樓去找更多高手請教吧,但是要注意,有些人並不歡迎外人打擾。」
update()
check_mouse()
story_backgroud()
screen.blit(player_2, (chr_xpos[1], chr_ypos[0]))
screen.blit(foxxy_0, (chr_xpos[2], chr_ypos[3])) # foxyy 驚嚇表情
screen.blit(dia_5_2, (0,0)) # foxyy:「放心,人家會陪著你上去~」
update()
check_mouse()
def dia_6(self):
dia_6_0 = load("images/dia/dia_6/dia_6_0.png")
dia_6_1 = load("images/dia/dia_6/dia_6_1.png")
dia_6_2 = load("images/dia/dia_6/dia_6_2.png")
dia_6_3 = load("images/dia/dia_6/dia_6_3.png")
dia_6_4 = load("images/dia/dia_6/dia_6_4.png")
dia_6_5 = load("images/dia/dia_6/dia_6_5.png")
dia_6_6 = load("images/dia/dia_6/dia_6_6.png")
dia_6_7 = load("images/dia/dia_6/dia_6_7.png")
dia_6_8 = load("images/dia/dia_6/dia_6_8.png")
dia_6_9 = load("images/dia/dia_6/dia_6_9.png")
dia_6_10 = load("images/dia/dia_6/dia_6_10.png")
dia_6_11 = load("images/dia/dia_6/dia_6_11.png")
dia_6_12 = load("images/dia/dia_6/dia_6_12.png")
if display_ratio == 2:
dia_6_0 = scale(dia_6_0, (1280, 720))
dia_6_1 = scale(dia_6_1, (1280, 720))
dia_6_2 = scale(dia_6_2, (1280, 720))
dia_6_3 = scale(dia_6_3, (1280, 720))
dia_6_4 = scale(dia_6_4, (1280, 720))
dia_6_5 = scale(dia_6_5, (1280, 720))
dia_6_6 = scale(dia_6_6, (1280, 720))
dia_6_7 = scale(dia_6_7, (1280, 720))
dia_6_8 = scale(dia_6_8, (1280, 720))
dia_6_9 = scale(dia_6_9, (1280, 720))
dia_6_10 = scale(dia_6_10, (1280, 720))
dia_6_11 = scale(dia_6_11, (1280, 720))
dia_6_12 = scale(dia_6_12, (1280, 720))
story_backgroud()
screen.blit(dia_6_0, (0,0)) # (你和foxyy來到了三樓)
update()
check_mouse()
story_backgroud()
screen.blit(player_0, (chr_xpos[1], chr_ypos[0]))
screen.blit(foxxy_1, (chr_xpos[2], chr_ypos[3]))
screen.blit(dia_6_1, (0,0)) # foxyy:「我們去右邊的教室吧!」
update()
check_mouse()
story_backgroud()
screen.blit(dia_6_2, (0,0)) # (一進去教室,你看到有名女子正坐在講桌電腦旁擦著手上的刀)
update()
check_mouse()
story_backgroud()
screen.blit(foxxy_1, (chr_xpos[0], chr_ypos[3])) # foxyy 普通表情
screen.blit(dia_6_3, (0,0)) # foxyy:是學術組的Bamboo,看來真的遇到高手了
update()
check_mouse()
story_backgroud()
screen.blit(bamboo_0, (chr_xpos[0], chr_ypos[4])) # bamboo 殺氣臉
screen.blit(dia_6_4, (0,0)) # (Bamboo望了你們一眼)
update()
check_mouse()
story_backgroud()
screen.blit(player_0, (chr_xpos[1], chr_ypos[0]))
screen.blit(bamboo_1, (chr_xpos[2], chr_ypos[4]))
screen.blit(dia_6_5, (0,0)) # Bamboo:「怎麼會有外人前來拜訪」
update()
check_mouse()
story_backgroud()
screen.blit(player_2, (chr_xpos[0], chr_ypos[0])) # player 普通表情
screen.blit(dia_6_6, (0,0)) # 你:「早安,為了雪恥,請教我更進階的程式以面對電神,請885」or「ㄜ...我來學精深的程式,助我打敗電神」
update()
check_mouse()
story_backgroud()
screen.blit(bamboo_2, (chr_xpos[0], chr_ypos[4])) # bamboo 殺氣表情
screen.blit(dia_6_7, (0,0)) # Bamboo:「聽你一說,你想請託我協助你們挑戰電神?所以你們其實是入侵者吧」
update()
check_mouse()
story_backgroud()
screen.blit(foxxy_2, (chr_xpos[1], chr_ypos[3]))
screen.blit(bamboo_3, (chr_xpos[2], chr_ypos[4]))
screen.blit(dia_6_8, (0,0)) # (foxyy正想解釋,但Bamboo已經拔刀奔來)
update()
check_mouse()
story_backgroud()
screen.blit(player_1, (chr_xpos[1], chr_ypos[0]))
screen.blit(bamboo_3, (chr_xpos[2], chr_ypos[4]))
screen.blit(dia_6_9, (0,0)) # Bamboo:「沒想到你們竟能從電神手中逃過一劫,不過在下是不會放過任何入侵者的」
update()
check_mouse()
story_backgroud()
screen.blit(player_0, (chr_xpos[1], chr_ypos[0]))
screen.blit(foxxy_2, (chr_xpos[2], chr_ypos[3]))
screen.blit(dia_6_10, (0,0)) # foxyy:「(指著門)快點離開,危險!」
update()
check_mouse()
story_backgroud()
screen.blit(bamboo_2, (chr_xpos[0], chr_ypos[4])) # bamboo 殺氣表情
screen.blit(dia_6_11, (0,0)) # Bamboo:「別想逃,”竹林叢生”」
update()
check_mouse()
screen.blit(bamboo_forest, (0,0))
update()
check_mouse()
story_backgroud()
screen.blit(player_1, (chr_xpos[1], chr_ypos[0]))
screen.blit(bamboo_3, (chr_xpos[2], chr_ypos[4]))
screen.blit(bamboo_forest, (0,0))
screen.blit(dia_6_12, (0,0)) # (門口前瞬間長出一堆竹子,賭住了唯一的出口,看來只能戰鬥了)
update()
check_mouse()
def dia_7(self):
dia_7_0 = load("images/dia/dia_7/dia_7_0.png")
dia_7_1 = load("images/dia/dia_7/dia_7_1.png")
dia_7_2 = load("images/dia/dia_7/dia_7_2.png")
dia_7_3 = load("images/dia/dia_7/dia_7_3.png")
dia_7_4 = load("images/dia/dia_7/dia_7_4.png")
dia_7_5 = load("images/dia/dia_7/dia_7_5.png")
dia_7_6 = load("images/dia/dia_7/dia_7_6.png")
dia_7_7 = load("images/dia/dia_7/dia_7_7.png")
dia_7_8 = load("images/dia/dia_7/dia_7_8.png")
dia_7_9 = load("images/dia/dia_7/dia_7_9.png")
dia_7_10 = load("images/dia/dia_7/dia_7_10.png")
dia_7_11 = load("images/dia/dia_7/dia_7_11.png")
if display_ratio == 2:
dia_7_0 = scale(dia_7_0, (1280, 720))
dia_7_1 = scale(dia_7_1, (1280, 720))
dia_7_2 = scale(dia_7_2, (1280, 720))
dia_7_3 = scale(dia_7_3, (1280, 720))
dia_7_4 = scale(dia_7_4, (1280, 720))
dia_7_5 = scale(dia_7_5, (1280, 720))
dia_7_6 = scale(dia_7_6, (1280, 720))
dia_7_7 = scale(dia_7_7, (1280, 720))
dia_7_8 = scale(dia_7_8, (1280, 720))
dia_7_9 = scale(dia_7_9, (1280, 720))
dia_7_10 = scale(dia_7_10, (1280, 720))
dia_7_11 = scale(dia_7_11, (1280, 720))
story_backgroud()
screen.blit(bamboo_1, (chr_xpos[0], chr_ypos[4])) # player 累 bamboo 憤怒表情
screen.blit(dia_7_0, (0,0)) # (你不斷閃過Bamboo的斬擊,Bamboo開始感到心急)
update()
check_mouse()
story_backgroud()
screen.blit(player_1, (chr_xpos[1], chr_ypos[0]))
screen.blit(bamboo_1, (chr_xpos[2], chr_ypos[4])) # bamboo 憤怒表情
screen.blit(dia_7_1, (0,0)) # Bamboo:可惡,區區入侵者在下居然不能解決
update()
check_mouse()
story_backgroud()
screen.blit(dia_7_2, (0,0)) # Bamboo:《程式枷鎖》
update()
check_mouse()
story_backgroud()
# screen.blit(playerRRR_image, (0,0)) # player + 枷鎖
screen.blit(dia_7_3, (0,0)) # (突然有一條寫滿程式的繩子將你綁住,使你無法動彈)
update()
check_mouse()
story_backgroud()
screen.blit(player_1, (chr_xpos[0], chr_ypos[0])) # player 問號表情
screen.blit(dia_7_4, (0,0)) # 你:「這是什麼東西」
update()
check_mouse()
story_backgroud()
screen.blit(foxxy_2, (chr_xpos[0], chr_ypos[3])) # foxyy 嚴肅表情
screen.blit(dia_7_5, (0,0)) # foxyy:「程式枷鎖⋯⋯,除非你找出這程式的bug,否則這不會解開」
update()
check_mouse()
story_backgroud()
screen.blit(player_1, (chr_xpos[1], chr_ypos[0]))
screen.blit(bamboo_3, (chr_xpos[2], chr_ypos[4]))
screen.blit(dia_7_6, (0,0)) # Bamboo:「這樣就結束了,接招吧《竹切斬》」
update()
check_mouse()
story_backgroud()
screen.blit(bamboo_1, (chr_xpos[0], chr_ypos[4]))
screen.blit(dia_7_7, (0,0)) # (強力的斬擊落下,劍氣所及之處煙霧四散)
update()
check_mouse()
story_backgroud()
screen.blit(bamboo_3, (chr_xpos[0], chr_ypos[4]))
screen.blit(dia_7_8, (0,0)) # (待煙霧散去,Bam發現你們兩個都沒事)
update()
check_mouse()
story_backgroud()
screen.blit(foxxy_1, (chr_xpos[0], chr_ypos[3])) # foxyy 自豪表情
screen.blit(dia_7_9, (0,0)) # foxyy:「這種程式,找出bug有什麼難的」
update()
check_mouse()
story_backgroud()
screen.blit(bamboo_0, (chr_xpos[0], chr_ypos[4])) # bamboo 驚訝表情
screen.blit(dia_7_10, (0,0)) # (Bamboo驚訝的看著foxyy,過了幾秒後發現原來foxyy其實是自己人)
update()
check_mouse()
story_backgroud()
screen.blit(foxxy_0, (chr_xpos[1], chr_ypos[3]))
screen.blit(bamboo_0, (chr_xpos[2], chr_ypos[4]))
screen.blit(dia_7_11, (0,0)) # Bamboo:原來是foxyy,這代表你不是入侵者吧
update()
check_mouse()
def dia_8(self):
dia_8_0 = load("images/dia/dia_8/dia_8_0.png")
dia_8_1 = load("images/dia/dia_8/dia_8_1.png")
if display_ratio == 2:
dia_8_0 = scale(dia_8_0, (1280, 720))
dia_8_1 = scale(dia_8_1, (1280, 720))
story_backgroud()
screen.blit(fire_0, (chr_xpos[0], chr_ypos[5])) # fire 輕視表情
screen.blit(dia_8_0, (0,0)) # Fire:「你怎麼又上來了,還想再被電爆嗎?」
update()
check_mouse()
story_backgroud()
screen.blit(fire_1, (chr_xpos[0], chr_ypos[5]))
screen.blit(dia_8_1, (0,0)) # Fire:「以你這種程度,根本不用電神出馬,我一個人就能解決你了」
update()
check_mouse()
def dia_9(self):
dia_9_0 = load("images/dia/dia_9/dia_9_0.png")
if display_ratio == 2:
dia_9_0 = scale(dia_9_0, (1280, 720))
story_backgroud()
screen.blit(fire_2, (chr_xpos[0], chr_ypos[5])) # fire 驚訝表情
screen.blit(dia_9_0, (0,0)) # Fire:「沒想到你竟然能答出這些問題⋯,是我太大意了⋯⋯」
update()
check_mouse()
def dia_10(self):
dia_10_0 = load("images/dia/dia_10/dia_10_0.png")
dia_10_1 = load("images/dia/dia_10/dia_10_1.png")
dia_10_2 = load("images/dia/dia_10/dia_10_2.png")
dia_10_3 = load("images/dia/dia_10/dia_10_3.png")
dia_10_4 = load("images/dia/dia_10/dia_10_4.png")
if display_ratio == 2:
dia_10_0 = scale(dia_10_0, (1280, 720))
dia_10_1 = scale(dia_10_1, (1280, 720))
dia_10_2 = scale(dia_10_2, (1280, 720))
dia_10_3 = scale(dia_10_3, (1280, 720))
dia_10_4 = scale(dia_10_4, (1280, 720))
story_backgroud()
screen.blit(player_1, (chr_xpos[0], chr_ypos[0]))
screen.blit(dia_10_0, (0,0)) # (之後你走進教室,看見教室裡面只有foxyy一個人)
update()
check_mouse()
story_backgroud()
screen.blit(dia_10_1, (0,0)) # 你:「電神不在這裡嗎?」or「foxyy,電神在哪裡?」
update()
check_mouse()
story_backgroud()
screen.blit(foxxy_1, (chr_xpos[0], chr_ypos[3])) # foxyy 普通表情
screen.blit(dia_10_2, (0,0)) # foxyy:「電神?他現在正在這間教室裡啊」
update()
check_mouse()
story_backgroud()
screen.blit(Efoxxy_background, (0, 0))
screen.blit(dia_10_3, (0,0)) # 你不了解她說的意思,直到看見她手中的閃電,你才終於發現了異常。foxyy脱去女裝,周圍爆發出閃電
update()
check_mouse()
story_backgroud()
screen.blit(Efoxxy_background, (0, 0))
screen.blit(dia_10_4, (0,0)) # foxyy:「好了,你的實力已經增強不少了,真是另人期待,開始最後的戰鬥吧!」
update()
check_mouse()
def dia_11(self):
dia_11_0 = load("images/dia/dia_11/dia_11_0.png")
dia_11_1 = load("images/dia/dia_11/dia_11_1.png")
dia_11_2 = load("images/dia/dia_11/dia_11_2.png")
dia_11_3 = load("images/dia/dia_11/dia_11_3.png")
if display_ratio == 2:
dia_11_0 = scale(dia_11_0, (1280, 720))
dia_11_1 = scale(dia_11_1, (1280, 720))
dia_11_2 = scale(dia_11_2, (1280, 720))
dia_11_3 = scale(dia_11_3, (1280, 720))
story_backgroud()
screen.blit(diangod_2, (chr_xpos[0], chr_ypos[1])) # foxyy 倒地
screen.blit(dia_11_0, (0,0)) # (你歷經了千辛萬苦,終於在最後一刻找到機會電爆foxyy,foxyy倒地不起)
update()
check_mouse()
story_backgroud()
screen.blit(diangod_2, (chr_xpos[0], chr_ypos[1]))
screen.blit(dia_11_1, (0,0)) # foxyy:我⋯竟然輸了
update()
check_mouse()
screen.blit(classroom, (0, 0))
story_backgroud()
screen.blit(Hfoxxy_background, (0, 0)) # foxyy 欣慰表情
screen.blit(dia_11_2, (0,0)) # (foxyy臉上並未出現任何不甘和憤怒,反而欣慰的笑了)
update()
check_mouse()
story_backgroud()
screen.blit(Hfoxxy_background, (0, 0))
screen.blit(dia_11_3, (0,0)) # foxyy:「我就知道你有這個潛力,當初放你一馬並教導你,就是為了激發深藏在你體內的電算之力,CRC之後就交給你了」
update()
check_mouse()
def question1():
base = tk.Tk()
base.wm_attributes('-topmost',1)
base.title("問題一")
t = '''
電神看著你狂妄地笑著,心想著又有一個店小二來送菜了。
現在他的助手突然帶著重要的訊息前來,他不想讓你聽到內容
但你擋在電神面前,以致於助手無法傳遞訊息。
於是,他決定使用「雜湊」來產生一串你聽不懂的數字,再請電神用已經講好的方法來解密。
問題是,雜湊並非一個簡單的技巧,而助手因為不夠電而忘了如何雜湊
所以他對你提出一個條件:如果你幫他雜湊並把訊息傳遞給電神,那他就可以幫你講幾句好話。
好奇的你心想,這是什麼簡單的東西,雜湊我幼稚園就會了!
現在請你找到兩個好的常數雜湊該訊息,讓電神解密時不會發生碰撞或其他錯誤。
1. p = 0, m = 1
2. p = 1, m = 0
3. p = 1560, m = 1563
4. p = 1570, m = 1576
5. p = 1559, m = 1581
6. p = 1567, m = 1571