placing and removing of flags

master
panki27 7 years ago
parent 94bf386a24
commit 418cc94f49

@ -10,6 +10,7 @@ NOTHING = 0
MINE = -1 MINE = -1
FLAG = -2 FLAG = -2
UNKNOWN = -3 UNKNOWN = -3
FLAG_MINE = -4
CURSOR_POSITION=[0,0] CURSOR_POSITION=[0,0]
FIELDS_CLEARED = 0 FIELDS_CLEARED = 0
@ -17,7 +18,7 @@ FIELDS_CLEARED = 0
width, height = 9, 9 width, height = 9, 9
MINECOUNT = 10 MINECOUNT = 10
#put logic for program param here #put logic for program param here
playfield = [[-3 for x in range(width)] for y in range(height)] playfield = [[UNKNOWN for x in range(width)] for y in range(height)]
headline = '.' headline = '.'
midline = '|' midline = '|'
@ -39,7 +40,7 @@ def calculate_hint(col, row):
if x >= 0 and x < len(playfield): if x >= 0 and x < len(playfield):
for y in range(row-1, row+2): for y in range(row-1, row+2):
if y >= 0 and y < len(playfield[0]): if y >= 0 and y < len(playfield[0]):
if(playfield[y][x] == MINE): if playfield[y][x] == MINE or playfield[y][x] == FLAG_MINE:
hint+=1 hint+=1
else: else:
hint = MINE hint = MINE
@ -118,6 +119,8 @@ def print_playfield(playfield):
rowstring += str(cell) rowstring += str(cell)
elif cell == UNKNOWN or cell == MINE: elif cell == UNKNOWN or cell == MINE:
rowstring+= '#' rowstring+= '#'
elif cell == FLAG_MINE or cell == FLAG:
rowstring += 'P'
#elif cell == MINE: #elif cell == MINE:
# rowstring += 'X' # rowstring += 'X'
if selected: if selected:
@ -133,7 +136,7 @@ def print_playfield(playfield):
#print midline #print midline
#print currentline #print currentline
#print tailline #print tailline
stdscr.addstr(currentline, 0, tailline + str(FIELDS_CLEARED)) stdscr.addstr(currentline, 0, tailline)
currentline +=1 currentline +=1
#print tailline #print tailline
@ -161,6 +164,18 @@ def check_score():
if FIELDS_CLEARED == (width*height)-MINECOUNT: if FIELDS_CLEARED == (width*height)-MINECOUNT:
gameover(True) gameover(True)
def place_flag(x, y):
global playfield
#playfield[y][x] = playfield[y][x]
if playfield[y][x] == MINE:
playfield[y][x] = FLAG_MINE
elif playfield[y][x] == UNKNOWN:
playfield[y][x] = FLAG
elif playfield[y][x] == FLAG_MINE:
playfield[y][x] = MINE
elif playfield[y][x] == FLAG:
playfield[y][x] = UNKNOWN
def handle_input(k): def handle_input(k):
global CURSOR_POSITION global CURSOR_POSITION
if k == curses.KEY_LEFT: if k == curses.KEY_LEFT:
@ -175,6 +190,8 @@ def handle_input(k):
elif k == curses.KEY_DOWN: elif k == curses.KEY_DOWN:
if CURSOR_POSITION[1] < height-1: if CURSOR_POSITION[1] < height-1:
CURSOR_POSITION[1] +=1 CURSOR_POSITION[1] +=1
elif k == ord('f'):
place_flag(CURSOR_POSITION[0], CURSOR_POSITION[1])
elif k == ord(' '): elif k == ord(' '):
hit(CURSOR_POSITION[0], CURSOR_POSITION[1]) hit(CURSOR_POSITION[0], CURSOR_POSITION[1])

Loading…
Cancel
Save