I am working on a Counter Strike: Global Offensive text based adventure for my final project in my high school computer science course.
I have tried everything asked many of my peers and ran through the python visualizer at least 10 times and I just can't seem to find the cause of my issue.
Please help me find the cause of this EOF error.
###############################################################################################################################################
# Programmer: Ethan
# Date: 29/5/15
# File name: CS-GO.py
# Description: This is a text based adventure game following the format and style of Counter Strike Global Offensive.
###############################################################################################################################################
import time
import math
import random
CT=1
T=2
money=800
hp=500
Round=1
class Players():
def __init__(self,name,accuracy,hs,phrase):
self.name=name
self.accuracy=accuracy
self.hs=hs
self.phrase=phrase
def __str__(self):
return str(self.name)+" \t"+str(self.accuracy)+" \t\t"+str(self.hs)
player_1=Players("Ethan",45,82,"3...2.....1..... REKT")
player_2=Players("Adam",21,13,"Rush kitty kat MEOW MEOW!")
player_3=Players("Anson",3,5,"Ugh.......NO NO NO NO!")
player_4=Players("Greg",22,25,"HEIN SITZIZEN")
player_5=Players("Connor",30,50,"Some of my fingers are on a trackpad..... the others.... well, you'll just have to ask your mother.")
##############
#Main Program#
##############
while True:
try:
print ("Welcome to text based CS:GO")
time.sleep(2)
print ("Please choose from one of the following players")
time.sleep(.5)
print ("## Name \tAccuracy\tHS%:")
print("#1",player_1)
print("#2",player_2)
print("#3",player_3)
print("#4",player_4)
print("#5",player_5)
player=int(input("Enter the corresponding #: "))
if player ==1:
ac=45
hs=82
elif player ==2:
ac=21
hs=13
elif player ==3:
ac=3
hs=5
elif player ==4:
ac=22
hs=25
elif player ==5:
ac=30
hs=50
game_mode=int(input("\nPlease press 1 in order to start a matchmaking game. \nYou can also press 2 to try your luck at some cases: "))
if game_mode==1:
print ("\nwelcome to matchmaking! Please follow the prompts in order to start your game")
time.sleep(2)
Map=int(input("\nHere at Volvo INC we run the standard competitive map pool.\nPlease press 1 for Dust 2 \nPlease press 2 for Inferno \nPlease press 3 for Mirage \nPlease press 4 for Cache \nPlease press 5 for Cobblestone \nPlease press 6 for Overpass: "))
print ("\n Thank you for choosing Dust 2 ;)")
time.sleep(.5)
print ("\n Finding other silvers for you to play with")
time.sleep(.5)
print ("\n Finding the best potato('Server' for you to play on")
time.sleep(.5)
print ("\n Confirming match")
time.sleep(2)
print ("\n Starting game")
time.sleep(5)
Side=random.randint(0,2)
if Side==1:
Team=CT
print ("\nWelcome to the Counter Terrorists")
time.sleep(1.5)
while hp >0:
print ("It is round #",Round)
print ("You have",money,"dollars")
menu=int(input("Would you like to buy something? y/n"))
if menu ==y:
print ("reky")
elif menu ==n:
print ("Ok then!")
else:
print ("that was an incorrect entry")
else:
Team=T
print ("\nWelcome to the Terrorists")
elif game_mode==2:
print ("we both know you're not getting shit")
You're enclosing your game logic in a
try
statement, like soThis is problematic, because just a
try
doesn't really make sense - what happens if it fails? We usetry
statements when we want to handle exceptional circumstances - for exampleYou can have as many
except
blocks for your code as you would like, for as manyException
types as you would like. These should describe what should happen in the event of such an exception. You can also have a single, optional,else
block that indicates what should happen if noException
occurs. Lastly, there is thefinally
block which occurs after all the other code has run, regardless of whether or not anException
(caught or otherwise) is raised.It is required to have at least one
except
orfinally
block after yourtry
block - otherwise that is syntactically invalid. Because you only have thetry
block, it reaches the end of file (EOF) searching for anexcept
orfinally
, which is why you get that error.From a cursory glance at your code it is unclear why you need the
try
- unless you have a specific reason for having it, I'd recommend getting rid of it altogether. If you do have a reason for having it, then you need anexcept
orfinally
.Read more on error handling (in Python 2.7) here.