1
1
from Board .Board2 import Board2
2
+ from Bots .EasyBot import EasyBot
2
3
from Game .AbstractGame import AbstractGame
3
4
from Game .Player import Player
4
5
from Utils .Buttons import Buttons
5
- import pygame
6
6
7
7
8
- class Game2 (AbstractGame ):
9
- def __init__ (self , win ):
8
+ class Game2Bot (AbstractGame ):
9
+ def __init__ (self , surface , win ):
10
10
11
11
super ().__init__ (win )
12
12
13
- self .surface = pygame . surface . Surface (( self . settings . screen_width , self . settings . screen_height ))
13
+ self .surface = surface
14
14
self .surface .fill (self .settings .bg_color )
15
15
16
16
# The player here will be player 1
17
- self .player1 = Player (self .surface , player_type = "player" )
18
- self .player2 = Player (self .surface , player_type = "opposite" )
19
-
20
- self .board = Board2 (self .display , self .surface , self .player1 , self .player2 )
17
+ self .player1 = None
18
+ self .player2 = None
21
19
22
20
self .turn = "player"
23
21
22
+ self .board = None
23
+
24
24
self .have_selected_card_drag = False
25
25
26
26
# The Play button
@@ -30,77 +30,43 @@ def __init__(self, win):
30
30
self .skip_button = Buttons (" Skip " , self .settings .game_button_font ,
31
31
self .settings .skip_button_x , self .settings .skip_button_y , self .surface )
32
32
33
- def start_game (self ):
34
- self .deal ()
35
- # self.update(p=False, o=False)
36
-
37
- # Enter name method
38
- def enter_name (self ):
39
- entered_name1 = False
40
- entered_name2 = False
41
- player1_name = ""
42
- player2_name = ""
43
-
44
- while not entered_name1 or not entered_name2 :
45
-
46
- font = self .settings .game_mode_font
47
-
48
- self .surface .fill (self .settings .bg_color )
49
- pygame .display .flip ()
50
-
51
- string_size = 0
52
-
53
- if not entered_name1 :
54
- string = "Enter Player 1 name: " + player1_name
55
- title = font .render (string , True , (255 , 255 , 255 ))
56
- title_width = font .size (string )
57
-
58
- string_size = title_width [0 ]
59
-
60
- self .surface .blit (title , (500 - title_width [0 ]/ 2 , 200 - title_width [1 ]/ 2 ))
61
-
62
- elif entered_name1 and not entered_name2 :
63
- string = "Enter Player 2 name: " + player2_name
64
- title = font .render (string , True , (255 , 255 , 255 ))
65
- title_width = font .size (string )
66
-
67
- string_size = title_width [0 ]
33
+ def create_player (self , player1_name , player2 ):
34
+ self .clear ()
68
35
69
- self .surface .blit (title , (500 - title_width [0 ]/ 2 , 200 - title_width [1 ]/ 2 ))
36
+ if type (player1_name ) is str :
37
+ self .player1 = Player (self .surface , player_type = "player" )
38
+ self .player1 .enter_name (player1_name )
39
+ else :
40
+ self .player1 = player1_name
70
41
71
- self .display .blit (self .surface , (0 , 0 ))
72
- pygame .display .flip ()
42
+ if type (player2 ) is str :
43
+ self .player2 = Player (self .surface , player_type = "opposite" )
44
+ self .player2 .enter_name (player2 )
45
+ else :
46
+ self .player2 = player2
73
47
74
- for event in pygame .event .get ():
75
- if event .type == pygame .KEYDOWN :
76
- if event .key == pygame .K_RETURN :
77
- if not entered_name1 and player1_name != "" :
78
- entered_name1 = True
79
- elif not entered_name2 and player2_name != "" :
80
- entered_name2 = True
81
- elif event .key == pygame .K_BACKSPACE :
82
- if not entered_name1 and player1_name != "" :
83
- player1_name = player1_name [:- 1 ]
84
- elif not entered_name2 and player2_name != "" :
85
- player2_name = player2_name [:- 1 ]
86
- else :
87
- if not entered_name1 and not font .size (event .unicode )[0 ] + string_size >= 1000 :
88
- player1_name += event .unicode
89
- elif entered_name1 and not entered_name2 \
90
- and not font .size (event .unicode )[0 ] + string_size >= 1000 :
91
- player2_name += event .unicode
48
+ self .board = Board2 (self .display , self .surface , self .player1 , self .player2 )
92
49
93
- if entered_name2 and entered_name1 :
94
- break
50
+ self .draw_player_name ()
95
51
96
- pygame .display .flip ()
52
+ def draw_player_name (self ):
53
+ if type (self .player1 ) is Player :
54
+ self .player1 .draw_name ()
55
+ elif type (self .player1 ) is EasyBot :
56
+ pass
57
+ # elif type(self.player1) is HardBot:
58
+ # pass
97
59
98
- self .player1 .enter_name (player1_name )
99
- self .player2 .enter_name (player2_name )
60
+ if type (self .player2 ) is Player :
61
+ self .player2 .draw_name ()
62
+ elif type (self .player2 ) is EasyBot :
63
+ pass
64
+ # elif type(self.player1) is HardBot:
65
+ # pass
100
66
101
- self . clear ()
102
- self .player1 . draw_name ()
103
- self .player2 . draw_name ( )
67
+ def start_game ( self ):
68
+ self .deal ()
69
+ # self.update(p=False, o=False )
104
70
105
71
# Dealing The Card
106
72
def deal (self ):
@@ -122,8 +88,7 @@ def select(self, mouse_x, mouse_y):
122
88
# Draw the player's .display.flip()names
123
89
# Draw the buttons
124
90
def update (self , s = True , o = True , c = True , d = True , p = True , gu = False ):
125
- self .player1 .draw_name ()
126
- self .player2 .draw_name ()
91
+ self .draw_player_name ()
127
92
self .skip_button .draw_button ()
128
93
self .play_button .draw_button ()
129
94
self .board .draw_board (shuffle = s , opposite = o , current = c , discard = d , player = p , gu = gu )
0 commit comments