add random pipes
This commit is contained in:
parent
22c7398e63
commit
f57d30fd5a
2 changed files with 11 additions and 6 deletions
4
TODO.org
4
TODO.org
|
@ -4,7 +4,7 @@
|
||||||
A flappy bird clone to get experience with Common Lisp and game development.
|
A flappy bird clone to get experience with Common Lisp and game development.
|
||||||
|
|
||||||
|
|
||||||
* Game Plan [8/15]
|
* Game Plan [9/15]
|
||||||
- [X] Create bird, well, ball
|
- [X] Create bird, well, ball
|
||||||
- [X] Add physics for ball movement
|
- [X] Add physics for ball movement
|
||||||
- [X] Add inputs on key and mouse clicks
|
- [X] Add inputs on key and mouse clicks
|
||||||
|
@ -13,7 +13,7 @@ A flappy bird clone to get experience with Common Lisp and game development.
|
||||||
- [X] Detect collisions
|
- [X] Detect collisions
|
||||||
- [X] Add regression tests
|
- [X] Add regression tests
|
||||||
- [X] Add background
|
- [X] Add background
|
||||||
- [ ] Create random pipes
|
- [X] Create random pipes
|
||||||
- [ ] Add goal after last pipe
|
- [ ] Add goal after last pipe
|
||||||
- [ ] Create state machine to manage start/play/finish
|
- [ ] Create state machine to manage start/play/finish
|
||||||
- [ ] Create different levels
|
- [ ] Create different levels
|
||||||
|
|
|
@ -112,6 +112,14 @@
|
||||||
(pipe-draw pipe pipe-pen scroll-x height))
|
(pipe-draw pipe pipe-pen scroll-x height))
|
||||||
(draw_image_layer "assets/level1/ground.png" scroll-x))
|
(draw_image_layer "assets/level1/ground.png" scroll-x))
|
||||||
|
|
||||||
|
(defun random-pipes (n spacing max-height gap width)
|
||||||
|
(let ((padding 25))
|
||||||
|
(loop repeat n
|
||||||
|
for x from spacing by (+ spacing )
|
||||||
|
collect (make-pipe x (+ padding (random (- max-height gap padding padding))) gap width)))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
(defsketch flappy-ball
|
(defsketch flappy-ball
|
||||||
((title "Flappy Ball")
|
((title "Flappy Ball")
|
||||||
(width 960)
|
(width 960)
|
||||||
|
@ -124,10 +132,7 @@
|
||||||
(ball-pen (make-pen :stroke (gray 0.5) :fill sketch:+yellow+ :weight 1))
|
(ball-pen (make-pen :stroke (gray 0.5) :fill sketch:+yellow+ :weight 1))
|
||||||
(collision-pen (make-pen :stroke (gray 0.5) :fill sketch:+red+ :weight 1))
|
(collision-pen (make-pen :stroke (gray 0.5) :fill sketch:+red+ :weight 1))
|
||||||
(pipe-pen (make-pen :stroke (gray 0.5) :fill sketch:+green+ :weight 1))
|
(pipe-pen (make-pen :stroke (gray 0.5) :fill sketch:+green+ :weight 1))
|
||||||
(pipes (list
|
(pipes (random-pipes 15 200 ground-level 100 20))
|
||||||
(make-pipe 200 100 100 20)
|
|
||||||
(make-pipe 400 200 100 20)
|
|
||||||
(make-pipe 600 300 100 20)))
|
|
||||||
(scroll-x 0.0)
|
(scroll-x 0.0)
|
||||||
(scroll-speed 0.2))
|
(scroll-speed 0.2))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue