Вот как это сделать, используя векторы. Каждый элемент в списке badguy
теперь представляет собой пару элементов, их текущее положение и связанный вектор скорости. Обратите внимание, что сама позиция также является вектором (он же «вектор позиции»).
Обновление текущей позиции выполняется простым добавлением вектора скорости каждого плохого парня в его текущую позицию. то есть bg[0] += bg[1]
.
import pygame as game
import pygame.math as math
from pygame.time import Clock
import random as r
game.init()
game.display.set_caption("Asteroids")
screen = game.display.set_mode([800, 600])
time = 0
gameon = True
bgcolor = game.color.Color("#f6cb39")
black = game.color.Color("black")
clock = Clock()
badguy = game.image.load("asteroid.png")
badguy = game.transform.scale(badguy, (50, 50))
badguys = []
SPAWNENEMY = 10
CLOCK = 11
game.time.set_timer(SPAWNENEMY, 800)
game.time.set_timer(CLOCK, 1000)
font=game.font.Font(None,20)
timetext=font.render("Time: 0", 0, black)
while gameon:
screen.fill(bgcolor)
event = game.event.poll()
if event.type == SPAWNENEMY:
# Select a random initial position vector.
posn = math.Vector2(r.randint(50, 800), r.randint(50, 600))
# Create a random speed vector.
speed = r.randint(1, 10)
dx = r.random()*speed * r.choice((-1, 1))
dy = r.random()*speed * r.choice((-1, 1))
vector = math.Vector2(dx, dy)
# Each badguy item is a [position, speed vector].
badguys.append([posn, vector])
if event.type == game.QUIT:
gameon = False;
for bg in badguys:
# Update positions.
bg[0] += bg[1] # Update position using speed vector.
for bg in badguys:
screen.blit(badguy, bg[0])
clock.tick(60)
game.display.flip()
можно посетить здесь для деталей :-) http://net-informations.com/js/iq/side.htm
По большей части в в современном Интернете JavaScript на 99% больше клиентской части (да, я составил статистику).
Тем не менее, javascript - это просто еще один язык. В былые времена был Netscape Enterprise Server ( NES , он назывался), который позволял писать сценарии на javascript.
Современные веб-серверы поддерживают языки сценариев, такие как php, python и т. Д. К сожалению, js невелик на стороне сервера. Это самый красивый язык, с которым я встречался: синтаксис C, обладающий мощью чего-то вроде Lisp.
Обычное использование javascript на стороне клиента намекает на его использование в сети. Я уверен, что вы знаете все о javascript в сети (если вы достаточно умны, чтобы спросить о ssjs).
Но некоторые нетрадиционные способы использования javascript:
Ура!
Это самый красивый язык, с которым я столкнулся: синтаксис C, обладающий мощью чего-то вроде Lisp.Обычное использование javascript на стороне клиента намекает на его использование в сети. Я уверен, что вы знаете все о javascript в сети (если вы достаточно умны, чтобы спросить о ssjs).
Но некоторые нетрадиционные способы использования javascript:
Ура!
Это самый красивый язык, с которым я столкнулся: синтаксис C, обладающий мощью чего-то вроде Lisp.Обычное использование javascript на стороне клиента намекает на его использование в сети. Я уверен, что вы знаете все о javascript в сети (если вы достаточно умны, чтобы спросить о ssjs).
Но некоторые нетрадиционные способы использования javascript:
Ура!
Я уверен, что вы знаете все о javascript в сети (если вы достаточно умны, чтобы спросить о ssjs).Но некоторые нетрадиционные способы использования javascript:
Ура!
Я уверен, что вы знаете все о javascript в сети (если вы достаточно умны, чтобы спросить о ssjs).Но некоторые нетрадиционные способы использования javascript:
Ура!
Один запускается в браузере (на стороне клиента), другой выполняется на сервере . Считается, что JavaScript работает только в браузерах - это неверно. Когда я был классическим разработчиком ASP, у нас был выбор на стороне сервера VBScript или JavaScript (у нас также был выбор на стороне клиента JavaScript или VBScript).
Эти два термина используются в контексте Интернета. На стороне клиента означает, что код JavaScript выполняется на клиентском компьютере, который является браузером. Серверный JavaScript означает, что код выполняется на сервере, обслуживающем веб-страницы.
Существует 3 основных типа JavaScript, а именно:
Клиентский JavaScript (CSJS) - расширенная версия JavaScript, которая позволяет улучшать веб-страницы и клиентские браузеры и управлять ими.
Сервер- Боковой JavaScript (SSJS) - расширенная версия JavaScript, которая обеспечивает внутренний доступ к базам данных, файловым системам и серверам
Ядро JavaScript - базовый язык JavaScript
Клиентский JavaScript (CSJS) и серверный- Боковой JavaScript (SSJS) зависит от основного JavaScript и не может работать без него.