示例#1
0
def test_update_score_end():
    p1 = player("p1", "", 50, 1)
    p2 = player("p2", "abc", 50, 2)
    p3 = player("p3", "(qu)werty", 75, 3)
    players = [p1, p2, p3]

    update_score_end(players)

    assert p1.get_score() == 50
    assert p2.get_score() == 35
    assert p3.get_score() == 45
def get_player(value = '', param = 'id'):
    conn = get_connection()
    cur = conn.cursor()
    cur.execute(f'SELECT * FROM player WHERE {param} = "{value}";')
    
    rows = cur.fetchall()

    if rows:
        player = c.player(
            rows[0][1],
            rows[0][2],
            rows[0][3],
            rows[0][4],
            rows[0][5],
            rows[0][6],
            rows[0][7],
            rows[0][8],
            rows[0][9],
            rows[0][10],
            rows[0][11],
            rows[0][12],
            rows[0][0],
            rows[0][13]

        )
        return player
    return False
示例#3
0
def test_exchange_tile():
    p1 = player("p1", "abcdefg", 0, 1)
    p2 = player("p2", "abc(qu)fg", 0, 1)
    letters = ["w"]

    exchange_tile(p1, letters, True, "a")
    assert len(letters) == 1
    assert letters[0] == "a"
    assert len(p1.get_hand()) == 7
    assert p1.get_hand() == "bcdefgw"

    exchange_tile(p2, letters, True, "(qu)")
    assert len(letters) == 1
    assert letters[0] == "(qu)"
    assert len(p2.get_hand()) == 6
    assert p2.get_hand() == "abcfga"
示例#4
0
def test_check_hand():
    p1 = player("p1", "qwertyu", 0, 1)

    #Test generic case with letters
    test = check_hand("qwer", p1.get_hand())
    assert test == True

    #Test generic case without letters
    test = check_hand("qwop", p1.get_hand())
    assert test == False

    #Test repeat letters - pass
    p2 = player("p2", "aaabbb", 0, 1)
    test = check_hand("bababa", p2.get_hand())
    assert test == True

    #Test repeat letters = fail
    test = check_hand("babaaba", p2.get_hand())
    assert test == False
示例#5
0
def go():
    with open('floorplan.txt','r') as f:
        for line in f:
            args = line.strip().split(',')
            if args[0] == 'width':
                globals.board_size[0] = int(args[1])
            elif args[0] == 'height':
                globals.board_size[1] = int(args[1])
            elif args[0] == 'bay':
                globals.bays.add(classes.bay(int(args[1]), int(args[2])))
            elif args[0] == 'barrier':
                globals.barriers.add(classes.barrier(int(args[1]), int(args[2])))
            elif args[0] == 'dropoff_point':
                globals.dropoff_points.add(classes.dropoff_point(int(args[1]), int(args[2])))
            elif args[0] == 'tote':
                globals.totes.append(classes.tote(int(args[1]), int(args[2]), random.randint(1,10)))
    
    globals.frame = simplegui.create_frame('Warehouse Man', globals.grid_size * globals.board_size[0], globals.grid_size * globals.board_size[1])
    globals.frame.set_canvas_background('white')
    globals.frame.set_draw_handler(e.draw_handler)
    globals.frame.set_keydown_handler(e.keydown_handler)
    globals.frame.set_keyup_handler(e.keyup_handler)
    
    cadence = simplegui.create_timer(100, e.poll_keyboard)
    globals.timers.add(cadence)
    tote_generator_timer = simplegui.create_timer(60/globals.totes_per_minute * 1000, e.generate_tote)
    globals.timers.add(tote_generator_timer)
    cleanup_timer = simplegui.create_timer(1000, helpers.clean_up_totes)
    globals.timers.add(cleanup_timer)
    order_create_timer = simplegui.create_timer(60/globals.orders_per_minute * 1000, helpers.place_order)
    globals.timers.add(order_create_timer)
    order_countdown_timer = simplegui.create_timer(1000, e.age_orders)
    globals.timers.add(order_countdown_timer)

    globals.packer = classes.player('Packer', 13, 8, 'blue')
    globals.picker = classes.player('Picker', 2, 8, 'cyan')
    globals.active_player = globals.packer
    globals.inactive_player = globals.picker
    
    e.generate_tote()
    helpers.start_timers()
    globals.frame.start()
示例#6
0
def test_player_update_hand():
    
    #Test replacing hand to full - removing all letters from bag
    p1 = player("p1", "ower", 0, 1)
    letters = ['a', 'b', 'c']
    
    p1.update_hand(p1.get_hand(), letters)
    assert len(p1.get_hand()) == 7
    assert len(letters) == 0
    
    #Test replacing hand to full - some letters still in bag
    p2 = player("p2", "ower", 0, 2)
    letters = ['a', 'b', 'c', 'd', 'e']    
    
    p2.update_hand(p2.get_hand(), letters)
    assert len(p2.get_hand()) == 7
    assert len(letters) == 2
    
    #Test replacing hand with bag empty
    p3 = player("p3", "ower", 0, 3)
    letters = []    
    
    p3.update_hand(p3.get_hand(), letters)
    assert len(p3.get_hand()) == 4
    assert len(letters) == 0
    
    #Test replacing hand with bag running out partway through
    p4 = player("p4", "ower", 0, 4)
    letters = ['a', 'b']    

    p4.update_hand(p4.get_hand(), letters)
    assert len(p4.get_hand()) == 6
    assert len(letters) == 0    
    
    #Test replacing hand with qu tile
    p5 = player("p5", "abc(qu)", 0, 5)
    
    letters = ['a', 'b', 'c', 'd', 'e']
    
    p5.update_hand(p5.get_hand(), letters)
    assert len(p5.get_hand()) == 10
    assert len(letters) == 2
示例#7
0
 def reg_players(self):
     self.col_players = int(input("Введите количество игроков: "))
     if 3 <= self.col_players < 7:
         for i in range(1, self.col_players + 1):
             name = str(input(f"Введите имя для {i} игрока: "))
             self.lst_players_name.append(name)
             self.dct_players[i] = name
             self.dct_players[i] = player(self.dct_players[i])
             print(f"Игрок с именем {name} успешно создан!")
     else:
         print(
             "Вы ввели слишком большое(маленькое) чилсло игроков! Введите число ещё раз."
         )
         self.reg_players()
示例#8
0
def default_values():

    db.create_database()
    clas = [
        c.clas('Guerreiro', 7, 4, 0, 1),
        c.clas('Arqueiro', 4, 3, 0, 7),
        c.clas('Feiticeiro', 4, 2, 7, 2)
    ]

    for cl in clas:
        db.create_class(cl)

    race = [c.race('Human', 5, 5, 5, 5)]

    for ra in race:
        db.create_race(ra)

    player = [c.player('Rubens', 1, 0, 1, 1)]

    for pl in player:
        db.create_player(pl)

    iten = [
        c.item('Machado de Assis',
               'Um machado feito pelos deuses da literatura brasileira', 3, 3,
               0, 0),
        c.item('Espada de São Darwin',
               'Espada feita do primeiro minério descoberto', 3, 3, 0, 0),
        c.item('Cajado de Flamel', 'Cajado abençoado por Aristóteles', 1, 2, 4,
               0),
        c.item(
            'Arco de Sagitário',
            'Signo não influenciam, mas um disparo no peito muda o destino de alguém.',
            1, 2, 0, 3),
        c.item(
            'Crucifixo da Madeira da Cruz de Cristo',
            'Adquirido em uma liquidação papal de indulgências, Lutero condena isso.',
            0, 2, 4, 0)
    ]

    for it in iten:
        db.create_item(it)
