Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: Gold/Gold.cpp
- Revision:
- 1:9c7bb3db32bc
- Child:
- 8:c5969685cf02
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Gold/Gold.cpp Wed Apr 22 15:52:04 2020 +0000
@@ -0,0 +1,88 @@
+#include "Gold.h"
+
+Gold::Gold()
+{
+
+}
+
+Gold::~Gold()
+{
+
+}
+
+void Gold::init(int gold_num)
+{
+ _gold_num = gold_num;
+ _gold_left = _gold_num;
+
+ for (int i=0;i<_gold_num;i++){
+ _gold_caught[i] = 0;
+ _gold_reached[i] = 0;
+
+ srand(time(NULL));
+ _x[i] = 3+rand() % WIDTH-4;
+ _y[i] = 17+rand() % 27;
+ }
+
+
+}
+
+void Gold::draw(N5110 &lcd)
+{
+ for (int i=0;i<_gold_num;i++){
+ while(_gold_reached[i]==0){
+ lcd.drawCircle(_x[i],_y[i],2,FILL_BLACK); // lcd.drawCircle(_x[i],_y[i],3,FILL_BLACK);
+ }
+ }
+}
+
+void Gold::update()
+{
+ for (int i=0;i<_gold_num;i++){
+ while(_gold_caught[i]==1){
+ _y[i]-=1;
+ if (_y[i]<=14) {
+ gold_reached(i);
+ }
+ }
+ }
+}
+
+void Gold::gold_caught(int caught_i)
+{
+ _gold_caught[caught_i]=1;
+}
+
+void Gold::gold_reached(int reached_i)
+{
+ _gold_reached[reached_i]=1;
+ _gold_left--;
+}
+
+
+
+int Gold::get_reached_num()
+{
+ int n=0;
+ for (int i=0;i<_gold_num;i++){
+ if (_gold_reached[i]==1){
+ n+=1;
+ }
+ }
+ return n;
+}
+
+Vector2D Gold::get_pos(int gold_i)
+{
+ Vector2D p = {_x[gold_i],_y[gold_i]};
+ return p;
+}
+
+void Gold::set_pos(Vector2D p) {
+ for (int i=0;i<_gold_num;i++){
+ while(_gold_reached[i]==0){
+ _x[i] = p.x;
+ _y[i] = p.y;
+ }
+ }
+}
\ No newline at end of file