-
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
1 parent
c7d8e60
commit e47399f
Showing
31 changed files
with
43,983 additions
and
42 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 |
---|---|---|
@@ -1,2 +1,117 @@ | ||
import pygame | ||
import display | ||
|
||
import objects | ||
|
||
from text import * | ||
|
||
from OpenGL.GL import * | ||
from OpenGL.GLU import * | ||
|
||
from objloader import * | ||
|
||
HP_BOUNDS = (650, 500, 100, 50) | ||
|
||
class Battle(object): | ||
pass | ||
|
||
def _perspective(self): | ||
glMatrixMode(GL_PROJECTION) | ||
glLoadIdentity() | ||
gluPerspective(90.0, display.WIDTH / float(display.HEIGHT), 1, 100.0) | ||
glMatrixMode(GL_MODELVIEW) | ||
|
||
def _ortho(self): | ||
glMatrixMode(GL_PROJECTION) | ||
glLoadIdentity() | ||
gluOrtho2D(0, display.WIDTH, 0, display.HEIGHT) | ||
glMatrixMode(GL_MODELVIEW) | ||
|
||
def __init__(self, client, player_id, stage_id): | ||
self.client = client | ||
glClearColor(0.0, 0.0, 1.0, 1.0) | ||
self._perspective() | ||
glEnable(GL_LIGHT0) | ||
glLightfv(GL_LIGHT0, GL_POSITION, (-40, 200, 100, 0.0)) | ||
glLightfv(GL_LIGHT0, GL_AMBIENT, (0.2, 0.2, 0.2, 1.0)) | ||
glLightfv(GL_LIGHT0, GL_DIFFUSE, (0.5, 0.5, 0.5, 1.0)) | ||
glShadeModel(GL_SMOOTH) | ||
pygame.mouse.set_visible(False) | ||
pygame.event.set_grab(True) | ||
field = OBJ('feildmap.obj', swapyz=True) | ||
fields = [field] | ||
it_obj = OBJ('ITchar.obj', swapyz=True) | ||
objs = [it_obj] | ||
self.obj = objs[0] | ||
self.field = fields[0] | ||
self.bullet_obj = OBJ('rifle1.obj', swapyz=True) | ||
self.objects = self.client.send(objects.PLAYERS[player_id]) | ||
''' | ||
def _range(self, obj, char): | ||
v_list = [[], [], []] | ||
for vertex in obj.vertices: | ||
for i, v in enumerate(vertex): | ||
v_list[i].append(v) | ||
v_range = [] | ||
xyz = [char.x, char.y, char.z] | ||
for i, l in enumerate(v_list): | ||
l.sort() | ||
v_range.append((min(l) + xyz[i], max(l) + xyz[i])) | ||
return v_range | ||
def _contains(self, obj, s_char, t_char): | ||
xr, yr, zr = self._range(obj, s_char) | ||
def f(r, n): | ||
return n > r[0] and n < r[1] | ||
return f(xr, t_char.x) and f(yr, t_char.y) and f(zr, t_char.z) | ||
''' | ||
def draw(self): | ||
self._perspective() | ||
glEnable(GL_COLOR_MATERIAL) | ||
glEnable(GL_LIGHTING) | ||
player = self.objects[self.client.identity] | ||
glLoadIdentity() | ||
gluLookAt(player.eye_x(), player.eye_y(), player.eye_z(), player.center_x(), player.center_y(), player.center_z(), 0, 0, 1) | ||
glPushMatrix() | ||
glCallList(self.field.gl_list) | ||
glPopMatrix() | ||
for player in self.objects.values(): | ||
glPushMatrix() | ||
glTranslate(player.x, player.y, player.z) | ||
glCallList(self.obj.gl_list) | ||
glPopMatrix() | ||
for bullet in player.bullets: | ||
glPushMatrix() | ||
glTranslate(bullet.center_x(), bullet.center_y(), bullet.center_z()) | ||
glCallList(self.bullet_obj.gl_list) | ||
glPopMatrix() | ||
'''self._ortho() | ||
glDisable(GL_COLOR_MATERIAL) | ||
glDisable(GL_LIGHTING) | ||
glPushMatrix() | ||
hp = Text(str(player.life), fontsize=80, color=BLACK) | ||
hp.draw(HP_BOUNDS) | ||
glPopMatrix() | ||
del hp''' | ||
|
||
def action(self, controller): | ||
player = self.objects[self.client.identity] | ||
rx, ry = controller.rel() | ||
player.rx += rx | ||
player.ry += ry | ||
player.reaction -= 1 | ||
for i, bullet in enumerate(player.bullets): | ||
bullet.forward() | ||
if abs(bullet.x) > 10000 or abs(bullet.y) > 10000: | ||
del player.bullets[i] | ||
continue | ||
'''if self._contains(self.bullet_obj, bullet, player): | ||
player.life -= 10 | ||
del player.bullets[i] | ||
continue''' | ||
if controller.up: | ||
player.forward() | ||
if controller.button_a and player.reaction <= 0: | ||
player.bullets.append(objects.Bullet(player)) | ||
player.reset_reaction() | ||
self.client.send(player) | ||
return self |
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
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
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,52 @@ | ||
# Blender MTL File: '' | ||
# Material Count: 5 | ||
newmtl Black | ||
Ns 0.000000 | ||
Ka 0.000000 0.000000 0.000000 | ||
Kd 0.000000 0.000000 0.000000 | ||
Ks 0.000000 0.000000 0.000000 | ||
Ni 1.000000 | ||
d 1.000000 | ||
illum 2 | ||
|
||
|
||
newmtl Blue_Glay | ||
Ns 152.941176 | ||
Ka 0.000000 0.000000 0.000000 | ||
Kd 0.202042 0.219367 0.216525 | ||
Ks 0.263276 0.263276 0.263276 | ||
Ni 1.000000 | ||
d 1.000000 | ||
illum 2 | ||
|
||
|
||
newmtl Material.002 | ||
Ns 254.901961 | ||
Ka 0.000000 0.000000 0.000000 | ||
Kd 0.223451 0.221082 0.221082 | ||
Ks 1.476487 1.476487 1.476487 | ||
Ni 1.000000 | ||
d 1.000000 | ||
illum 2 | ||
|
||
|
||
newmtl White | ||
Ns 78.431373 | ||
Ka 0.000000 0.000000 0.000000 | ||
Kd 0.640000 0.640000 0.640000 | ||
Ks 0.322457 0.322457 0.322457 | ||
Ni 1.000000 | ||
d 1.000000 | ||
illum 2 | ||
|
||
|
||
newmtl greenGray | ||
Ns 17.647059 | ||
Ka 0.000000 0.000000 0.000000 | ||
Kd 0.124850 0.141899 0.134048 | ||
Ks 0.233685 0.233685 0.233685 | ||
Ni 1.000000 | ||
d 1.000000 | ||
illum 2 | ||
|
||
|
Oops, something went wrong.