def hello():
  y = request.args.get('val')
  z = request.args.get('x1')
  playersFromDB = list()
  h1="Here's a graph."
  h2="Here's a graph."

  if(session['type']=='m'):

    if(y=='ts'):    
      query = "select player.FN,player.LN,count(goal.GID) from teams,matches,player,goal where player.PID=goal.P and matches.MID=goal.MID and goal.TID=teams.TID  group by goal.P  order by count(goal.GID) desc;"
      print(query)
      mycursor.execute(query)
      alltimetable = mycursor.fetchall()[:5]
      
      for somei in range(0,5):
        playersFromDB.append( classes.player(alltimetable[somei][0]+alltimetable[somei][1],obj.getdob(),obj.getpos,obj.tid))
      alltimetable = enumerate(alltimetable)
      query = "select player.FN,player.LN,count(goal.GID) from teams,matches,player,goal where player.PID=goal.P and matches.MID=goal.MID and matches.season='2017/18' and goal.TID=teams.TID group by goal.P  order by count(goal.GID) desc;"
      mycursor.execute(query)
      seastable = mycursor.fetchall()[:5]
      seastable = enumerate(seastable)
      print('---------------'+session['type'] + '-----------')

      # graphJSON=predGoalTeam.goalteam(session['tid'])
      # graphJSON1=predGoalTeamWeek.goalteamweek(session['tid'])
      # graphJSON=graphGoalTeam.graphgoalteam()
      graphJSON=bargraphgoal.graphgoalteam()
      h1="Goals per season Vs Season Number"
      h2="Goals per gameweek Vs Season Number"
      graphJSON1=graphGoalTeamWeek.graphgoalteamweek()
      print("QQQQQQQQQQQQQQQQQQQQQQQQq"+z)
      if z=='2':      
        graphJSON=predGoalTeam.goalteam()      
        graphJSON1=predGoalTeamWeek.goalteamweek()
      
    if(y=='a'):
      query="select player.FN,player.LN,count(goal.GID) from teams,matches,player,goal where player.PID=goal.AP and matches.MID=goal.MID and goal.TID=teams.TID group by goal.AP  order by count(goal.GID) desc;"
      print(query)
      mycursor.execute(query)
      alltimetable = mycursor.fetchall()[:5]
      for somei in range(0,5):
        playersFromDB.append( classes.player(alltimetable[somei][0]+alltimetable[somei][1],obj.getdob(),obj.getpos,obj.tid))
      alltimetable = enumerate(alltimetable)
      query="select player.FN,player.LN,count(goal.GID) from teams,matches,player,goal where player.PID=goal.AP and matches.MID=goal.MID and matches.season='2017/18' and goal.TID=teams.TID group by goal.AP  order by count(goal.GID) desc;"
      mycursor.execute(query)
      seastable = mycursor.fetchall()[:5]
      seastable = enumerate(seastable)
      graphJSON=None
      graphJSON1=None
    if(y=='yc'):
      query="select player.FN,player.LN,count(event.EID) from teams,matches,player,event where player.PID=event.P and matches.MID=event.MID and event.TID=teams.TID and event.`Type`='Y' group by event.P  order by count(event.EID) desc;"
      print(query)
      mycursor.execute(query)
      alltimetable = mycursor.fetchall()[:5]
      ycardevent = classes.eventyc(obj.player,obj.time1,obj.ref)
      ycardevent.getplayer()
      for somei in range(0,5):
        playersFromDB.append( classes.player(alltimetable[somei][0]+alltimetable[somei][1],obj.getdob(),obj.getpos,obj.tid))
      alltimetable = enumerate(alltimetable)
      query="select player.FN,player.LN,count(event.EID) from teams,matches,player,event where player.PID=event.P and matches.MID=event.MID and event.TID=teams.TID and matches.season='2017/18' and event.`Type`='Y' group by event.P  order by count(event.EID) desc;"
      mycursor.execute(query)
      seastable = mycursor.fetchall()[:5]
      for somei in range(0,5):
        playersFromDB.append( classes.player(seastable[somei][0]+seastable[somei][1],obj.getdob(),obj.getpos,obj.tid))
      seastable = enumerate(seastable)
      h1="Yellow Card per season Vs Season Number"
      h2="Yellow Card per gameweek Vs Season Number"
      graphJSON=graphYellowCard.graphyellowcard()
      graphJSON1=graphYellowCardWeek.graphyellowcardweek()
      if z=='2':      
        graphJSON=predYellow.predyellowcard()
        graphJSON1=predYellowCardWeek.predyellowcardweek()
    if(y=='rc'):
      query="select player.FN,player.LN,count(event.EID) from teams,matches,player,event where player.PID=event.P and matches.MID=event.MID and event.TID=teams.TID and event.`Type`='R' group by event.P  order by count(event.EID) desc;"
      print(query)
      mycursor.execute(query)
      alltimetable = mycursor.fetchall()[:5]
      rcard = classes.eventrc(obj.player,obj.time1,obj.ref)
      for somei in range(0,5):
        playersFromDB.append( classes.player(alltimetable[somei][0]+alltimetable[somei][1],obj.getdob(),obj.getpos,obj.tid))
      alltimetable = enumerate(alltimetable)
      query="select player.FN,player.LN,count(event.EID) from teams,matches,player,event where player.PID=event.P and matches.MID=event.MID and event.TID=teams.TID and matches.season='2017/18' and event.`Type`='R' group by event.P  order by count(event.EID) desc;"
      mycursor.execute(query)
      seastable = mycursor.fetchall()[:5]
      for somei in range(0,5):
        playersFromDB.append( classes.player(seastable[somei][0]+seastable[somei][1],obj.getdob(),obj.getpos,obj.tid))
      seastable = enumerate(seastable)
      graphJSON=graphRedCard.graphredcard()
      h1="Red Cards per season Vs Season Number"
      graphJSON1=None
      if z=='2':      
        graphJSON=predRedCard.predredcard()  

      if graphJSON != None  and (z=='0' or z=='2'):
        mydict = { "username": session['username'], "report1": graphJSON,"heading1":h1 }
        x = mycol.insert_one(mydict)    
        
      return render_template("tableandgraph.html", val=y, x1=z, alltimetable=alltimetable, typ=session['type'], seastable = seastable,graphJSON=graphJSON)
      
      
    if(y=='at'):
      query="select substring(season,1,4),substring(season,5,7),avg(attendance) from matches group by season order by season desc ;"
      print(query)
      mycursor.execute(query)
      alltimetable = mycursor.fetchall()[:5]
      matchplayed=classes.match(obj.ht,obj.at,obj.ref,alltimetable[0][2])
      alltimetable = enumerate(alltimetable)
      query="select concat(t1.shortname,' vs'),t2.shortname,attendance from matches,teams as t1,teams as t2 where t1.tid=ht and t2.tid=at and season='2017/18';"
      mycursor.execute(query)
      seastable = mycursor.fetchall()[:5]
      seastable = enumerate(seastable)
      graphJSON=graphAttendance.graphatt()
      graphJSON1=graphAttendanceWeek.graphattweek()
      h1="Average Attendance per season Vs Season Number"
      h2="Attendance per gameweek Vs Season Number"
      if z=='2':      
        graphJSON=predAttendance.predatt()
        graphJSON1=predAttendanceWeek.predattweek()

  else:
    if(y=='ts'):    
      query = "select player.FN,player.LN,count(goal.GID) from teams,matches,player,goal where player.PID=goal.P and matches.MID=goal.MID and goal.TID=teams.TID and teams.TID=" + str(session['tid']) + " group by goal.P  order by count(goal.GID) desc;"
      print(query)
      mycursor.execute(query)
      alltimetable = mycursor.fetchall()[:5]
      for somei in range(0,5):
        playersFromDB.append( classes.player(alltimetable[somei][0]+alltimetable[somei][1],obj.getdob(),obj.getpos,obj.tid))
      alltimetable = enumerate(alltimetable)
      query = "select player.FN,player.LN,count(goal.GID) from teams,matches,player,goal where player.PID=goal.P and matches.MID=goal.MID and matches.season='2017/18' and goal.TID=teams.TID and teams.TID=" + str(session['tid']) + " group by goal.P  order by count(goal.GID) desc;"
      mycursor.execute(query)
      seastable = mycursor.fetchall()[:5]
      seastable = enumerate(seastable)
      print('---------------'+session['type'] + '-----------')

      # graphJSON=predGoalTeam.goalteam(session['tid'])
      # graphJSON1=predGoalTeamWeek.goalteamweek(session['tid'])
      # graphJSON=graphGoalTeam.graphgoalteam(session['tid'])
      graphJSON=bargraphgoal.graphgoalteam(session['tid'])
      graphJSON1=graphGoalTeamWeek.graphgoalteamweek(session['tid'])
      h1="Goals per season Vs Season Number"
      h2="Goals per gameweek Vs Season Number"
      print("QQQQQQQQQQQQQQQQQQQQQQQQq"+z)
      if z=='2':      
        graphJSON=predGoalTeam.goalteam(session['tid'])      
        graphJSON1=predGoalTeamWeek.goalteamweek(session['tid'])
      
    if(y=='a'):
      query="select player.FN,player.LN,count(goal.GID) from teams,matches,player,goal where player.PID=goal.AP and matches.MID=goal.MID and goal.TID=teams.TID and teams.TID=" + str(session['tid']) + " group by goal.AP  order by count(goal.GID) desc;"
      print(query)
      mycursor.execute(query)
      alltimetable = mycursor.fetchall()[:5]
      for somei in range(0,5):
        playersFromDB.append( classes.player(alltimetable[somei][0]+alltimetable[somei][1],obj.getdob(),obj.getpos,obj.tid))
      alltimetable = enumerate(alltimetable)
      query="select player.FN,player.LN,count(goal.GID) from teams,matches,player,goal where player.PID=goal.AP and matches.MID=goal.MID and matches.season='2017/18' and goal.TID=teams.TID and teams.TID="+ str(session['tid']) + " group by goal.AP  order by count(goal.GID) desc;"
      mycursor.execute(query)
      seastable = mycursor.fetchall()[:5]
      seastable = enumerate(seastable)
      graphJSON=None
      graphJSON1=None
    if(y=='yc'):
      query="select player.FN,player.LN,count(event.EID) from teams,matches,player,event where player.PID=event.P and matches.MID=event.MID and event.TID=teams.TID and teams.TID="+ str(session['tid']) + " and event.`Type`='Y' group by event.P  order by count(event.EID) desc;"
      print(query)
      mycursor.execute(query)
      alltimetable = mycursor.fetchall()[:5]
      ycardevent = classes.eventyc(obj.player,obj.time1,obj.ref)
      ycardevent.getdetails()
      for somei in range(0,5):
        playersFromDB.append( classes.player(alltimetable[somei][0]+alltimetable[somei][1],obj.getdob(),obj.getpos,obj.tid))
      alltimetable = enumerate(alltimetable)
      query="select player.FN,player.LN,count(event.EID) from teams,matches,player,event where player.PID=event.P and matches.MID=event.MID and event.TID=teams.TID and teams.TID="+ str(session['tid']) + " and matches.season='2017/18' and event.`Type`='Y' group by event.P  order by count(event.EID) desc;"
      mycursor.execute(query)
      seastable = mycursor.fetchall()[:5]
      seastable = enumerate(seastable)
      graphJSON=graphYellowCard.graphyellowcard(session['tid'])
      graphJSON1=graphYellowCardWeek.graphyellowcardweek(session['tid'])
      h1="Yellow Card per season Vs Season Number"
      h2="Yellow Card per gameweek Vs Season Number"
      if z=='2':      
        graphJSON=predYellow.predyellowcard(session['tid'])
        graphJSON1=predYellowCardWeek.predyellowcardweek(session['tid'])
    if(y=='rc'):
      query="select player.FN,player.LN,count(event.EID) from teams,matches,player,event where player.PID=event.P and matches.MID=event.MID and event.TID=teams.TID and teams.TID="+ str(session['tid']) + " and event.`Type`='R' group by event.P  order by count(event.EID) desc;"
      print(query)
      mycursor.execute(query)
      alltimetable = mycursor.fetchall()[:5]
      rcard = classes.eventrc(obj.player,obj.time1,obj.ref)
      rcard.getdetails()
      for somei in range(0,5):
        playersFromDB.append( classes.player(alltimetable[somei][0]+alltimetable[somei][1],obj.getdob(),obj.getpos,obj.tid))
      alltimetable = enumerate(alltimetable)
      query="select player.FN,player.LN,count(event.EID) from teams,matches,player,event where player.PID=event.P and matches.MID=event.MID and event.TID=teams.TID and teams.TID="+ str(session['tid']) + " and matches.season='2017/18' and event.`Type`='R' group by event.P  order by count(event.EID) desc;"
      mycursor.execute(query)
      seastable = mycursor.fetchall()[:5]
      seastable = enumerate(seastable)
      graphJSON=graphRedCard.graphredcard(session['tid'])
      h1="Red Cards per season Vs Season Number"
      #h2="Goals per gameweek Vs Season Number"
      graphJSON1=None
      if z=='2':      
        graphJSON=predRedCard.predredcard(session['tid'])      

      if graphJSON != None  and (z=='0' or z=='2'):
        mydict = { "username": session['username'], "report1": graphJSON,"heading1":h1 }
        x = mycol.insert_one(mydict)
        
      return render_template("tableandgraph.html", val=y, x1=z, alltimetable=alltimetable, typ=session['type'], seastable = seastable,graphJSON=graphJSON)
    
    
    if(y=='at'):
      query="select substring(season,1,4),substring(season,5,7),avg(attendance) from matches where  ht="+str(session['tid'])+" group by season order by season desc ;"
      print(query)
      mycursor.execute(query)
      alltimetable = mycursor.fetchall()[:5]
      matchplayed=classes.match(obj.ht,obj.at,obj.ref,alltimetable[0][2])
      matchplayed.getdetails()
      for somei in range(0,5):
        playersFromDB.append( classes.player(alltimetable[somei][0]+alltimetable[somei][1],obj.getdob(),obj.getpos,obj.tid))
      alltimetable = enumerate(alltimetable)
      query="select concat(t1.shortname,' vs'),t2.shortname,attendance from matches,teams as t1,teams as t2 where t1.tid=ht and t2.tid=at and season='2017/18' and ht="+str(session['tid'])+";"
      mycursor.execute(query)
      seastable = mycursor.fetchall()[:5]
      seastable = enumerate(seastable)
      graphJSON=graphAttendance.graphatt(session['tid'])
      graphJSON1=graphAttendanceWeek.graphattweek(session['tid'])
      h1="Average Attendance per season Vs Season Number"
      h2="Attendance per gameweek Vs Season Number"
      if z=='2':      
        graphJSON=predAttendance.predatt(session['tid'])
        graphJSON1=predAttendanceWeek.predattweek(session['tid'])

  if graphJSON != None and graphJSON1!=None and (z=='0' or z=='2'):
    print(h1+h2)
    mydict = { "username": session['username'], "report1": graphJSON,"report2":graphJSON1,"heading1":h1,"heading2":h2 }
    x = mycol.insert_one(mydict)
  # print("********************")
  # print(type(graphJSON[0]['x'][0]))
  # print("********************")
  return render_template("tableandgraph.html", val=y, x1=z, alltimetable=alltimetable,typ=session['type'], seastable = seastable,graphJSON=graphJSON,graphJSON1=graphJSON1)
示例#10
0
import classes
import teams
volkan=classes.player("Volkan Demirel",50,35,85,5,teams.fenerbahce)
#dirar=player("Nabil Dirar"),60,28,80,4,fenerbahce)
squirtle=classes.player("Skrtel",70,34,89,6,teams.fenerbahce)
topal=classes.player("Mehmet Topal",50,30,78,5,teams.fenerbahce)
ekici=classes.player("Mehmet Ekici",65,30,85,6,teams.fenerbahce)
slimani=classes.player("Islam Slimani",50,31,90,2,teams.fenerbahce)

karius=classes.player("Loris Karius",40,26,93,3,teams.besiktas)
vida=classes.player("Domagoj Vida",70,28,85,6,teams.besiktas)
medel=classes.player("Medel",60,33,79,6,teams.besiktas)
llajic=classes.player("Adem LLajic",75,26,82,5,teams.besiktas)
burak=classes.player("Burak Yılmaz",40,35,89,6,teams.besiktas)

muslera=classes.player("Fernanda Muslera",60,32,87,4,teams.galatasaray)
luyindama=classes.player("Luyindama",50,30,75,5,teams.galatasaray)
donk=classes.player("Ryan Donk",50,32,70,5,teams.galatasaray)
belhanda=classes.player("Belhanda",52,28,90,4,teams.galatasaray)
diagne=classes.player("Diagne",40,28,75,5,teams.galatasaray)

