PYTHON
Welcome to my Basic games in python!
My pong game
In the code below the first two lines define the screen size in pixels
In the line three and four define the ball and bat positions and size
The line five and six define the speed or velocity of the ball
def is a funtion named draw. It draws the screen with a color. The color is produced with three numbers from 0 to 255. The first number the red color 289, that is a reddish color, the second number 14 is green color and the third number 200 is blue color
Here is the color rgb 209,14,200
<
WIDTH = 750
HEIGHT = 600
ball = Rect((250, 450), (35, 35))
bat = Rect((200, 480), (250, 30))
vx = 5
vy = 5
def draw():
screen.fill((34,240,224))
screen.draw.filled_rect(ball, "purple")
screen.draw.filled_rect(ball, "green")
def update():
global vx, vy
ball.x += vx
ball.y += vy
if ball.right > WIDTH or ball.left < 0:
vx = -vx
if ball.colliderect(bat) or ball.top < 0:
vy = -vy
if ball.bottom > HEIGHT:
exit()
if(keyboard.right):
bat.x += 5
elif(keyboard.left):
bat.x -=5
Ninja jumper
#NINJA JUMPER
import time
import pygame
import random
WIDTH = 1000
HEIGHT = 600
blue = 150
blueforward = True
groundcolour = 0,0,139
floor = Rect ((0,580), (1000,20))
#Ninja
ninja = Actor('jumper-1',(500,250))
ninja_x_velocity = 0
ninja_y_velocity = 0
gravity = 1
jumping = False
jumped = False
allowx = True
timer = []
#platforms
platform1 = Rect((450,500),(100,10))
platform2 = Rect((300,400),(100,10))
platform3 = Rect((600,400),(100,10))
platform4 = Rect((200,300),(100,10))
platform5 = Rect((700,300),(100,10))
platform6 = Rect((100,200),(100,10))
plat61_x = 200
plat62_x = 700
platform61 = Rect((plat61_x,200),(100,10))
platform62 = Rect((plat62_x,200),(100,10))
platform7 = Rect((800,200),(100,10))#..moving out right(
platform8 = Rect((0,100),(100,10))#top far left
platform9 = Rect((900,100),(100,10))#top far rigth
platforms =[floor,platform1,platform2,platform3,platform4,platform5,platform6,platform7,platform8,platform9,platform61,platform62]#list to platforms
plat61left = True
plat62left = False
#Gems
diamond_x = [950,50,850,150,750,250,650,350,500]
diamond_y = [70,70,170,170,270,270,370,370,470]
d_xy = random.randint(0,8)
gem = Actor('diamond_s', (diamond_x[d_xy],diamond_y[d_xy]))
points = 0
#music
pygame.mixer.pre_init(22050, -16, 2, 1024)
pygame.init()
pygame.mixer.quit()
pygame.mixer.init(22050, -16, 2, 1024)
sounds.ninja_music.play(-1)
def draw():
global platform61, platform62
screen.fill((173,216,blue))
screen.blit('skyline_large',(0,0))
platform61 = Rect((plat61_x,200),(100,10))
platform62 = Rect((plat62_x,200),(100,10))
platforms[10] = platform61
platforms[11] = platform62
for i in platforms:
screen.draw.filled_rect(i,groundcolour)
ninja.draw()
gem.draw()
screen.draw.text("Loot:", center=(50,540), fontsize=40, shadow=(1,1),
color=(255,255,255), scolor="#202020")
screen.draw.text(str(points), center=(45,570), fontsize=40,
shadow=(1,1), color=(255,255,255), scolor="#202020")
def update():
backgroundcolourfade()
platform_mover()
ninja_move()
def ninja_move():
global ninja_x_velocity, ninja_y_velocity, jumping, gravity, jumped, allowx, timer, points, d_xy
#facing the front
if ninja_x_velocity == 0 and not jumped:
ninja.image = 'jumper-1'
#gravity
if collidecheck():
gravity = 1
ninja.y -= 1
allowx = True
timer = []
if not collidecheck():
ninja.y += gravity
if gravity <= 20:
gravity += 0.5
timer.append(pygame.time.get_ticks())
if len(timer) > 5 and not jumped:
allowx = False
ninja.image = 'jumper-up'
if len(timer) > 20:
ninja.image = 'jumper-fall'
if len(timer) > 30:
ninja.image = 'jumper-fall2'
#print(timer)
#left and right movement
if (keyboard.left) and allowx:
if ( ninja.x > 40) and (ninja_x_velocity > -8):
ninja_x_velocity -= 2
ninja.image = "jumper-left"
if (keyboard.left) and jumped:
ninja.image = "jumper-jleft"
if (keyboard.right) and allowx:
if (ninja.x < 960) and ( ninja_x_velocity < 8):
ninja_x_velocity += 2
ninja.image = "jumper-right"
if (keyboard.right) and jumped:
ninja.image = "jumper-jright"
ninja.x += ninja_x_velocity
print(allowx)
#velocity
if ninja_x_velocity > 0:
ninja_x_velocity -= 1
if ninja_x_velocity < 0:
ninja_x_velocity += 1
if ninja.x <50 or ninja.x > 950:
ninja_x_velocity = 0
#jumping
if (keyboard.up) and collidecheck()and not jumped:
sounds.jump.play()
jumping = True
jumped = True
clock.schedule_unique(jumpedrecently,0.4)
ninja.image = "jumper-up"
ninja_y_velocity = 95
if jumping and ninja_y_velocity > 25:
ninja_y_velocity = ninja_y_velocity - ((100 - ninja_y_velocity)/2)
#print(ninja_y_velocity)
ninja.y -= ninja_y_velocity/3 #jump.height
else:
ninja_y_velocity = 0
jumping = False
#gem collisic
if ninja.colliderect(gem):
points += 1
sounds.gem.play()
old_d_xy = d_xy
d_xy = random.randint(0,8)
while old_d_xy == d_xy:
d_xy = random.randint(0,8)
gem.x = diamond_x[d_xy]
gem.y = diamond_y[d_xy]
def platform_mover():
global plat61_x, plat62_x, plat61left, plat62left
#left platform
if plat61left:
plat61_x += 2
if plat61_x == 400:
plat61left = False
if ninja.colliderect(platform61):
ninja.x += 2
else:
plat61_x -= 2
if plat61_x == 200:
plat61left = True
if ninja.colliderect(platform61):
ninja.x -= 2
#right platform
if plat62left:
plat62_x += 2
if plat62_x == 700:
plat62left = False
if ninja.colliderect(platform62):
ninja.x += 2
else:
plat62_x -= 2
if plat62_x == 500:
plat62left = True
if ninja.colliderect(platform62):
ninja.x -= 2
def collidecheck():
collide = False
for i in platforms:
if ninja.colliderect(i):
collide = True
return collide
def jumpedrecently():
global jumped
jumped = False
def backgroundcolourfade():
global blue, blueforward
if blue < 255 and blueforward:
blue += 1
else:
blueforward = False
if blue > 130 and not blueforward:
blue -= 1
else:
blueforward = True