def on_pre_enter(self): for child in self.ids.grid.children: child.background_color = [1, 1, 1, 1] def my_callback(dt): view.dismiss() view = ModalView(size=(100, 100)) view.background = 'img.jpg' view.open() Clock.schedule_once(my_callback, 5)
def preproc_popup(self): preproc_popup = ModalView(size_hint=(None, 1), width=Window.height) preproc_popup.background_color = (0, 0, 0, 0) preproc_popup.background = "images/circle_white_shadow.png" content = FloatLayout() button = Button(text="close", size_hint=(None, None), size=(100, 50), pos_hint={'center_x':.5, 'center_y':.25}) content.add_widget(button) preproc_popup.add_widget(content) button.bind(on_press=preproc_popup.dismiss) # preproc_popup.background = "atlas://data/images/defaulttheme/background-transparent" # preproc_popup.border = MaterialWidget(elevation=2) preproc_popup.open()
def my_callback(self, dt): self.current += dt if self.current > 2: global CURRENT_PLAYER, LIST_OF_TARGETS1, LIST_OF_TARGETS, CURRENT, SOME_LIST, AMOUNT1, finish grid = self.manager.get_screen('board1').ids.grid rand = random.randint(0, len(LIST_OF_TARGETS) - 1) TARGETS = LIST_OF_TARGETS if len(LIST_OF_TARGETS1): rand = random.randint(0, len(LIST_OF_TARGETS1) - 1) TARGETS = LIST_OF_TARGETS1 for child in grid.children: if child.coords == TARGETS[rand]: if child.background_color == [1, 1, 1, 1]: child.text = 'X' child.background_color = [1, 0, 0, 1] self.popup1.dismiss() Clock.unschedule(self.my_callback) CURRENT_PLAYER *= -1 self.sound.stop() self.sound = SoundLoader.load('files/Not_ship.wav') self.sound.play() Clock.schedule_once(self.callback1, 0.7) TARGETS.remove(child.coords) else: x, y = child.coords CURRENT += 1 AMOUNT1 += 1 SOME_LIST.append((x, y)) if (x + 1, y + 1) in TARGETS: TARGETS.remove((x + 1, y + 1)) if (x - 1, y - 1) in TARGETS: TARGETS.remove((x - 1, y - 1)) if (x + 1, y - 1) in TARGETS: TARGETS.remove((x + 1, y - 1)) if (x - 1, y + 1) in TARGETS: TARGETS.remove((x - 1, y + 1)) if (x + 1, y + 1) in LIST_OF_TARGETS: LIST_OF_TARGETS.remove((x + 1, y + 1)) if (x - 1, y - 1) in LIST_OF_TARGETS: LIST_OF_TARGETS.remove((x - 1, y - 1)) if (x + 1, y - 1) in LIST_OF_TARGETS: LIST_OF_TARGETS.remove((x + 1, y - 1)) if (x - 1, y + 1) in LIST_OF_TARGETS: LIST_OF_TARGETS.remove((x - 1, y + 1)) if (x + 1, y) not in LIST_OF_TARGETS1 and (x + 1, y) in LIST_OF_TARGETS: LIST_OF_TARGETS1.append((x + 1, y)) LIST_OF_TARGETS.remove((x + 1, y)) if (x - 1, y) not in LIST_OF_TARGETS1 and (x - 1, y) in LIST_OF_TARGETS: LIST_OF_TARGETS1.append((x - 1, y)) LIST_OF_TARGETS.remove((x - 1, y)) if (x, y - 1) not in LIST_OF_TARGETS1 and (x, y - 1) in LIST_OF_TARGETS: LIST_OF_TARGETS1.append((x, y - 1)) LIST_OF_TARGETS.remove((x, y - 1)) if (x, y + 1) not in LIST_OF_TARGETS1 and (x, y + 1) in LIST_OF_TARGETS: LIST_OF_TARGETS1.append((x, y + 1)) LIST_OF_TARGETS.remove((x, y + 1)) child.background_color = [0, 1, 0, 1] AMOUNT1 = 4 + 3 * 2 + 2 * 3 + 4 if AMOUNT1 == 4 + 3 * 2 + 2 * 3 + 4: self.popup1.dismiss() Clock.unschedule(self.my_callback) finish = SoundLoader.load('files/proval.mp3') finish.play() winner = ModalView(size_hint=(0.75, 0.5)) winner.background = 'files/You_Lost.png' # victory_label = Label(text='You Lost!!!!!', font_size=50) # winner.add_widget(victory_label) winner.bind(on_dismiss=self.somefunc) winner.open() return TARGETS.remove((x, y)) if CURRENT == int(child.name): LIST_OF_TARGETS1[:] = [] if self.sound != '': self.sound.stop() self.sound = SoundLoader.load('files/boom.mp3') self.sound.play() for ship in SOME_LIST: x, y = ship s = [1, 0, -1] t = [1, 0, -1] for xx in s: for yy in t: for child in grid.children: if child.coords == (x + xx, y + yy) and (x + xx, y + yy) not in SOME_LIST: child.text = 'X' child.background_color = [1, 0, 0, 1] SOME_LIST = [] CURRENT = 0 else: if self.sound != '': self.sound.stop() self.sound = SoundLoader.load('files/bomb2.wav') self.sound.play() self.current = 0 return child = self.popup1.children[0] if child.text[-1:-4:-1] == '...': child.text = child.text[:-3] else: child.text += '.'
def button_pressed(self, button): if button.text == 'YES': self.manager.current = 'main' self.popup.dismiss() else: global CURRENT_PLAYER, AMOUNT, CURRENT1, SOME_LIST1, finish row, column = button.coords status_index = row * 10 + column already_played = self.status[status_index] if not already_played and CURRENT_PLAYER == 1: self.status[status_index] = CURRENT_PLAYER for ship in SHIPS_OF_COMP: if ship[0] == (row, column): CURRENT1 += 1 SOME_LIST1.append((row, column)) button.background_color = ship[1] # button.text = str(ship[2]) if CURRENT1 == ship[2]: if self.sound != '': self.sound.stop() self.sound = SoundLoader.load('files/boom.mp3') self.sound.play() for ship in SOME_LIST1: x, y = ship s = [1, 0, -1] t = [1, 0, -1] for xx in s: for yy in t: for child in self.ids.grid.children: if child.coords == (x + xx, y + yy) and (x + xx, y + yy) not in SOME_LIST1: child.text = 'X' child.background_color = [1, 0, 0, 1] SOME_LIST1 = [] CURRENT1 = 0 else: if self.sound != '': self.sound.stop() self.sound = SoundLoader.load('files/bomb2.wav') self.sound.play() AMOUNT += 1 AMOUNT = 4 + 3 * 2 + 2 * 3 + 4 if AMOUNT == 4 + 3 * 2 + 2 * 3 + 4: finish = SoundLoader.load('files/winner.mp3') finish.play() winner = ModalView(size_hint=(0.75, 0.5)) winner.background = 'files/youWin.png' # victory_label = Label(text='You WIN!!!!!', font_size=50) # winner.add_widget(victory_label) winner.bind(on_dismiss=self.somefunc) winner.open() break if button.background_color == [1, 1, 1, 1]: button.text = 'X' if self.sound != '': self.sound.stop() self.sound = SoundLoader.load('files/Not_ship.wav') self.sound.play() button.background_color = [1, 0, 0, 1] Clock.schedule_once(self.callback, 1) CURRENT_PLAYER *= -1