Bubble Blaster: verschil tussen versies

Uit Wikikids
Naar navigatie springen Naar zoeken springen
(Bubble blaster zelf programmeren)
 
(Ik heb niet kloppende dingen weggehaald)
Regel 1: Regel 1:
Bubble Blaster is een spel dat je makkelijk zelf kan programmeren in python (Gratis download voor Mac, Windows en Android op python.org), het doel is om zoveel mogelijk bellen kapot te prikken, hier de python scripts:
+
Bubble Blaster is een spel dat je makkelijk zelf kan programmeren in python (Gratis download voor Mac, Windows en Android op python.org), het doel is om zoveel mogelijk bellen kapot te prikken.
 
from tkinter import *
 
HEIGHT = 1080
 
WIDTH = 1920
 
window = Tk()
 
window.title('Star Blaster')
 
c = Canvas(window, width=WIDTH, height=HEIGHT, bg='darkblue')
 
c.pack()
 
ship_id = c.create_polygon(5, 5, 5, 25, 30, 15, fill='red')
 
ship_id2 = c.create_oval(0, 0, 30, 30, outline='red')
 
SHIP_R = 15
 
MID_X = WIDTH / 2
 
MID_Y = HEIGHT / 2
 
c.move(ship_id, MID_X, MID_Y)
 
c.move(ship_id2, MID_X, MID_Y)
 
SHIP_SPD = 10
 
def move_ship(event):
 
if event.keysym == 'Up':
 
c.move(ship_id, 0, -SHIP_SPD)
 
c.move(ship_id2, 0, -SHIP_SPD)
 
elif event.keysym == 'Down':
 
c.move(ship_id, 0, SHIP_SPD)
 
c.move(ship_id2, 0, SHIP_SPD)
 
elif event.keysym == 'Left':
 
c.move(ship_id, -SHIP_SPD, 0)
 
c.move(ship_id2, -SHIP_SPD, 0)
 
elif event.keysym == 'Right':
 
c.move(ship_id, SHIP_SPD, 0)
 
c.move(ship_id2, SHIP_SPD, 0)
 
c.bind_all('<Key>', move_ship)
 
from random import randint
 
bub_id = list()
 
bub_r = list()
 
bub_speed = list()
 
MIN_BUB_R = 10
 
MAX_BUB_R = 30
 
MAX_BUB_SPD = 10
 
GAP = 100
 
def create_bubble():
 
x = WIDTH + GAP
 
y = randint(0, HEIGHT)
 
r = randint(MIN_BUB_R, MAX_BUB_R)
 
window.geometry
 
bub_id.append(idl)
 
bub_r.append(r)
 
bub_speed.append(randint(1, MAX_BUB_SPD))
 
def move_bubbles():
 
for i in range(len(bub_id)):
 
c.move(bub_id[i], -bub_speed[i], 0)
 
def get_coords(id_num):
 
pos = c.coords(id_num)
 
x = (pos[0] + pos[2])/2
 
y = (pos[1] + pos[3])/2
 
return x, y
 
def del_bubble(i):
 
del bub_r [i]
 
del bub_speed[i]
 
c.delete(bub_id[i])
 
del bub_id[i]
 
def clean_up_bubs():
 
for i in range(len(bub_id)-1, -1, -1):
 
x, y = get_coords(bub_id[i])
 
if x < -GAP:
 
del_bubble(i)
 
from math import sqrt
 
def distance(id1, id2):
 
x1, y1 = get_coords(id1)
 
x2, y2 = get_coords(id2)
 
return sqrt((x2 - x1)**2 + (y2 - y1)**2)
 
def collision():
 
points = 0
 
for bub in range(len(bub_id)-1, -1, -1):
 
if distance(ship_id2, bub_id[bub]) < (SHIP_R + bub_r[bub]):
 
points += (bub_r[bub] + bub_speed[bub])
 
del_bubble(bub)
 
return points
 
c.create_text(50, 30, text='TIME', fill='white' )
 
c.create_text(150, 30, text='SCORE', fill='white' )
 
time_text = c.create_text(50, 50, fill='white' )
 
score_text = c.create_text(150, 50, fill='white' )
 
def show_score(score):
 
c.itemconfig(score_text, text=str(score))
 
def show_time(time_left):
 
c.itemconfig(time_text, text=str(time_left))
 
from time import sleep, time
 
BUB_CHANCE = 10
 
TIME_LIMIT = 30
 
BONUS_SCORE = 1000
 
score = 0
 
bonus = 0
 
end = time() + TIME_LIMIT
 
from time import sleep, time
 
BUB_CHANCE = 10
 
score = 0
 
#MAIN GAME LOOP
 
while time() < end:
 
if randint(1, BUB_CHANCE) == 1:
 
create_bubble()
 
move_bubbles()
 
clean_up_bubs()
 
score += collision()
 
if (int(score / BONUS_SCORE)) > bonus:
 
bonus += 1
 
end += TIME_LIMIT
 
show_score(score)
 
show_time(int(end - time()))
 
window.update()
 
sleep(0.01)
 
c.create_text(MID_X, MID_Y, \
 
text='GAME OVER', fill='Yellow', font=('Helvetica',30))
 
c.create_text(MID_X, MID_Y + 30, \
 
text='Score: '+ str(score), fill='white')
 
c.create_text(MID_X, MID_Y + 45, \
 
text='Bonus time: '+str(bonus*TIME_LIMIT), fill='white')
 

Versie van 9 mrt 2020 14:49

Bubble Blaster is een spel dat je makkelijk zelf kan programmeren in python (Gratis download voor Mac, Windows en Android op python.org), het doel is om zoveel mogelijk bellen kapot te prikken.

Afkomstig van Wikikids , de interactieve Nederlandstalige Internet-encyclopedie voor en door kinderen. "https://wikikids.nl/index.php?title=Bubble_Blaster&oldid=598990"