listofplayers=[volkan,squirtle,topal,ekici,slimani,karius,vida,medel,llajic,burak,muslera,luyindama,donk,belhanda,diagne]
示例#11
0
# Old School TXT RPG Game

import sys
import time
import random
import os
import classes

screen_width = 100

spider = classes.spider()
myPlayer = classes.player()
goblin = classes.goblin()
witch = classes.witch()
boss = classes.boss()


def first_screen_options():
    option = input("-> ")
    if option.lower() == ("play"):
        setup_game()
    elif option.lower() == ("help"):
        help_screen()
    elif option.lower() == ("quit"):
        sys.exit()
    while option.lower not in ['play', 'help', 'quit']:
        print("Don't try to cheat! Enter a valid command!")
        option = input("-> ")
        if option.lower() == ("play"):
            setup_game()
        elif option.lower() == ("help"):
示例#12
0
def play_game(wordList, letters, tiles):
    """
    Executes the game. Allows the user to create players, then loops through turns until game is complete.
    Once game is complete, prints out a list of players and their rank & score

    Parameters
    ----------
    wordList : List of strings
        All the playable words in the game
    letters : List of letters
        Letters that remain in the 'bag' - at beginning of game = all letters
    tiles : List of tiles
        The board upon which letters are played. List of lists, each containing WIDTH tiles
        tiles [y][x] returns the tile at location (x,y)

    Returns
    -------
    None.

    """

    turn = 0
    
    print("Here is the game board")
    print()
    print_grid(tiles)
    print()
    
    playernum = int(input("How many players? "))
    print()
    
    #Create the players for the game
    players = []
    for i in range(playernum):
        print("Creating Player ", i + 1)
        name = input("What is the name of the player? ")
        players.append(player(name, "", 0, i))
        players[i].update_hand("", letters)
        print()

    passing_players = 0            
  
    #Turns
    print("Beginning the game")
    play_turns = True
    while play_turns == True:
        
        #Checking to ensure letters are running out
        #print("There are", len(letters), "tiles left")
        
        for i in range(playernum):
            #Start turn, get letters to play
            print("Player", players[i].get_name(), "it is your turn.")
            print("Here is your hand:", players[i].get_hand())
            print()
            print_grid(tiles)
            print()
             
            #Give player option to pass their turn
            turn_go = False
            while turn_go == False:
                print("You can pass your turn by inputting PASS as your word (case sensitive)")
                print("You can exchange a letter in your hand by inputting EXCHANGE as your word")
                word = input("What word would you like to play? ")
         
                if word != "PASS" and word != "EXCHANGE":
                    passing_players = 0
                    turn_go = True
                    word = word.lower()
                    tiles = play_word(wordList, letters, tiles, players[i], word, turn)
                    
                elif word == "EXCHANGE":
                    
                    excCheck = input("Are you sure? (y/n) ")
                    if excCheck == 'y':
                        print()
                        exchange_tile(players[i], letters)
                        passing_players = 0
                        turn_go = True
                    else:
                        print()
                        print("Here is your hand:", players[i].get_hand())
                        print()
                        print_grid(tiles)
                        print()
                        
                #User inputted "PASS"
                else:
                    passCheck = input("Are you sure? (y/n) ")
                    if passCheck == 'y':
                        print()
                        passing_players += 1
                        
                        #If board is blank, don't want to throw off touch check
                        if turn == 0:
                            turn = -1
                            
                        turn_go = True
                    else:
                        print()
                        print("Here is your hand:", players[i].get_hand())
                        print()
                        print_grid(tiles)
                        print()
                           
            turn += 1
            
            #All players in a row passed in a row
            if passing_players == len(players):
                print("All players have passed! The game is now over.")
                print()
                play_turns = False
                break
            
            if len(players[i].get_hand()) == 0 & len(letters) == 0:
                play_turns = False
                
            
            
    #End the game
    print("GAME OVER")

    update_score_end(players)
    print_final_scores(players)        
    
