Skip to main content

How To Create Bouncing Ball Game Using Python (Mouse)

Hello Friends,
                           Today, We will Discuss About How we Can Create Bouncing Ball Game Using Python Mouse Version. Friends, I Know My Some Python Examples Are looks like Very Hard For Beginners but Friends, Believe Me My All Example Are Easy For Understand. They looks Hard Because I Am Using OOP (Object Orient Programming). So, If Want To Be Expert Then don't Lose Your Courage or guts.

So, Let's Talk About This Example


First, Screen Shots:


Example Code:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
#!/usr/bin/python

# ---------------- READ ME ---------------------------------------------
# This Script is Created Only For Practise And Educational Purpose Only
# This is an Example Of Tkinter Canvas Graphics
# This Script Is Created For http://bitforestinfo.blogspot.in
# This Script is Written By
__author__='''

######################################################
                By S.S.B Group                          
######################################################

    Suraj Singh
    Admin
    S.S.B Group
    surajsinghbisht054@gmail.com
    http://bitforestinfo.blogspot.in/

    Note: We Feel Proud To Be Indian
######################################################
'''
print __author__
# ----------------------------------------------------------------------

try:
    import Tkinter
except:
    import tkinter as Tkinter
import time
BALL_SPEED=5

class GameCanvas(Tkinter.Canvas):
    def __init__(self, *args, **kwargs):
        Tkinter.Canvas.__init__(self, *args, **kwargs)
        self.create_bouncing_ball()
        self.create_moving_bat()
        
    def create_moving_bat(self):
        self.bat=Tkinter.Canvas.create_rectangle(self,0,570,100,580, fill='lightslateblue')
        self.bind('<Motion>', self.update_bat_moves)
        return
    
    def update_bat_moves(self, event=None):
        x=event.x
        x1,y1,x2,y2=self.coords(self.bat)
        gap=(x2-x1)/2
        center=x1+gap
        move=x-center
        self.move(self.bat,move,0)
        return
        
    def create_bouncing_ball(self):
        self.ball=Tkinter.Canvas.create_oval(self, 0,0,20,20, fill='cornflowerblue')
        self.x=BALL_SPEED
        self.y=BALL_SPEED
        return
    
    def update_board(self):
        width=self.winfo_width()
        height=self.winfo_height()
        x1,y1,x2,y2=self.coords(self.ball)
        hit=len(self.find_overlapping(x1,y1,x2,y2))
        if hit>=2:
            self.y=-BALL_SPEED
            self.move(self.ball,self.x,self.y)
        elif x1<0:
            self.x=BALL_SPEED
            self.move(self.ball,self.x,self.y)
        elif x2>width:
            self.x=-BALL_SPEED
            self.move(self.ball,self.x,self.y)
        elif y1<0:
            self.y=BALL_SPEED
            self.move(self.ball,self.x,self.y)
        elif y2>height:
            x=width/2
            y=height/2
            self.create_text(x,y, text='Game Over', font=('arial 50 bold'), fill='red')
            self.y=-BALL_SPEED
            self.move(self.ball,self.x,self.y)            
        else:
            self.move(self.ball,self.x,self.y)
        return





# Gui Handler
def main():
    root=Tkinter.Tk()
    root.minsize(800,600)
    root.maxsize(800,600)
    board=GameCanvas(root, bg='lavender')
    board.pack(expand='yes', fill='both')
    # Program Loop
    while True:
        root.update()
        root.update_idletasks()
        board.update_board()
        time.sleep(0.01)

# main Trigger
if __name__=='__main__':
    main()

if Anyone Wants To Download Click Here



thanks for visiting my blog.


For any question or Suggestion or help
S.S.B
Email:  surajsinghbisht054@gmail.com
Or post Comment.
please feel free to contact me.

Comments

Related Post

Top Visited

how to install burp suite in Linux/Ubuntu 16.04

Big List Of Google Dorks For Sqli Injection

Create Simple Packet Sniffer Using Python

how to configure burpsuite with firefox?

Latest Google Dorks List

Python Beautiful Soup Module - Tutorial - Part 2

Create Ping Sweeping Script Using Python

List of Keyboard Shortcuts Keys for GNOME Desktop (Kali linux / Linux / Ubuntu/*nix )

What is Burp Suite And its Features?

What is the use of Pseudo header in TCP/UDP packets?