a game by use pygame.
#-*-coding=utf-8-*-
import sys
import pygame
import threading
import random
class Game:
def __init__(self):
pygame.init()
self.screen=pygame.display.set_mode((800,600))
pygame.display.set_caption('python game')
self.imgae=[]
self.imagerect=[]
self.vs=pygame.image.load('image/vs.gif')
self.o=pygame.image.load('image/o.gif')
self.p=pygame.image.load('image/p.gif')
self.u=pygame.image.load('iamge/o.gif')
self.title=pygame.image.load('iamge/title.gif')
self.start=pygame.image.load('image/start.gif')
self.exit=pygame.image.load('iamge/exit.gif')
for i in range(3):
gif=pygame.image.load('image/' + str(i) + '.gif')
self.image.append(gif)
for i in range(3):
image=self.image[i]
rect=image.get_rect()
rect.left=200 * (i+1) + rect.left
rect.top=400
self.imagerect.append(rect)
def Start(self):
self.screen.blit(self.title,(200,100,400,140))
self.screen.blit(self.start,(350,300,100,50))
self.screen.blit(self.exit,(350,400,100,50))
pygame.display.flip()
start=1
while start:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == pygame.MOUSEBUTTONDOWN:
if self.isStart() == 0:
start=0
elif self.isStart(0 == 1:
sys.exit()
else:
pass
self.run()
def run(self):
self.screen.fill((0,0,0))
for i in range(3):
self.screen.blit(self.image[i],self.imagerect[i])
pygame.display.flip()
while True:
for event in pygame.event.get():
if event.type == pygame.Quit:
sys.exit()
elif event.type == pygame.MOUSEBUTTONDOWN:
self.OnMouseButDown()
else:
pass
def isStart(self):
pos = pygame.mouse.get_pos()
if pos[0] > 350 and pos[0] < 450:
if pos[1] > 300 and pos[1] < 350:
return 0
elif pos[1] > 400 and pos[1] < 450:
return 1
else:
return 2
else:
return 2
def OnMouseButDown(self)
self.screen.blit(self.vs,(300,150,140,140))
pos=pygame.mouse.get_pos()
if pos[1] > 400 and pos[1] < 500:
if pos[0] > 200 and pos[0] < 340:
self.screen.blit(self.image[0],(150,150,140,140))
self.isWin(0)
elif pos[0] > 400 and pos[0] < 540:
self.screen.blit(self.image[1],(150,150,140,140))
self.isWin(1)
elif pos[0] > 600 and pos[0] < 740:
self.screen.blit(self.image[2],(150,150,140,140))
self.isWin(2)
else:
pass
def isWin(self,value):
num=random.randint(0,2)
self.screen.blit(self.image[num],(450,150,590,240))
pygame.display.flip()
if num == value:
self.screen.blit(self.o,(220,10,140,70))
pygame.display.flip()
elif num < value:
if num == 0:
if value == 2:
self.screen.blit(self.u,(220,10,140,70))
else:
self.screen.blit(self.p,(220,10,140,70))
pygame.display.flip()
else:
self.screen.blit(self.u,(220,10,140,70))
pygame.display.flip()
else:
if num == 2:
if value == 1:
self.screen.blit(self.u,(220,10,140,70))
else:
self.screen.blit(self.p,(220,10,140,70))
pygame.display.flip()
else:
self.screen.blit(self.u,(220,10,140,70))
pygame.display.flip()
game=Game()
game.Start()