rong-elements 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ require 'rong/elements/behavior/bounding'
@@ -0,0 +1,13 @@
1
+ module Rong
2
+ module Elements
3
+ module Entities
4
+ class Ball
5
+ attr_reader :x, :y
6
+
7
+ def initialize(x=0, y=0)
8
+ @x, @y = x, y
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,30 @@
1
+ module Rong
2
+ module Elements
3
+ module Entities
4
+ class GameState
5
+ attr_reader :paddle_positions, :ball_positions
6
+
7
+ def initialize(paddle_positions=[0,0], ball_positions=[0,0])
8
+ @ball_positions = ball_positions
9
+ @paddle_positions = paddle_positions
10
+ end
11
+
12
+ %w(first second third fourth).each_with_index do |ordinal, index|
13
+ define_method("#{ordinal}_paddle_position") do
14
+ @paddle_positions[index]
15
+ end
16
+
17
+ define_method("#{ordinal}_paddle_position=") do |value|
18
+ @paddle_positions[index] = value
19
+ end
20
+ end
21
+
22
+ def ball_position
23
+ position = ball_positions.first
24
+ return position if position.kind_of? Array
25
+ ball_positions
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,26 @@
1
+ module Rong
2
+ module Elements
3
+ module Entities
4
+ class Paddle
5
+ attr_reader :velocity, :y
6
+
7
+ def initialize(y_coord)
8
+ @velocity = 0
9
+ @y = y_coord
10
+ end
11
+
12
+ def up
13
+ @velocity = 1
14
+ end
15
+
16
+ def down
17
+ @velocity = -1
18
+ end
19
+
20
+ def rest
21
+ @velocity = 0
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,3 @@
1
+ require 'rong/elements/entities/ball'
2
+ require 'rong/elements/entities/paddle'
3
+ require 'rong/elements/entities/game_state'
metadata ADDED
@@ -0,0 +1,85 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rong-elements
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 0
9
+ version: 0.2.0
10
+ platform: ruby
11
+ authors:
12
+ - Matt Yoho
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-09-03 00:00:00 -05:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rspec
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ~>
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 2
29
+ - 0
30
+ - 0
31
+ - beta
32
+ - 19
33
+ version: 2.0.0.beta.19
34
+ type: :development
35
+ version_requirements: *id001
36
+ description: Rong-elements contains shared game models and utilities for Rong, a Ruby implementation of Pong that consists of a server module for managing games, a client module for for interfacing with the server, and hopefully a few client implementations for playing some rad Pong, brah.
37
+ email: mby@mattyoho.com
38
+ executables: []
39
+
40
+ extensions: []
41
+
42
+ extra_rdoc_files: []
43
+
44
+ files:
45
+ - lib/rong/elements/behavior.rb
46
+ - lib/rong/elements/entities/ball.rb
47
+ - lib/rong/elements/entities/game_state.rb
48
+ - lib/rong/elements/entities/paddle.rb
49
+ - lib/rong/elements/entities.rb
50
+ has_rdoc: true
51
+ homepage: http://github.com/mattyoho/rong
52
+ licenses: []
53
+
54
+ post_install_message:
55
+ rdoc_options: []
56
+
57
+ require_paths:
58
+ - lib
59
+ required_ruby_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ segments:
64
+ - 1
65
+ - 8
66
+ - 7
67
+ version: 1.8.7
68
+ required_rubygems_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ segments:
73
+ - 1
74
+ - 3
75
+ - 6
76
+ version: 1.3.6
77
+ requirements: []
78
+
79
+ rubyforge_project:
80
+ rubygems_version: 1.3.6
81
+ signing_key:
82
+ specification_version: 3
83
+ summary: Ruby-based Pong server implementation
84
+ test_files: []
85
+