Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Dann bau nen Embedded Video und Hintergrundmusik ein und bastel darunter einen Blog.Zitat von »"xardias"«
Neue URL:
http://dev-area.net:8095/
un-web-2.0 .
Quellcode |
|
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 |
from wg.models.squareboard import Stone, SetStoneAction class ConnectFourRules(object): def start_game(self, model): model.active_player = model.white def check_range(self, model, range): white_connected = 0 black_connected = 0 for x, y in range: field = model.board.fields[x][y] if field: white_connected = white_connected+1 if field.owner is model.white else 0 black_connected = black_connected+1 if field.owner is model.black else 0 else: black_connected = white_connected = 0 if white_connected == 4: return [model.white] elif black_connected == 4: return [model.black] def determine_winner(self, model): dim = model.board.dimensions xrange = [(x, y) for x in range(dim[0]) for y in range(dim[1])] yrange = [(x, y) for y in range(dim[1]) for x in range(dim[0])] winner = self.check_range(model, xrange) winner = winner or self.check_range(model, yrange) return winner def get_possible_moves(self, model, player): possible = [] stone = Stone(Stone.STONE, player) for x in range(model.board.dimensions[0]): for y in reversed(range(model.board.dimensions[1])): if model.board.fields[x][y] is None: possible.append(SetStoneAction(player, (x, y), stone)) break return possible def make_move(self, model, move): (x, y) = move.position model.board.fields[x][y] = Stone(Stone.STONE, move.player) model.active_player = model.white if move.player is model.black else model.black model.winner = self.determine_winner(model) |
Gings danach nicht weiter? Najo... da sollte dann vielleicht eine Gewinnentscheidung kommen.Zitat von »"Zera"«
Werbeanzeige