-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
20 changed files
with
648 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#boolean | ||
a =10 | ||
b=20 | ||
print (a>b) | ||
print (a<b) | ||
print (a<=b) | ||
print (a>=b) | ||
print (a==b) | ||
print (a!=b) | ||
#logical | ||
c1 = a>10 | ||
c2 = b>10 | ||
r1 = c1 and c2 | ||
r2 = c1 or c2 | ||
r3 = not(c1) | ||
print(r1) | ||
print(r2) | ||
print(r3) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#1 | ||
# i =1 | ||
# while i<5: | ||
# if i ==3: | ||
# break | ||
# print(i) | ||
# i=i+1 | ||
#2 | ||
i=1 | ||
while i<3: | ||
j=1 | ||
while j<5: | ||
if j<3: | ||
break | ||
print(j) | ||
j=j+1 | ||
i=i+1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
'''n = int(input()) | ||
for i in range (2,n+1,2): | ||
if i %7==0 : | ||
continue | ||
print(i)''' | ||
#2 | ||
n = int(input()) | ||
for i in range(2,n+1,2): | ||
print(i) | ||
if i%7==0: | ||
continue | ||
print(i) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
a = 10 | ||
print(type(a)) | ||
a = 'abcd' | ||
print(type(a)) | ||
a = True | ||
print(type(a)) | ||
a = 1303.99384748727979 | ||
print(type(a)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#2 | ||
'''i=1 | ||
while i <= 10 : | ||
print(i) | ||
i=i+1 | ||
else : | ||
print("this will print at end")''' | ||
#2 by condition it has as print | ||
i =1 | ||
while i<5: | ||
if i ==6: | ||
break | ||
print(i) | ||
i=i+1 | ||
else: | ||
print("this will print at end") | ||
#3 breaked by break so it else part will not print | ||
i =1 | ||
while i<5: | ||
if i==3: | ||
break | ||
print(i) | ||
i=i+1 | ||
else : | ||
print("this will print at end") | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,215 @@ | ||
import random # For generating random numbers | ||
import sys #To exit the program | ||
import pygame #pip install pygame | ||
from pygame.locals import * | ||
# Global Variables for the game | ||
FPS = 32 | ||
SCREENWIDTH = 289 | ||
SCREENHEIGHT = 511 | ||
SCREEN = pygame.display.set_mode((SCREENWIDTH, SCREENHEIGHT)) | ||
GROUNDY = SCREENHEIGHT * 0.8 | ||
GAME_SPRITES = {} | ||
GAME_SOUNDS = {} | ||
PLAYER = 'gallery/sprites/bird.png' | ||
BACKGROUND = 'gallery/sprites/background.png' | ||
PIPE = 'gallery/sprites/pipe.png' | ||
|
||
def welcomeScreen(): | ||
|
||
playerx = int(SCREENWIDTH/5) | ||
playery = int((SCREENHEIGHT - GAME_SPRITES['player'].get_height())/2) | ||
messagex = int((SCREENWIDTH - GAME_SPRITES['message'].get_width())/2) | ||
messagey = int(SCREENHEIGHT*0.13) | ||
basex = 0 | ||
while True: | ||
for event in pygame.event.get(): | ||
# if user clicks on cross button, close the game | ||
if event.type == QUIT or (event.type==KEYDOWN and event.key == K_ESCAPE): | ||
pygame.quit() | ||
sys.exit() | ||
|
||
# If the user presses space or up key, start the game for them | ||
elif event.type==KEYDOWN and (event.key==K_SPACE or event.key == K_UP): | ||
return | ||
else: | ||
SCREEN.blit(GAME_SPRITES['background'], (0, 0)) | ||
SCREEN.blit(GAME_SPRITES['player'], (playerx, playery)) | ||
SCREEN.blit(GAME_SPRITES['message'], (messagex,messagey )) | ||
SCREEN.blit(GAME_SPRITES['base'], (basex, GROUNDY)) | ||
pygame.display.update() | ||
FPSCLOCK.tick(FPS) | ||
|
||
def mainGame(): | ||
score = 0 | ||
playerx = int(SCREENWIDTH/5) | ||
playery = int(SCREENWIDTH/2) | ||
basex = 0 | ||
|
||
# Create 2 pipes for blitting on the screen | ||
newPipe1 = getRandomPipe() | ||
newPipe2 = getRandomPipe() | ||
|
||
# List of upper pipes | ||
upperPipes = [ | ||
{'x': SCREENWIDTH+200, 'y':newPipe1[0]['y']}, | ||
{'x': SCREENWIDTH+200+(SCREENWIDTH/2), 'y':newPipe2[0]['y']}, | ||
] | ||
# List of lower pipes | ||
lowerPipes = [ | ||
{'x': SCREENWIDTH+200, 'y':newPipe1[1]['y']}, | ||
{'x': SCREENWIDTH+200+(SCREENWIDTH/2), 'y':newPipe2[1]['y']}, | ||
] | ||
|
||
pipeVelX = -4 | ||
|
||
playerVelY = -9 | ||
playerMaxVelY = 10 | ||
playerMinVelY = -8 | ||
playerAccY = 1 | ||
|
||
playerFlapAccv = -8 # velocity while flapping | ||
playerFlapped = False # It is true only when the bird is flapping | ||
|
||
|
||
while True: | ||
for event in pygame.event.get(): | ||
if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE): | ||
pygame.quit() | ||
sys.exit() | ||
if event.type == KEYDOWN and (event.key == K_SPACE or event.key == K_UP): | ||
if playery > 0: | ||
playerVelY = playerFlapAccv | ||
playerFlapped = True | ||
GAME_SOUNDS['wing'].play() | ||
|
||
|
||
crashTest = isCollide(playerx, playery, upperPipes, lowerPipes) # This function will return true if the player is crashed | ||
if crashTest: | ||
return | ||
|
||
#check for score | ||
playerMidPos = playerx + GAME_SPRITES['player'].get_width()/2 | ||
for pipe in upperPipes: | ||
pipeMidPos = pipe['x'] + GAME_SPRITES['pipe'][0].get_width()/2 | ||
if pipeMidPos<= playerMidPos < pipeMidPos +4: | ||
score +=1 | ||
print(f"Your score is {score}") | ||
GAME_SOUNDS['point'].play() | ||
|
||
|
||
if playerVelY <playerMaxVelY and not playerFlapped: | ||
playerVelY += playerAccY | ||
|
||
if playerFlapped: | ||
playerFlapped = False | ||
playerHeight = GAME_SPRITES['player'].get_height() | ||
playery = playery + min(playerVelY, GROUNDY - playery - playerHeight) | ||
|
||
# Moving Pipes | ||
for upperPipe , lowerPipe in zip(upperPipes, lowerPipes): | ||
upperPipe['x'] += pipeVelX | ||
lowerPipe['x'] += pipeVelX | ||
|
||
# Adding Pipes | ||
if 0<upperPipes[0]['x']<5: | ||
newpipe = getRandomPipe() | ||
upperPipes.append(newpipe[0]) | ||
lowerPipes.append(newpipe[1]) | ||
|
||
# Removing Pipes | ||
if upperPipes[0]['x'] < -GAME_SPRITES['pipe'][0].get_width(): | ||
upperPipes.pop(0) | ||
lowerPipes.pop(0) | ||
|
||
# Blitting The Sprites | ||
SCREEN.blit(GAME_SPRITES['background'], (0, 0)) | ||
for upperPipe, lowerPipe in zip(upperPipes, lowerPipes): | ||
SCREEN.blit(GAME_SPRITES['pipe'][0], (upperPipe['x'], upperPipe['y'])) | ||
SCREEN.blit(GAME_SPRITES['pipe'][1], (lowerPipe['x'], lowerPipe['y'])) | ||
|
||
SCREEN.blit(GAME_SPRITES['base'], (basex, GROUNDY)) | ||
SCREEN.blit(GAME_SPRITES['player'], (playerx, playery)) | ||
myDigits = [int(x) for x in list(str(score))] | ||
width = 0 | ||
for digit in myDigits: | ||
width += GAME_SPRITES['numbers'][digit].get_width() | ||
Xoffset = (SCREENWIDTH - width)/2 | ||
|
||
for digit in myDigits: | ||
SCREEN.blit(GAME_SPRITES['numbers'][digit], (Xoffset, SCREENHEIGHT*0.12)) | ||
Xoffset += GAME_SPRITES['numbers'][digit].get_width() | ||
pygame.display.update() | ||
FPSCLOCK.tick(FPS) | ||
|
||
def isCollide(playerx, playery, upperPipes, lowerPipes): | ||
if playery> GROUNDY - 25 or playery<0: | ||
GAME_SOUNDS['hit'].play() | ||
return True | ||
|
||
for pipe in upperPipes: | ||
pipeHeight = GAME_SPRITES['pipe'][0].get_height() | ||
if(playery < pipeHeight + pipe['y'] and abs(playerx - pipe['x']) < GAME_SPRITES['pipe'][0].get_width()): | ||
GAME_SOUNDS['hit'].play() | ||
return True | ||
|
||
for pipe in lowerPipes: | ||
if (playery + GAME_SPRITES['player'].get_height() > pipe['y']) and abs(playerx - pipe['x']) < GAME_SPRITES['pipe'][0].get_width(): | ||
GAME_SOUNDS['hit'].play() | ||
return True | ||
|
||
return False | ||
|
||
def getRandomPipe(): | ||
pipeHeight = GAME_SPRITES['pipe'][0].get_height() | ||
offset = SCREENHEIGHT/3 | ||
y2 = offset + random.randrange(0, int(SCREENHEIGHT - GAME_SPRITES['base'].get_height() - 1.2 *offset)) | ||
pipeX = SCREENWIDTH + 10 | ||
y1 = pipeHeight - y2 + offset | ||
pipe = [ | ||
{'x': pipeX, 'y': -y1}, #upper Pipe | ||
{'x': pipeX, 'y': y2} #lower Pipe | ||
] | ||
return pipe | ||
|
||
|
||
|
||
|
||
|
||
|
||
if __name__ == "__main__": | ||
# This will be the main point from where our game will start | ||
pygame.init() # Initialize all pygame's modules | ||
FPSCLOCK = pygame.time.Clock() | ||
pygame.display.set_caption('Flappy Bird by CodeWithHarry') | ||
GAME_SPRITES['numbers'] = ( | ||
pygame.image.load('gallery/sprites/0.png').convert_alpha(), | ||
pygame.image.load('gallery/sprites/1.png').convert_alpha(), | ||
pygame.image.load('gallery/sprites/2.png').convert_alpha(), | ||
pygame.image.load('gallery/sprites/3.png').convert_alpha(), | ||
pygame.image.load('gallery/sprites/4.png').convert_alpha(), | ||
pygame.image.load('gallery/sprites/5.png').convert_alpha(), | ||
pygame.image.load('gallery/sprites/6.png').convert_alpha(), | ||
pygame.image.load('gallery/sprites/7.png').convert_alpha(), | ||
pygame.image.load('gallery/sprites/8.png').convert_alpha(), | ||
pygame.image.load('gallery/sprites/9.png').convert_alpha(), | ||
) | ||
|
||
GAME_SPRITES['message'] =pygame.image.load('gallery/sprites/message.png').convert_alpha() | ||
GAME_SPRITES['base'] =pygame.image.load('gallery/sprites/base.png').convert_alpha() | ||
GAME_SPRITES['pipe'] =(pygame.transform.rotate(pygame.image.load( PIPE).convert_alpha(), 180), | ||
pygame.image.load(PIPE).convert_alpha() | ||
) | ||
|
||
# Game sounds | ||
GAME_SOUNDS['die'] = pygame.mixer.Sound('gallery/audio/die.wav') | ||
GAME_SOUNDS['hit'] = pygame.mixer.Sound('gallery/audio/hit.wav') | ||
GAME_SOUNDS['point'] = pygame.mixer.Sound('gallery/audio/point.wav') | ||
GAME_SOUNDS['swoosh'] = pygame.mixer.Sound('gallery/audio/swoosh.wav') | ||
GAME_SOUNDS['wing'] = pygame.mixer.Sound('gallery/audio/wing.wav') | ||
|
||
GAME_SPRITES['background'] = pygame.image.load(BACKGROUND).convert() | ||
GAME_SPRITES['player'] = pygame.image.load(PLAYER).convert_alpha() | ||
|
||
while True: | ||
welcomeScreen() | ||
mainGame() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
'''s = 'abcd' | ||
for c in s : | ||
print (c) | ||
#1 | ||
n = int(input()) | ||
for i in range(-9,n+1,1): | ||
print(i)''' | ||
#2 print n natural no | ||
n = int(input()) | ||
int |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
#1 | ||
'''n = int(input()) | ||
for i in range(0,n+1,1): | ||
print(i) | ||
#2 | ||
n = int(input()) | ||
for i in range(n+1): | ||
print(i) | ||
#3 | ||
n = int(input()) | ||
for i in range(1,n+1): | ||
print(i) | ||
#4 | ||
n = int(input()) | ||
for i in range(n,0,-1): | ||
print(i)''' | ||
#5 multiples of 3 | ||
'''a = int(input()) | ||
b = int(input()) | ||
for i in range(a,b+1,1): | ||
if(i%3==0): | ||
print(i)''' | ||
# or from above | ||
'''a = int(input()) | ||
b = int(input()) | ||
if(a%3==0): | ||
s = a | ||
elif(a%3==1): | ||
s=a+2 | ||
elif(a%3==2): | ||
s= a+1 | ||
for i in range(s, b+1,3): | ||
print(i)''' | ||
#prime or no slow | ||
n = int(input()) | ||
flag = False | ||
for d in range( 2, n, 1): | ||
if n%d==0: | ||
flag = True | ||
|
||
if flag : | ||
print("not prime no") | ||
else : | ||
print('prime') | ||
# prime or no very fast | ||
n = int(input()) | ||
flag = False | ||
for d in range( 2, n, 1): | ||
if n%d==0: | ||
flag = True | ||
break | ||
if flag : | ||
print("not prime no") | ||
else : | ||
print('prime') | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
def fact(a): | ||
a_fact = 1 | ||
for i in range(1, a+1) : | ||
a_fact = a_fact * i | ||
|
||
|
||
return a_fact | ||
|
||
n = int(input()) | ||
r = int(input()) | ||
n_fact= fact(n) | ||
r_fact= fact(r) | ||
n_rfact= fact(n-r) | ||
ans = n_fact // (r_fact*n_rfact) | ||
print(ans) | ||
|
||
|
Oops, something went wrong.