#play_game(create_words(), create_letterpool(), build_tiles(LENGTH, WIDTH))
示例#13
0
def play(player):

    op = -1
    while op != '0':
        op = input(
            'Here you start your adventure!\n0.Exit\n1.Stash\n2.Combat\n3.View character\n4.Level up\nR.'
        )
        os.system('cls')
        if op == '0':
            return
        elif op == '1':
            items = db.get_player_items(player)

            if items:
                # IF player have items on statsh
                print('Welcome to stash!!')
                print('This is your items:')
                for i in items:
                    print(i.id, '-', i.name)
                op = input('Select your item to equip: ')
                item = db.get_item(op)
                os.system('cls')
                db.equip_item(player, item)
                print(item.name + ' equipped!')
                player = db.get_player(player.id)
            else:
                # Player dont have any items on stash
                print('You have no items :(\nKill some mobs to get some items')

        elif op == '2':

            os.system('cls')
            print('1.Floresta\n2.Deserto\n3.Caverna')

            op = input('R.')
            os.system('cls')
            if op == '1' and db.get_player_caves(player, 0) == '0':
                print('You have entered into the forest.')
                t.sleep(1.5)
                enemy1 = c.player('Mosquito', 1, 5, 1, 1, 5, 5)
                enemy2 = c.player('Cobra', 2, 10, 1, 1, 10, 15)
                enemy3 = c.player('Urso', 3, 15, 1, 1, 15, 13, 13)
                enemy4 = c.player('Leão', 4, 20, 1, 1, 20, 15, 15)
                enemy5 = c.player('Ent',
                                  5,
                                  40,
                                  1,
                                  1,
                                  40,
                                  17,
                                  17,
                                  item_equipped=1)

                if player.fight(enemy1) == True:
                    if player.fight(enemy2) == True:
                        if player.fight(enemy3) == True:
                            if player.fight(enemy4) == True:
                                if player.fight(enemy5) == True:

                                    item = db.get_item(1)
                                    os.system('cls')
                                    print('You complete the Forest, Gratzz!')
                                    print('Here is your reward!')
                                    print(item.name +
                                          ' has been added to your stash!')
                                    db.att_item(player, item)
                                    db.update_player_caves(player, 0, '1')
                                    db.update_player_caves(player, 1, '0')
                                    t.sleep(3.5)

            elif op == '2' and db.get_player_caves(player, 1) == '0':
                print('You have entered into the deserto.')
                t.sleep(1.5)
                enemy1 = c.player('Calango', 1, 5, 1, 1, 5, 5)
                enemy2 = c.player('Camelo', 2, 10, 1, 1, 10, 15)
                enemy3 = c.player('Babuíno', 3, 15, 1, 1, 15, 13, 13)
                enemy4 = c.player('Minhocão', 4, 20, 1, 1, 20, 15, 15)
                enemy5 = c.player('Escorpião Gigante', 5, 40, 1, 1, 40, 17, 17)
                enemy6 = c.player('Mumia', 6, 60, 1, 1, 60, 19, 19)
                enemy7 = c.player('Esfinge',
                                  7,
                                  80,
                                  1,
                                  1,
                                  80,
                                  21,
                                  21,
                                  item_equipped=2)

                if player.fight(enemy1):
                    if player.fight(enemy2):
                        if player.fight(enemy3):
                            if player.fight(enemy4):
                                if player.fight(enemy5):
                                    if player.fight(enemy6):
                                        if player.fight(enemy7):

                                            item = db.get_item(3)
                                            os.system('cls')
                                            print(
                                                'You complete the deserto, Gratzz!'
                                            )
                                            # colocar condição se o item já existir no inventário do jogador
                                            print('Here is your reward!')
                                            print(
                                                item.name +
                                                ' has been added to your stash!'
                                            )
                                            db.att_item(player, item)

                                            player.lock_level(0)
                                            t.sleep(3.5)

            elif op == '3' and db.get_player_caves(player, 2) == '0':
                print('You have entered into the caverna.')
                t.sleep(1.5)
                enemy1 = c.player('Rato', 1, 5, 1, 1, 5, 5)
                enemy2 = c.player('Morcego', 2, 10, 1, 1, 10, 15)
                enemy3 = c.player('Goblin', 3, 15, 1, 1, 15, 13, 13)
                enemy4 = c.player('Kobold', 4, 20, 1, 1, 20, 15, 15)
                enemy5 = c.player('Esqueleto', 5, 40, 1, 1, 40, 17, 17)
                enemy6 = c.player('Orc', 6, 60, 1, 1, 60, 19, 19)
                enemy7 = c.player('Troll',
                                  7,
                                  80,
                                  1,
                                  1,
                                  80,
                                  21,
                                  2,
                                  item_equipped=2)
                enemy8 = c.player('O ex da sua mãe', 8, 100, 1, 1, 100, 23, 23)
                enemy9 = c.player('Dragão',
                                  9,
                                  110,
                                  1,
                                  1,
                                  110,
                                  23,
                                  23,
                                  item_equipped=3)

                if player.fight(enemy1):
                    if player.fight(enemy2):
                        if player.fight(enemy3):
                            if player.fight(enemy4):
                                if player.fight(enemy5):
                                    if player.fight(enemy6):
                                        if player.fight(enemy7):
                                            if player.fight(enemy8):
                                                if player.fight(enemy9):

                                                    item = db.get_item(3)
                                                    os.system('cls')
                                                    print(
                                                        'You complete the caverna, Gratzz!'
                                                    )
                                                    print(
                                                        'Here is your reward!')
                                                    print(
                                                        item.name +
                                                        ' has been added to your stash!'
                                                    )
                                                    db.att_item(player, item)
                                                    t.sleep(3.5)

        elif op == '3':
            # Show player ifo
            player.show()
            print()

        elif op == '4':
            # Level up!
            player.levelUp()

        else:
            print('invalid option')
示例#14
0
def main():
    op = -1
    os.system('cls')
    while op != '0':
        op = input(
            'Welcome to the legend of the adventure!\n0.Exit\n1.Create character\n2.Load character\n3.Delete Character\n4.Credits\n5.Set Database\nR.'
        )
        player = c.player('')
        os.system('cls')
        if op == '1':
            # Creating character
            print('Creating character')

            name = input('Name: ')

            totalC = db.get_all_classes()
            print()
            print('Choose your class!')
            print('id -  name - con - str - int - spd')
            for i in totalC:
                print(i.id, '-', i.name, '-', i.con, '-', i.str, '-', i.int,
                      '-', i.spd)

            clas_id = input('Class id: ')
            print('You have chosen ' + db.get_class(clas_id).name)

            totalR = db.get_all_races()
            print('\nChoose your race!')
            print('id -  name - con - str - int - spd')
            for i in totalR:
                print(i.id, '-', i.name, '-', i.con, '-', i.str, '-', i.int,
                      '-', i.spd)

            race_id = input('Race id: ')
            print('You have chosen ' + db.get_race(race_id).name)

            p = c.player(name, id_class=clas_id, id_race=race_id)
            db.create_player(p)
            p = db.get_player(p.name, 'name')
            p.show()
            op = input('\nAre u sure?\n1.Yes\n2.No\nR.')
            if op == '1':
                os.system('cls')
                print(p.name + ' created!')
            elif op == '2':
                db.delete_player(p)
                os.system('cls')
                print('Operation aborted')

        elif op == '2':
            op = '123456'
            while int(op) > len(db.get_all_players()):
                # Loading character
                os.system('cls')
                print('loading character')
                # Creating character
                print('Choose yout character')
                print('0 - EXIT')
                totalP = db.get_all_players()
                for i in totalP:
                    print(i.id, '-', i.name)

                op = input('Select your character id: ')
                os.system('cls')
                if op == '0':
                    op = 'null'
                    break

                if db.get_player(op):

                    player = db.get_player(op)

                    player.show()

                    op = input('\nAre you sure?\n1.Yes\n2.No\nR.')
                    os.system('cls')
                    if op == '1':
                        print(player.name + ' selected!')
                        db.update_last_login(player)

                        play(player)
                        break
                    elif op == '2':
                        print('Operation aborted')
                        op = len(db.get_all_players()) + 1
                        break

        elif op == '3':
            # Delete character
            op = '123456'
            while int(op) > len(db.get_all_players()):
                # Loading character
                os.system('cls')
                print('deleting character')
                # Deleting a character
                print('Choose yout character')
                print('0 - EXIT')
                totalP = db.get_all_players()
                for i in totalP:
                    print(i.id, '-', i.name)

                op = input('Select your character id: ')
                os.system('cls')
                if op == '0':
                    op = 'null'
                    break

                if db.get_player(op):

                    player = db.get_player(op)
                    os.system('cls')
                    player.show()

                    op = input('\nAre you sure?\n1.Yes\n2.No\nR.')
                    if op == '1':
                        os.system('cls')
                        print(player.name + ' deleted!')
                        db.delete_player(player)

                        break
                    elif op == '2':
                        print('Operation aborted')
                        op = len(db.get_all_players()) + 1
                        break

        elif op == '4':
            # Credits
            print('This game is made full of love ♥')
            print('Version: 0.15 Alfa')

        elif op == '5':
            # Set default values
            try:
                with open('database.db', 'r') as f:
                    print('Database already setted!')
                    default_values()

            except IOError:
                print('Setting database...\nDone!')
                default_values()

        elif op == '0':
            print('see you next time')
            pass

        else:
            print('invalid option!')
示例#15
0
import classes
import pandas as pd
import numpy as np
import copy

df = pd.read_csv('out.csv')
players = []
for index, row in df.iterrows():
    players.append(
        classes.player(
            row['Name'], row['Team'], row['Position'], row['Price'],
            [row['1'], row['2'], row['3'], row['4'], row['5'], row['6']]))

model = classes.game(players)

teamList = []

