Jun-07-2018, 04:23 PM
(This post was last modified: Jun-07-2018, 04:24 PM by fierygaming.)
Hey guys so im working on this mini game and in def Mknight(): the text wont draw I dont get any errors and if I put a txt.draw(p1) it gives me an error saying its drawn but its not.
from graphics import* from pygame import* import pygame import graphics ##Variables## x,y=0,0 #positions of mouse clicks p1 = GraphWin("coord locator",1440,900) ##Main## p1.setBackground('blue') txt = Text(Point(725,125),'Select Your class') txt.setTextColor('red') txt.setSize(16) txt.setFace('times roman') txt.draw(p1) txt1 = Text(Point(690,200),'Mounted Knight\t\t\t\t\t Knight') txt1.setTextColor('red') txt1.setSize(16) txt1.setFace('times roman') txt1.draw(p1) class1=Image(Point(450,400),'Mknightlogo.gif') class1.draw(p1) class2=Image(Point(975,400),'Knightlogo.gif') class2.draw(p1) exit1 = Rectangle(Point(40,40),Point(10,10)) exit1.draw(p1) exit1.setFill('Red') exit1.setWidth(1) txt2 = Text(exit1.getCenter(),'Exit') txt2.draw(p1) while True: p=p1.checkMouse() if p: x=p.getX() y=p.getY() if 10<x<40 and 10<y<40 : p1.close() elif p: break ##Functions## def Mknight(): p1.setBackground('green') txt.setText('You have choosen to ride your trusty steed') def Knight(): p1.setBackground('red') while True: p=p1.checkMouse() p1.setBackground('blue') if p: x=p.getX() y=p.getY() print(x,y) if 300<x<595 and 230<y<560 : Mknight() txt.undraw() class2.undraw() txt1.undraw() class1.undraw() x=p.getX() #exit y=p.getY() break elif 10<x<40 and 10<y<40 : p1.close() break if 850<x<1103 and 265<y<525 : Knight() txt.undraw() class2.undraw() txt1.undraw() class1.undraw() x=p.getX() #exit y=p.getY() break elif 10<x<40 and 10<y<40: p1.close() break