Airhockey
A downloadable game for Windows
Airhockey Game:
This game is an airhockey arcade game. it is very bad. This game is a bad recration of The Airhockey game on Sega Megadrive. It is written in Pygame
Code:
import pygame, sys, random from pygame import mixer pygame.init() mixer.init() #Setup for variables Sound1 = pygame.mixer.Sound("data/SFX/soundfx_1.wav") Sound2 = pygame.mixer.Sound("data/SFX/soundfx_2.wav") clock = pygame.time.Clock() SCREEN_WIDTH = 600 SCREEN_HEIGTH = 400 screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGTH)) pygame.display.set_caption("Airhockey") bakgrund = pygame.image.load('data/assets/Bakgrund.png') bakgrund = pygame.transform.scale(bakgrund, (SCREEN_WIDTH, SCREEN_HEIGTH)) Wall_left_top = 60 Wall_rigth = SCREEN_WIDTH - 60 Wall_bottom = SCREEN_HEIGTH - 60 Puck = pygame.Rect(SCREEN_WIDTH//2, SCREEN_HEIGTH//2, 45, 45) Goal_1 = pygame.Rect(60, 150, 10, 100) Goal_2 = pygame.Rect(SCREEN_WIDTH-70, 150, 10, 100) # WALL 60 PIXELS AWAY FROM EDGE Player_1 = pygame.Rect(200, SCREEN_HEIGTH//2, 45, 45) Player_2 = pygame.Rect(400, SCREEN_HEIGTH//2, 45, 45) Score1 = 0 Score2 = 0 Sound = True Player_Velocity_x = 0 Player_Velocity_2_x = 0 Player_Velocity_y = 0 Player_Velocity_2_y = 0 Puck_velocity = [random.choice((-3, 3)),random.choice((-3, 3))] #Fuctions def Puck_movement(): global Score2, Score1 Puck.x += Puck_velocity[0] Puck.y += Puck_velocity[1] # Handle collisions with walls if Puck.bottom >= Wall_bottom: Puck_velocity[1] *= -1 Puck.bottom = Wall_bottom - 1 Sound2.play() if Puck.top <= Wall_left_top: Puck_velocity[1] *= -1 Puck.top = Wall_left_top + 1 Sound2.play() if Puck.right >= Wall_rigth or Puck.left <= Wall_left_top: Puck_velocity[0] *= -1 Sound2.play() # Handle collisions with players if Puck.colliderect(Player_1): Puck_velocity[0] *= -1 if Puck.centery > Player_1.centery: Puck_velocity[1] *= -1 Sound2.play() while Puck.colliderect(Player_1): Puck.x += Puck_velocity[0] Puck.y += Puck_velocity[1] if Puck.colliderect(Player_2): Puck_velocity[0] *= -1 if Puck.centery > Player_2.centery: Puck_velocity[1] *= -1 Sound2.play() while Puck.colliderect(Player_2): Puck.x += Puck_velocity[0] Puck.y += Puck_velocity[1] # Handle scoring if Puck.colliderect(Goal_1): Score1 += 1 reset() Sound1.play() if Puck.colliderect(Goal_2): Score2 += 1 reset() Sound1.play() def Menu(): menuTrue = True<img src="https://img.itch.zone/aW1nLzE1OTkwNjQ3LnBuZw==/original/ZhIyay.png"> Button_1 = pygame.Rect(120, 120, SCREEN_WIDTH-400, 50) Button_2 = pygame.Rect(120, 180, SCREEN_WIDTH-400, 50) Button_3 = pygame.Rect(120, 240, SCREEN_WIDTH-400, 50) while menuTrue: global Sound for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: menuTrue = False if event.type == pygame.MOUSEBUTTONDOWN: clicked_pos = pygame.mouse.get_pos() if Button_1.collidepoint(clicked_pos): pygame.quit() sys.exit() if Button_2.collidepoint(clicked_pos): if Sound == True: Sound = False else: Sound = True if Button_3.collidepoint(clicked_pos): menuTrue = False pygame.draw.rect(screen, (0,0,0), (100, 100, SCREEN_WIDTH-200, SCREEN_HEIGTH-200)) pygame.draw.rect(screen, (100,100,100), Button_1) pygame.draw.rect(screen, (100,100,100), Button_2) pygame.draw.rect(screen, (100,100,100), Button_3) Text(None, 50, "QUIT", (0,0,0), None, Button_1.x, Button_1.y) Text(None, 50, "SOUND: " + "ON" if Sound == True else "SOUND: OFF", (0,0,0), None, Button_2.x, Button_2.y) Text(None, 50, "COUNTINUE", (0,0,0), None, Button_3.x, Button_3.y) pygame.display.flip() def reset(): global Puck, Goal_1, Goal_2, Player_1, Player_2, Player_Velocity_2_x, Player_Velocity_2_y, Player_Velocity_x, Player_Velocity_y Puck = pygame.Rect(SCREEN_WIDTH//2, SCREEN_HEIGTH//2, 45, 45) Goal_1 = pygame.Rect(60, 150, 10, 100) Goal_2 = pygame.Rect(SCREEN_WIDTH-70, 150, 10, 100) Player_1 = pygame.Rect(200, SCREEN_HEIGTH//2, 45, 45) Player_2 = pygame.Rect(400, SCREEN_HEIGTH//2, 45, 45) Puck.x += Puck_velocity[0] Puck.y += Puck_velocity[1] def Text(Font, Size, String_, Color, BGColor,x,y): font = pygame.font.Font(Font, Size) String = font.render(String_, True, Color, BGColor) screen.blit(String, (x, y)) #Main Loop while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() #check keys pressed if event.type == pygame.KEYDOWN: if event.key == pygame.K_a: Player_Velocity_x -= 3 if event.key == pygame.K_d: Player_Velocity_x += 3 if event.key == pygame.K_w: Player_Velocity_y -= 3 if event.key == pygame.K_s: Player_Velocity_y += 3 if event.key == pygame.K_LEFT: Player_Velocity_2_x += 3 if event.key == pygame.K_RIGHT: Player_Velocity_2_x -= 3 if event.key == pygame.K_UP: Player_Velocity_2_y += 3 if event.key == pygame.K_DOWN: Player_Velocity_2_y -= 3 if event.key == pygame.K_ESCAPE: Menu() if event.type == pygame.KEYUP: if event.key == pygame.K_a: Player_Velocity_x += 3 if event.key == pygame.K_d: Player_Velocity_x -= 3 if event.key == pygame.K_w: Player_Velocity_y += 3 if event.key == pygame.K_s: Player_Velocity_y -= 3 if event.key == pygame.K_LEFT: Player_Velocity_2_x -= 3 if event.key == pygame.K_RIGHT: Player_Velocity_2_x += 3 if event.key == pygame.K_UP: Player_Velocity_2_y -= 3 if event.key == pygame.K_DOWN: Player_Velocity_2_y += 3 Puck_movement() #Collision for player1/2 while Player_1.left <= Wall_left_top: Player_1.x += 1 while Player_1.top <= Wall_left_top: Player_1.y += 1 while Player_1.bottom >= Wall_bottom: Player_1.y -= 1 while Player_1.right >= SCREEN_WIDTH//2: Player_1.x -= 1 while Player_2.left <= SCREEN_WIDTH//2: Player_2.x += 1 while Player_2.top <= Wall_left_top: Player_2.y += 1 while Player_2.bottom >= Wall_bottom: Player_2.y -= 1 while Player_2.right >= Wall_rigth: Player_2.x -= 1 #Move Players Player_1.x += Player_Velocity_x Player_1.y += Player_Velocity_y Player_2.x -= Player_Velocity_2_x Player_2.y -= Player_Velocity_2_y #Draw screen.blit(bakgrund, (0,0)) pygame.draw.ellipse(screen, 'black', Puck) pygame.draw.ellipse(screen, "red", Player_1) pygame.draw.ellipse(screen, "blue", Player_2) Text(None, 40, "Player 1 " + str(Score2) + "-" + str(Score1) + " Player 2", (0,0,0), (255,255,255), 140, 10) pygame.display.flip() clock.tick(60)
All donations go to Kebab
Status | In development |
Platforms | Windows |
Author | WilliamRE |
Genre | Sports |
Tags | 2D, Arcade, Multiplayer, Pixel Art, Remake |
Download
Download
Airhockey.zip.zip 14 MB
Install instructions
Dowload from the dowload thing higher up. Unzip the zip file and run the file named main. if this comes notice comes on your screen press more info then run anyways
Leave a comment
Log in with itch.io to leave a comment.