gkpCount = 0
fwdCount = 0
midCount = 0
defCount = 0
totalCount = 0
for i in model.nextQ[0]:

    if i.position == 'Goalkeeper' and gkpCount < 2:
        gkpCount += 1
        teamList.append(copy.copy(i))
        totalCount += 1

    elif i.position == 'Defender' and defCount < 5:
        defCount += 1
示例#16
0
def mainGame():
    global objects, score, calc_speed, iterator
    calc_speed = 1.6
    iterator = 1
    score = 0
    objects = []
    objects.clear()

    WIN_WIDTH = 1024
    WIN_HEIGHT = 768
    bg = pygame.image.load(os.path.join('images', 'road.png')).convert()
    bg2 = pygame.image.load(os.path.join('images', 'road.png')).convert()
    bg = pygame.transform.scale(bg, (1024, 768))
    bg2 = pygame.transform.scale(bg2, (1024, 768))

    # v experimenting v #

    rect1 = bg.get_rect()
    rect2 = bg2.get_rect()

    bgY = 0
    bgY2 = bg.get_height()

    clock = pygame.time.Clock()
    iterator = 1
    speed = 60

    #-----CLASSES-----#
    import classes
    obstacle = classes.hole

    #-----FUNCTIONS-----#

    def resetDodge():

        global objects, score, calc_speed, iterator
        calc_speed = 1.6
        iterator = 1
        score = 0
        objects.clear()
        car.boost = False
        car.x = 450

    def newHigh():
        try:
            hsFont = pygame.font.Font('fonts/Fox Cavalier.otf', 45)
            smallFont = pygame.font.Font('fonts/Fox Cavalier.otf', 30)
        except:
            hsFont = pygame.font.SysFont('Arial', 45)
            smallFont = pygame.font.SysFont('Arial', 30)

        newHighSurface = pygame.Surface((1024, 768))
        newHighSurface.fill((255, 43, 0))
        win.blit(newHighSurface, (0, 0))
        try:
            nameInput = pygame_textinput.TextInput('',
                                                   'fonts/Fox Cavalier.otf',
                                                   80, True, (0, 0, 0),
                                                   (20, 20, 20), 300, 45)
        except:
            nameInput = pygame_textinput.TextInput('', 'Arial', 80, True,
                                                   (0, 0, 0), (20, 20, 20),
                                                   300, 45)

        hsText1 = "Congrats! Your score of %d" % (score)
        hsText2 = "made it to the leaderboard!"
        enterText = "Please enter your name:"
        maxChar = "(10 characters max)"
        wrongName = "invalid name. Please try again"

        invalidNameDisplay = smallFont.render(wrongName, True, (255, 255, 255))

        newHsClock = pygame.time.Clock()
        newHS = True
        while newHS == True:

            events = pygame.event.get()
            for event in events:
                if event.type == pygame.QUIT:
                    pygame.quit()
                    sys.exit()

            if nameInput.update(events):
                newHighName = (nameInput.get_text())
                #print(len(newHighName))
                if len(newHighName) < 11:
                    win.blit(newHighSurface, (0, 0))
                    hsSaved = txtFont.render("High Score Saved,", True,
                                             (255, 255, 255))
                    blitName = txtFont.render(newHighName + '!', True,
                                              (255, 255, 255))
                    win.blit(blitName, (512 - blitName.get_width() / 2, 415))
                    win.blit(hsSaved, (512 - hsSaved.get_width() / 2, 350))
                    pygame.display.update()
                    time.sleep(3.5)
                    return newHighName
                elif len(newHighName) > 11:
                    win.blit(invalidNameDisplay,
                             (512 - invalidNameDisplay.get_width() / 2, 450))
                    pygame.display.update()
                    time.sleep(2)

            hsDisplayText1 = hsFont.render(hsText1, True, (255, 255, 255))
            hsDisplayText2 = hsFont.render(hsText2, True, (255, 255, 255))
            nameAskDisplay = hsFont.render(enterText, True, (255, 255, 255))
            maxCharDisplay = smallFont.render(maxChar, True, (255, 255, 255))

            win.blit(newHighSurface, (0, 0))
            win.blit(hsDisplayText1,
                     (1024 / 2 - hsDisplayText1.get_width() / 2, 50))
            win.blit(hsDisplayText2,
                     (512 - hsDisplayText2.get_width() / 2, 100))
            win.blit(nameAskDisplay,
                     (512 - nameAskDisplay.get_width() / 2, 250))
            win.blit(maxCharDisplay,
                     (512 - maxCharDisplay.get_width() / 2, 300))
            win.blit(nameInput.get_surface(),
                     (512 - nameInput.get_surface().get_width() / 2, 350))

            pygame.display.update()
            newHsClock.tick(15)

    def endScreen():

        messages = [
            "P'wned", "you ded", "Unlucky...", "Better luck next time", "oof!",
            "Big bOOm!", "Byron Distracted You", "Nice try", "You Crashed",
            "Creeper...Aw Man"
        ]
        randomPicker = random.randint(0, len(messages) - 1)
        deathMsg = messages[randomPicker]
        deathMsg = str(deathMsg)
        #    print(deathMsg)

        if score > Low.score:

            scores.append(score)
            scores.sort()
            scores.reverse()

            Top.score = scores[0]
            Mid.score = scores[1]
            Low.score = scores[2]
            # print(scores)
            # print(players)

            newHighName = str(newHigh())

            if score == Top.score:
                Low.name = Mid.name
                Mid.name = Top.name
                Top.name = newHighName
                Mid.name = Mid.name
                Mid.Score = scores[1]
                Low.name = Low.name
                Low.Score = scores[2]

            elif score == Mid.score:
                Low.name = Mid.name
                #Mid.name = Top.name
                Mid.name = newHighName
                Top.name = Top.name
                Top.Score = scores[0]
                Low.name = Low.name
                Low.Score = scores[2]

            elif score == Low.score:
                #Low.name = Mid.name
                # Mid.name = Top.name
                Low.name = newHighName
                Top.name = Top.name
                Top.Score = scores[0]
                Mid.name = Mid.name
                Mid.Score = scores[1]

            players.sort(key=lambda record: record.score, reverse=True)

            #print(players)
            #print(scores)
            with open('data_01.dat', 'wb') as sav:
                pickle.dump(players, sav, pickle.HIGHEST_PROTOCOL)
                pickle.dump(scores, sav, pickle.HIGHEST_PROTOCOL)
                pickle.dump(Top, sav, pickle.HIGHEST_PROTOCOL)
                pickle.dump(Mid, sav, pickle.HIGHEST_PROTOCOL)
                pickle.dump(Low, sav, pickle.HIGHEST_PROTOCOL)
                pickle.dump(record, sav, pickle.HIGHEST_PROTOCOL)

        run = True
        while run:

            bgEndSurface = pygame.Surface((1024, 768))
            bgEndSurface.fill((74, 54, 250))
            win.blit(bgEndSurface, (0, 0))
            try:
                txtFont = pygame.font.Font('fonts/Fox Cavalier.otf', 60)
            except:
                txtFont = pygame.font.SysFont('Arial', 60)

            deadMsg = txtFont.render(str(deathMsg), True, (255, 255, 255))
            previousScore = txtFont.render('Your Score: ' + str(score), 1,
                                           (255, 255, 255))
            colour = (255, 255, 255)
            playAgain = classes.txtBtn(300, 512, 100, 50, 'play again',
                                       'Fox Cavalier.otf')
            playAgain.draw(win)
            mainMenu = classes.txtBtn(700, 512, 100, 50, 'Main Menu',
                                      'Fox Cavalier.otf')
            mainMenu.draw(win)
            # win.blit(playAgain, (512/2 - playAgain.get_width()/2, 500))

            win.blit(previousScore,
                     (1024 / 2 - previousScore.get_width() / 2, 200))
            win.blit(deadMsg, (1024 / 2 - deadMsg.get_width() / 2, 100))
            pygame.display.update()

            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    run = False
                    pygame.quit()

                keys = pygame.key.get_pressed()

                if playAgain.hoverCheck(
                ) == True and event.type == MOUSEBUTTONDOWN or keys[K_SPACE]:
                    run = False
                    mainGame()

                if mainMenu.hoverCheck(
                ) == True and event.type == pygame.MOUSEBUTTONDOWN:

                    menuLoop()
        resetDodge()

    def redrawWindow():
        win.blit(bg, (0, bgY))
        win.blit(bg2, (0, bgY2))
        for obj in objects:
            obj.draw(win)
        try:
            font = pygame.font.Font('fonts/Fox Cavalier.otf', 30)
        except:
            font = pygame.font.SysFont('Arial', 30)

        text = font.render('Score: ' + str(score), 1, (255, 255, 255))
        win.blit(text, (512 - 100, 0))
        car.draw(win)
        #    khadda.draw(win) Test the hole (non-moving)
        pygame.display.flip()
        pygame.event.pump()

    calc_speed = 1.6
    # khadda = hole(300,220, 10,10) Test the hole object instance
    start_speed = 1.6
    multiplier = 1500 // start_speed  #trying to find a number to to scale distance properly
    multiplier = int(multiplier)
    car = classes.player(450, 490, 5, 5)
    pygame.time.set_timer(USEREVENT, multiplier)
    objects = []
    oneup = 1
    score = 0
    #450 by 590 is the starting pos for car (345,704) and surface (129,264); pygame uses topleft corner of image to blit it.

    #-----DODGE GAME LOOP-----#
    pygame.event.set_blocked(pygame.MOUSEMOTION)
    #pygame.event.set_blocked(pygame.MOUSEBUTTONDOWN)
    pygame.event.set_blocked(pygame.MOUSEBUTTONUP)

    lane_list = [437, 128, 700]
    maxSpeed = False

    run = True
    while run:

        if car.boost == False:
            score = score + 1

        elif car.boost == True:
            score = score + 0.5 * calc_speed

        #print(score)
        score = int(round(score))
        #  3 score = int(score)3
        oneup += 1
        #calc_speed = 1.6

        for objj in objects:
            if objj.collide(car.hitbox):
                endScreen()

        #---MAXIMUM SPEED---#

        if calc_speed == 20:
            calc_speed = 20
        if calc_speed < 20:

            calc_speed = 1.4 + iterator

        #---GENERATES RANDOM BETWEEN m+600 and m+1500
        #   INTEGER CONSTANT FOR HOLE OBJECT SPEED---#
        multiplier = 1500 // calc_speed
        multiplier = int(multiplier)

        #pygame.time.set_timer(USEREVENT, multiplier)
        if calc_speed > 13:
            multiplier = random.randint(multiplier + 700, multiplier + 1500)
        elif calc_speed < 13:
            multiplier = random.randint(multiplier + 800, multiplier + 1600)
        #---DRAW THE OBSTACLE OBJECTS FROM THE LIST---#

        for obj in objects:
            obj.y += calc_speed
            #pygame.time.set_timer(USEREVENT, multiplier-350)
            if obj.y > 780:
                objects.pop(objects.index(obj))

        #---EVER INCREASING (UPTO 20) SPEED FOR BACKGROUND---#

        bgY += calc_speed
        bgY2 += calc_speed
        if bgY > WIN_HEIGHT:
            bgY = bg.get_height() * -1
        if bgY2 > WIN_HEIGHT:
            bgY2 = bg.get_height() * -1
        iterator = iterator + 0.005

        #---DEBUGGING PURPOSES; CAN DELETE---#
        #print(calc_speed)

        #if calc_speed == 20:
        #    calc_speed = 20
        #if calc_speed < 20:
        #    calc_speed = 1.4 +iterator
        #else:
        #   calc_speed = calc_speed

        #print(calc_speed)

        #---EXIT CONDITION---#

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                run = False
                pygame.quit()
                sys.exit()

        #---ADD OBSTACLES TO THE OBJECTS LIST---#

        #---THREE DIFFERENT PATHS RANDOMLY CHOSEN SO THAT PLAYER CANNOT CHEAT AND STAY BETWEEN THE GAPS---#

            if event.type == USEREVENT:

                lane_picker = random.randint(0, 2)

                if lane_picker == 0:

                    objectX = random.randrange(60, 750, 285)
                    objectY = random.randrange(150, 680, 250)
                    objectY = objectY * -1

                    objects.append(obstacle(objectX, objectY, 10, 10))
                elif lane_picker == 1:

                    objectX = random.randrange(100, 750, 285)
                    objectY = random.randrange(160, 680, 250)
                    objectY = objectY * -1

                    objects.append(obstacle(objectX, objectY, 10, 10))

                elif lane_picker == 2:

                    objectX = random.randrange(205, 780, 285)
                    objectY = random.randrange(170, 680, 250)
                    objectY = objectY * -1

                    objects.append(obstacle(objectX, objectY, 10, 10))

            #for timers in range(oneup):
                pygame.time.set_timer(USEREVENT, multiplier - 150)

        # print(objects)
        #---KEY PRESSES AND ACTIONS---#

        def pauseScreen():
            transparentSurface = pygame.Surface((1024, 768))
            transparentSurface.set_alpha(128)
            transparentSurface.fill((255, 255, 255))
            pausedDisplay = txtFont.render("paused", True, (0, 0, 0))
            goToMenu = txtBtn(650 - pausedDisplay.get_width() / 2,
                              600 - pausedDisplay.get_height() / 2, 100, 50,
                              'Go to menu', 'Fox Cavalier.otf')
            win.blit(transparentSurface, (0, 0))
            win.blit(pausedDisplay, (512 - pausedDisplay.get_width() / 2,
                                     384 - pausedDisplay.get_height() / 2))
            while True:
                goToMenu.draw(win)

                clock.tick(60)
                pygame.display.update()
                for event in pygame.event.get():
                    if event.type == pygame.QUIT:
                        run = False
                        pygame.quit()
                        sys.exit()

                    if goToMenu.hoverCheck(
                    ) == True and event.type == MOUSEBUTTONDOWN or keys[
                            K_SPACE]:
                        run = False
                        menuLoop()

                    if event.type == pygame.KEYDOWN:
                        pausedDisplay.set_alpha(0)
                        pygame.display.update()
                        height = 384 - pausedDisplay.get_height() / 2
                        for x in range(3, 0, -1):
                            pausedDisplay = txtFont.render(
                                "%d" % (x), True, (0, 0, 0))
                            pausedDisplay.set_alpha(255)
                            height += 60
                            win.blit(pausedDisplay,
                                     (1024 / 2 - pausedDisplay.get_width() / 2,
                                      height))
                            pygame.display.update()
                            time.sleep(1)

                        return

        keys = pygame.key.get_pressed()

        if keys[pygame.K_SPACE] or keys[pygame.K_UP] or keys[pygame.K_w]:
            car.boost = True
            iterator = iterator + 0.05

        if keys[pygame.K_LEFT] or keys[pygame.K_a]:
            car.movingL = True

        if keys[pygame.K_RIGHT] or keys[pygame.K_d]:
            car.movingR = True

        if keys[pygame.K_j]:
            car.slow = True
        if keys[pygame.K_ESCAPE]:
            pauseScreen()

        redrawWindow()
        clock.tick(60)
