Skip to content

Commit 5ef5350

Browse files
Add files via upload
This repository contains my Python projects, including video games developed with Pygame, utility programs, and all related assets, such as images and sounds.
1 parent c5449af commit 5ef5350

14 files changed

+296
-0
lines changed

Calculator.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
operator = input("Enter an operator (+ - * /): ")
2+
num1 = float(input("Enter first number: "))
3+
num2 = float(input("Enter second number: "))
4+
5+
if operator == "+":
6+
result = num1 + num2
7+
elif operator == "-":
8+
result = num1 - num2
9+
elif operator == "*":
10+
result = num1 * num2
11+
elif operator == "/":
12+
result = num1 / num2
13+
else:
14+
result = "Invalid operator!"
15+
16+
print(result)

Compound Interest Calculator.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
principal = 0
2+
rate = 0
3+
time = 0
4+
5+
while principal <= 0:
6+
principal = float(input("Enter the principal: "))
7+
if principal <= 0:
8+
print("Principal cannot be less than or equal to 0.")
9+
10+
while rate <= 0:
11+
rate = float(input("Enter the interest rate: "))
12+
if rate <= 0:
13+
print("Rate cannot be less than or equal to 0.")
14+
15+
while time <= 0:
16+
time = int(input("Enter the time in years: "))
17+
if time <= 0:
18+
print("Time cannot be less than or equal to 0.")
19+
20+
total = principal * pow(1 + rate / 100, time)
21+
print(f"Total amount after {time} years is {total:.2f}")

FindPrimeNumber.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
snum = input("Enter the Starting number: ")
2+
enum = input("Enter the Last number: ")
3+
4+
num1 = int(snum)
5+
num2 = int(enum)
6+
7+
for i in range(num1, num2 + 1): # include num2 by adding 1
8+
if i < 2: # Ignore numbers less than 2, not primes
9+
continue
10+
for j in range(2, i, 1):
11+
if i % j == 0:
12+
break
13+
else:
14+
print(i)
15+
16+
17+

Guessing game..py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import random
2+
3+
def play_guessing_game(min_range, max_range):
4+
5+
computer_number = random.randint(min_range, max_range)
6+
attempts = 0
7+
8+
while True:
9+
try:
10+
guess = int(input(f"Guess a number between {min_range} and {max_range}: "))
11+
attempts += 1
12+
except ValueError:
13+
print("Invalid input. Please enter a number.")
14+
continue
15+
16+
if guess < computer_number:
17+
print("Too low!")
18+
elif guess > computer_number:
19+
print("Too high!")
20+
else:
21+
print(f"Congratulations! You guessed it in {attempts} attempts.")
22+
break
23+
24+
play_guessing_game(1, 100)

Magic 8-ball simulator.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# code
2+
import random
3+
responses = [
4+
"Yes, definitely.",
5+
" Chances are slim.",
6+
"Unclear at the moment .",
7+
"Cannot predict now.",
8+
"Very doubtful.",
9+
" Absolutely not.",
10+
"Outlook not so good.",
11+
"Highly likely."]
12+
# code
13+
while True:
14+
question = input("Ask the magical 8 Ball a question (type 'exit' to quit): ")
15+
if question.lower() == 'exit':
16+
print("Goodbye!")
17+
break
18+
else:
19+
print("Magic 8 Ball says:", random.choice(responses))
20+

Python weight converter.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
weight = float(input("Enter your weight: "))
2+
unit = input("Kilograms or Pounds? (K or L): ").upper() # Convert input to uppercase
3+
4+
if unit == "K":
5+
weight = weight * 2.205
6+
unit = "Lbs."
7+
elif unit == "L":
8+
weight = weight / 2.205
9+
unit = "Kgs."
10+
else:
11+
exit()
12+
13+
print(f'Your weight is: {weight:.2f} {unit}')
14+

