2 Commits

Author SHA1 Message Date
037ce198e3 stuff 2016-02-23 19:19:52 -05:00
26469c9ae3 example 2016-02-23 17:46:32 -05:00
7 changed files with 81 additions and 54 deletions

View File

@ -9,8 +9,11 @@ class Controller:
def start(self): def start(self):
selected = int( self.view.display_doors() ) selected = False
self.doors = Doors( selected, self.name ) while selected not in ['1', '2', '3']:
selected = self.view.display_doors()
self.doors = Doors(int(selected), self.name)
self.host_twist() self.host_twist()
@ -23,30 +26,32 @@ class Controller:
for i in range(1, 4): for i in range(1, 4):
if i == self.doors.selected: if i == self.doors.selected:
message += "[ X ] " message += '[ X ] '
elif i == self.doors.open_door: elif i == self.doors.open_door:
message += "[ Goat ] " message += '[ Goat ] '
else: else:
message += "[ " + str(i) + " ] " message += '[ ' + str(i) + ' ] '
other_selection = i other_selection = i
selection = False
while selection not in ['n', 'y', '']:
selection = self.view.host_twist(message).lower()
selection = self.view.host_twist( message ) if selection == 'y':
if selection:
self.doors.selected = other_selection self.doors.selected = other_selection
self.doors.switch = True self.doors.switch = True
return self.out_come() return self.out_come()
def out_come(self): def out_come(self):
message = 'LOSE'
if self.doors.out_come(): if self.doors.out_come():
do = self.view.winner() message = 'WIN'
else:
do = self.view.loser()
if do == 'n': replay = self.view.out_come(message)
exit()
self.start() if replay in ['', 'y']:
return True return self.start()
return exit()
print('name:', __name__)
if __name__ == '__main__':
Controller() Controller()

View File

@ -1,5 +1,9 @@
import sqlite3
import random import random
conn = sqlite3.connect('default.db')
c = conn.cursor()
class Doors: class Doors:
def __init__(self, selected, name): def __init__(self, selected, name):
self.name = name self.name = name
@ -24,14 +28,31 @@ class Doors:
return False return False
def logDB(name, switch, outcome): def logDB(name, switch, outcome):
import sqlite3
conn = sqlite3.connect('default.db')
c = conn.cursor()
c.execute("INSERT INTO games (name, switch, outcome) values (?,?,?) ", (name, switch, outcome)) c.execute("INSERT INTO games (name, switch, outcome) values (?,?,?) ", (name, switch, outcome))
conn.commit() conn.commit()
conn.close()
return True return True
def seedDB():
c.execute("""
CREATE TABLE games (
id INTEGER DEFAULT NULL PRIMARY KEY AUTOINCREMENT,
name TEXT DEFAULT NULL,
switch TEXT DEFAULT NULL,
outcome TEXT DEFAULT NULL
);
""")
conn.commit()
conn.close()
if __name__ == '__main__':
seed = input('Seed the database[y/n]: ').lower()
if seed in ['y', 'yes']:
print('seeding')
seedDB()
exit()

View File

@ -1,24 +1,25 @@
class View: class View:
def __init__( self ):
print( "Welcome to the Monty Hall Problem!")
def get_name(self): def get_name(self):
return input( "Please enter your name: " ) print('\033c')
print('Welcome to the Monty Hall Problem!')
return input('Please enter your name: ')
def display_doors(self): def display_doors(self):
print('\033c')
print('Doors: [ 1 ] [ 2 ] [ 3 ]') print('Doors: [ 1 ] [ 2 ] [ 3 ]')
return input('Select door: ') return input('Select door: ')
def host_twist(self, message): def host_twist(self, message):
print( "The host will revel where one goat is..." ) print('The host will revel where one goat is...')
print(message) print(message)
print( "Would you like to change your selection? [n/y]" ) print('Would you like to change your selection? [n/y]')
return input( "[no]: ") return input('[n]: ')
def winner( self ): def out_come(self, message):
print( "You WIN!!!" ) print('You {}!!!'.format(message))
return input("Play again?[y]") return input('Play again?[y]')
if __name__ == '__main__':
print('Please opne controller.py')
exit()
def loser( self ):
print( "You Lose!!!" )
return input("Play again?[y]")