示例#17
0
文件: test01.py 项目: Gizmoh/Test01
import sqlalchemy
import classes
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

engine = create_engine('sqlite:///datos.db', echo =False)
engine.execute("select 1").scalar()
Session = sessionmaker(bind=engine)
session = Session()
X = True
Z = ""
classes.user.metadata.create_all(engine)
classes.player.metadata.create_all(engine)
print("Creacion de personajes por usuario: ")
for row in session.query(classes.user).order_by(classes.user.id):
	print (row.name+": ")
	while (Z != ""):
		Z = raw_input("Ingrese nombre: ")
		if(Z != ""):
			Y = input("Ingrese nivel: ")
			A = classes.player(Z,row.id)
			A.level = Y
			session.add(A)
	Z = "0"
session.commit()
usuario = session.query(classes.user).filter_by(name="huehue").first()
print(usuario.name)
示例#18
0
文件: game.py 项目: mwang29/yahtzee
from scoring import recommend

print("\n\nWelcome to Yahtzee!\n\n")
player_num = int(input('How many players?\n'))
players = []
scores = []
hands = []
wait = "................................."
# empty list of players

for n in range(player_num):
    if n == 0:
        new_name = input("Please enter a name: ")
    else:
        new_name = input("Please enter another name: ")
    players.append(player(new_name))
    scores.append(score(new_name))