Space Invaders.py

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
import math
2+
import random
3+
4+
import pygame
5+
from pygame import mixer
6+
7+
# Initialize Pygame
8+
pygame.init()
9+
10+
# Create the screen
11+
screen = pygame.display.set_mode((800, 600))
12+
13+
# Load background image
14+
background = pygame.image.load("image/background1.png")
15+
# Background Music
16+
mixer.music.load("image/background (1).wav")
17+
mixer.music.play(-1)
18+
19+
# Title and Icon
20+
pygame.display.set_caption("Space Invaders")
21+
icon = pygame.image.load("image/ship.png")
22+
pygame.display.set_icon(icon)
23+
24+
# Player
25+
PlayerImg = pygame.image.load("image/ship.png")
26+
PlayerX = 370
27+
PlayerY = 480
28+
PlayerX_change = 0
29+
30+
# Enemy
31+
enemyImg = []
32+
enemyX = []
33+
enemyY = []
34+
enemyX_change = []
35+
enemyY_change = []
36+
num_of_enemies = 6
37+
38+
for i in range(num_of_enemies):
39+
enemyImg.append(pygame.image.load("image/Space-Invader-Enemy-1--Streamline-Cyber.png"))
40+
enemyX.append(random.randint(0, 736))
41+
enemyY.append(random.randint(50, 150))
42+
enemyX_change.append(1)
43+
enemyY_change.append(10)
44+
45+
# Bullet
46+
bulletImg = pygame.image.load("image/laserBullet.png")
47+
bulletX = 0
48+
bulletY = 480
49+
bulletX_change = 0
50+
bulletY_change = 3
51+
bullet_state = "ready"
52+
53+
# Score
54+
score_value = 0
55+
font = pygame.font.Font("freesansbold.ttf", 24)
56+
textX = 10
57+
textY = 10
58+
59+
# Game Over font
60+
over_font = pygame.font.Font("freesansbold.ttf", 48)
61+
62+
# Timer
63+
start_ticks = pygame.time.get_ticks()
64+
65+
# Functions
66+
def show_score(x, y):
67+
score = font.render("Score : " + str(score_value), True, (255, 255, 255))
68+
screen.blit(score, (x, y))
69+
70+
def game_over_text():
71+
over_text = over_font.render("GAME OVER : " + str(score_value), True, (255, 255, 255))
72+
screen.blit(over_text, (200, 250))
73+
74+
def show_timer(x, y):
75+
seconds = (pygame.time.get_ticks() - start_ticks) // 1000
76+
timer = font.render("Time : " + str(seconds), True, (255, 255, 255))
77+
screen.blit(timer, (x, y))
78+
79+
def player(x, y):
80+
screen.blit(PlayerImg, (x, y))
81+
82+
def enemy(x, y, i):
83+
screen.blit(enemyImg[i], (x, y))
84+
85+
def fire_bullet(x, y):
86+
global bullet_state
87+
bullet_state = "fire"
88+
screen.blit(bulletImg, (x - 60, y - 120))
89+
90+
def isCollision(enemyX, enemyY, bulletX, bulletY):
91+
distance = math.sqrt((enemyX - bulletX) ** 2 + (enemyY - bulletY) ** 2)
92+
return distance < 27
93+
94+
# Game Loop
95+
running = True
96+
game_over = False
97+
98+
while running:
99+
screen.fill((0, 0, 0))
100+
screen.blit(background, (0, 0))
101+
102+
for event in pygame.event.get():
103+
if event.type == pygame.QUIT:
104+
running = False
105+
106+
if not game_over:
107+
if event.type == pygame.KEYDOWN:
108+
if event.key == pygame.K_LEFT:
109+
PlayerX_change = -2
110+
if event.key == pygame.K_RIGHT:
111+
PlayerX_change = 2
112+
if event.key == pygame.K_SPACE and bullet_state == "ready":
113+
bullet_Sound = mixer.Sound('image/laser.wav')
114+
bullet_Sound.play()
115+
bulletX = PlayerX
116+
fire_bullet(bulletX, bulletY)
117+
118+
if event.type == pygame.KEYUP:
119+
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
120+
PlayerX_change = 0
121+
122+
if not game_over:
123+
# Player movement
124+
PlayerX += PlayerX_change
125+
if PlayerX <= 0:
126+
PlayerX = 0
127+
elif PlayerX >= 736:
128+
PlayerX = 736
129+
130+
# Enemy movement
131+
for i in range(num_of_enemies):
132+
if enemyY[i] > 200:
133+
game_over = True
134+
break
135+
136+
enemyX[i] += enemyX_change[i]
137+
138+
if enemyX[i] <= 0:
139+
enemyX_change[i] = 1
140+
enemyY[i] += enemyY_change[i]
141+
elif enemyX[i] >= 736:
142+
enemyX_change[i] = -1
143+
enemyY[i] += enemyY_change[i]
144+
145+
collision = isCollision(enemyX[i], enemyY[i], bulletX, bulletY)
146+
if collision:
147+
explosion_Sound = mixer.Sound('image/laser.wav')
148+
explosion_Sound.play()
149+
bulletY = 480
150+
bullet_state = "ready"
151+
score_value += 1
152+
enemyX[i] = random.randint(0, 736)
153+
enemyY[i] = random.randint(50, 150)
154+
155+
enemy(enemyX[i], enemyY[i], i)
156+
157+
# Bullet movement
158+
if bulletY <= 0:
159+
bulletY = 480
160+
bullet_state = "ready"
161+
if bullet_state == "fire":
162+
fire_bullet(bulletX, bulletY)
163+
bulletY -= bulletY_change
164+
165+
# Draw player, score, timer
166+
player(PlayerX, PlayerY)
167+
show_score(textX, textY)
168+
show_timer(680, 10)
169+
170+
if game_over:
171+
game_over_text()
172+
173+
pygame.display.update()
1.12 KB
Loading

Temperature Conversion.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
unit = input("Is the temperature in Celsius or Fahrenheit? (F/C): ")
2+
temp = float(input("Enter the temperature"))
3+
4+
if unit == "C":
5+
temp = round (( 9 * temp) / 5 + 32, 1)
6+
print(f'Your temperature in Fahrenheit is: {temp:.2f} °F')
7+
elif unit == "F":
8+
temp = round (( 9 * temp) / 5 -32, 1)
9+
print(f'Your temperature in Celsius is: {temp:.2f} °C')
10+
else:
11+
print(f"{unit} is not a valid input")

background (1).wav

4.62 MB
Binary file not shown.

0 commit comments

Comments
 (0)