for n in range(player_num):
    print(f"\nPlayer {n+1} start!\n")
    hands.append(dice(5))
    start = input('Press Enter to roll your first hand!')

    print(f"Your roll is.. \n\n")
    print(hands[n].values)

    for i in range(2):
        s = input(
            "\n\nEnter positions of dice you would like to re-roll. (Ex: 1,2,3) If none, type 'none'\n\n"
        ).lower()
        if s != "none":
示例#19
0
import os
import random
import time
from datetime import datetime
from randevents import general_events, book_quotes
from classes import cat, player
from db import make_db, insert_db, results_db
from art import splash_text, win_text, house_diagram

calories = 0
move_count = -1
entry_flag = True
food = 'x'
c = cat()
p = player()


# Set up the player and kitty. Player in foyer and kitty somewhere random.
def start():
    make_db()
    cls()
    print splash_text
    print """
Welcome to Catch the Cat! In this game, the objective is to
catch the cat running through the rooms. Every time you move to
a new room, the cat moves too! If you land in the same room as 
the cat, you win! Enjoy!
    """
    c.name = raw_input('\nType your cat\'s name and press Enter: ')
    p.name = raw_input('\nType your name and press Enter: ')
示例#20
0
#7/23/2019
import sys, pygame
from pygame.locals import *
from classes import box, objective, player
from pygame import Color

import pygame

import random

pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode((640, 480))
player = player()
player.box.rect.center = (20, 240)
objectives = []
objectives.append(objective())
objectives.append(objective())
objectives.append(objective())

count = 0
for i in objectives:
    i.box.rect.center = (count + 100, 240)
    count += 100\


def update():
    pygame.event.pump()
    key = pygame.key.get_pressed()
    if key[pygame.K_LEFT]:
        player.move(2)
示例#21
0
    import sys
    if '/home/mch/Code/Python' not in sys.path: sys.path.append('/home/mch/Code/Python')
    import simpleguitk as simplegui

import eventhandlers as e
import globals

frame = simplegui.create_frame('Walking Player', globals.grid_size * globals.board_size[0], globals.grid_size * globals.board_size[1])
frame.set_canvas_background('white')
frame.set_draw_handler(e.draw_handler)
frame.set_keydown_handler(e.keydown_handler)
frame.set_keyup_handler(e.keyup_handler)

cadence = simplegui.create_timer(100, e.poll_keyboard)
cadence.start()
globals.p = classes.player()

for i in range(0,10):
    x = random.randrange(1, globals.board_size[0])
    y = random.randrange(1, globals.board_size[1])
    points = random.randint(1,5)*5
    globals.targets.add(classes.target(x, y, points))

for i in range(0,2):
    x = random.randrange(1, globals.board_size[0])
    y = random.randrange(1, globals.board_size[1])
    globals.dropoff_points.add(classes.dropoff_point(x,y))

globals.barriers.add(classes.barrier((15, 10), (17, 10), (17, 15), (15, 15)))

illegal_targets = set([])
示例#22
0
    import sys
    if '/home/mch/Code/Python' not in sys.path: sys.path.append('/home/mch/Code/Python')
    import simpleguitk as simplegui

import eventhandlers as e
import globals

frame = simplegui.create_frame('Walking Player', globals.grid_size * globals.board_size[0], globals.grid_size * globals.board_size[1])
frame.set_canvas_background('white')
frame.set_draw_handler(e.draw_handler)
frame.set_keydown_handler(e.keydown_handler)
frame.set_keyup_handler(e.keyup_handler)

cadence = simplegui.create_timer(100, e.poll_keyboard)
cadence.start()
globals.packer = classes.player('packer', 5, 5, 'blue')
globals.picker = classes.player('picker', 5, 20, 'cyan')
globals.active_player = globals.packer
globals.inactive_player = globals.picker

for i in range(0,10):
    x = random.randrange(1, globals.board_size[0])
    y = random.randrange(1, globals.board_size[1])
    points = random.randint(1,5)*5
    globals.totes.add(classes.tote(x, y, points))

for i in range(0,2):
    x = random.randrange(1, globals.board_size[0])
    y = random.randrange(1, globals.board_size[1])
    globals.dropoff_points.add(classes.dropoff_point(x,y))
示例#23
0
            gui.startFlg = 1
    if (gui.startFlg == 2):
        classes.ser1.write('1\n'.encode())
        break

a.sort()

while (1):
    if (gui.startFlg == 3): break

print(1)

classes.ser1.write('1\n'.encode())

for i in a:
    globals()['p{}'.format(i)] = classes.player(gui.startMoney, 1, i)
    functions.pList.append(globals()['p{}'.format(i)])

if (gui.timeoutTurn == 0): gui.timeoutTurn = 500

for i in range(1, gui.timeoutTurn):
    for a in functions.pList:
        functions.turn(a)
        if (len(functions.pList) == 1):
            classes.ser1.write("2{}000000".format(
                functions.pList[0].number).encode())
            break

if ((len(functions.pList) > 1) and (gui.poormanFlg == 0)):
    for a in functions.pList:
        for b in a.estList:
示例#24
0
def definePlayerObject(id):
  localobject=classes.player(id)
  globals()["P"+id]=localobject
示例#25
0
is_cow2_sick = False
is_cow3_sick = False
is_cow4_sick = False
is_cow5_sick = False
cow1_dead = False
cow2_dead = False
cow3_dead = False
cow4_dead = False
cow5_dead = False
onAboutPage = False
backButtonHovered = False
backButtonPushed = False
continueToGame = False
#################   create sprites   ######################

spritey_da_sprite = player("sprite.png", 400, 300)
spritey_da_sprite.resize(90, 85)
lazer1 = sprite("bullet.png", 0, 0)
lazer1.resize(bulletRadius * 2, bulletRadius * 2)
background = sprite("background.png", 0, 0)
background.resize(800, 600)
enemy1 = enemy("gmo.png", 0, 0, 1, enemyMinSpeed, enemyMaxSpeed)
enemy1.resize(70, 70)
enemy1.ranPos()
enemy2 = enemy("gmo.png", 0, 0, 1, enemyMinSpeed, enemyMaxSpeed)
enemy2.resize(70, 70)
enemy3 = enemy("gmo.png", 0, 0, 1, enemyMinSpeed, enemyMaxSpeed)
enemy3.resize(70, 70)
enemy4 = enemy("gmo.png", 0, 0, 1, enemyMinSpeed, enemyMaxSpeed)
enemy4.resize(70, 70)
enemy5 = enemy("gmo.png", 0, 0, 1, enemyMinSpeed, enemyMaxSpeed)