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.
Dependencies: mbed
Fork of mbed_pong22 by
main.cpp@1:b179267654bb, 2018-04-17 (annotated)
- Committer:
- Adrianmo
- Date:
- Tue Apr 17 12:26:28 2018 +0000
- Revision:
- 1:b179267654bb
- Parent:
- 0:31100e2cc464
Denne fungerer mr pong
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Adrianmo | 0:31100e2cc464 | 1 | #include "mbed.h" |
| Adrianmo | 0:31100e2cc464 | 2 | #include <iostream> |
| Adrianmo | 1:b179267654bb | 3 | #include <stdlib.h> |
| Adrianmo | 1:b179267654bb | 4 | #include <time.h> |
| Adrianmo | 1:b179267654bb | 5 | #include <stdio.h> |
| Adrianmo | 0:31100e2cc464 | 6 | using namespace std; |
| Adrianmo | 1:b179267654bb | 7 | InterruptIn button1(p5); |
| Adrianmo | 1:b179267654bb | 8 | InterruptIn button2(p6); |
| Adrianmo | 1:b179267654bb | 9 | InterruptIn slutt(p7); |
| Adrianmo | 0:31100e2cc464 | 10 | |
| Adrianmo | 0:31100e2cc464 | 11 | |
| Adrianmo | 0:31100e2cc464 | 12 | |
| Adrianmo | 1:b179267654bb | 13 | DigitalOut myled(LED1); |
| Adrianmo | 1:b179267654bb | 14 | DigitalOut bargraph[5] = {p26, p27, p28, p29, p30}; // Bargraph |
| Adrianmo | 1:b179267654bb | 15 | DigitalOut bsone[4] = {p21, p22, p23, p24}; // bargraph sone |
| Adrianmo | 1:b179267654bb | 16 | DigitalOut led1(LED1), led2(LED2); |
| Adrianmo | 1:b179267654bb | 17 | BusOut buss(p26, p27, p28, p29, p30); |
| Adrianmo | 1:b179267654bb | 18 | int player1 = 0; |
| Adrianmo | 1:b179267654bb | 19 | int player2 = 0; |
| Adrianmo | 1:b179267654bb | 20 | |
| Adrianmo | 1:b179267654bb | 21 | Serial pc(USBTX, USBRX); |
| Adrianmo | 1:b179267654bb | 22 | |
| Adrianmo | 1:b179267654bb | 23 | void flip1() { //her må vi prøve å få til at den bare kan trykkes inn på siste lys |
| Adrianmo | 1:b179267654bb | 24 | cout << "value of player1: " << player1 << endl; |
| Adrianmo | 1:b179267654bb | 25 | if (bsone[0].read() == 0)// && bargraph[0].read() == 1) |
| Adrianmo | 1:b179267654bb | 26 | player1 = 1; |
| Adrianmo | 1:b179267654bb | 27 | else { |
| Adrianmo | 1:b179267654bb | 28 | led2 = 1; |
| Adrianmo | 1:b179267654bb | 29 | exit(0); |
| Adrianmo | 1:b179267654bb | 30 | } |
| Adrianmo | 1:b179267654bb | 31 | } |
| Adrianmo | 1:b179267654bb | 32 | |
| Adrianmo | 1:b179267654bb | 33 | |
| Adrianmo | 1:b179267654bb | 34 | |
| Adrianmo | 1:b179267654bb | 35 | void flip2() { |
| Adrianmo | 1:b179267654bb | 36 | cout << "value of player2: " << player2 << endl; // //her må vi prøve å få til at den bare kan trykkes inn på siste lys |
| Adrianmo | 1:b179267654bb | 37 | if (bsone[3].read() == 0)// && bargraph[5].read() == 1) |
| Adrianmo | 1:b179267654bb | 38 | player2 = 1; |
| Adrianmo | 1:b179267654bb | 39 | else { |
| Adrianmo | 1:b179267654bb | 40 | led1 = 1; |
| Adrianmo | 1:b179267654bb | 41 | exit(0); |
| Adrianmo | 1:b179267654bb | 42 | |
| Adrianmo | 1:b179267654bb | 43 | } |
| Adrianmo | 1:b179267654bb | 44 | } |
| Adrianmo | 1:b179267654bb | 45 | |
| Adrianmo | 1:b179267654bb | 46 | void ut() { |
| Adrianmo | 1:b179267654bb | 47 | cout << "Exit" << endl; //exit funksjon |
| Adrianmo | 1:b179267654bb | 48 | bsone[0] = 0; |
| Adrianmo | 1:b179267654bb | 49 | bsone[1] = 0; |
| Adrianmo | 1:b179267654bb | 50 | bsone[2] = 0; |
| Adrianmo | 1:b179267654bb | 51 | bsone[3] = 0; |
| Adrianmo | 1:b179267654bb | 52 | buss = 15; |
| Adrianmo | 1:b179267654bb | 53 | exit(0); |
| Adrianmo | 1:b179267654bb | 54 | } |
| Adrianmo | 0:31100e2cc464 | 55 | |
| Adrianmo | 0:31100e2cc464 | 56 | |
| Adrianmo | 0:31100e2cc464 | 57 | |
| Adrianmo | 0:31100e2cc464 | 58 | |
| Adrianmo | 1:b179267654bb | 59 | int main() |
| Adrianmo | 1:b179267654bb | 60 | { |
| Adrianmo | 1:b179267654bb | 61 | |
| Adrianmo | 1:b179267654bb | 62 | |
| Adrianmo | 1:b179267654bb | 63 | |
| Adrianmo | 1:b179267654bb | 64 | pc.printf("Tast inn vansklighetsgrad 1 - 10:\n\t");// Valg meny. |
| Adrianmo | 1:b179267654bb | 65 | |
| Adrianmo | 1:b179267654bb | 66 | //button1.fall(&flip1); |
| Adrianmo | 1:b179267654bb | 67 | //button2.fall(&flip2); |
| Adrianmo | 1:b179267654bb | 68 | |
| Adrianmo | 1:b179267654bb | 69 | float _wait; //vente funksjon |
| Adrianmo | 1:b179267654bb | 70 | _wait = pc.getc() - 48; |
| Adrianmo | 1:b179267654bb | 71 | if(_wait > 0 && _wait < 10) |
| Adrianmo | 1:b179267654bb | 72 | { |
| Adrianmo | 1:b179267654bb | 73 | //funksjon(_wait); |
| Adrianmo | 1:b179267654bb | 74 | } |
| Adrianmo | 1:b179267654bb | 75 | while(1) |
| Adrianmo | 1:b179267654bb | 76 | { |
| Adrianmo | 1:b179267654bb | 77 | |
| Adrianmo | 1:b179267654bb | 78 | button1.rise(&flip1); //intrykk fra bryter 1 som begynner funksjon flip 1 |
| Adrianmo | 1:b179267654bb | 79 | button2.rise(&flip2);//intrykk fra bryter 2 som begynner funksjon flip 2 |
| Adrianmo | 1:b179267654bb | 80 | slutt.rise(&ut); //exit funksjon |
| Adrianmo | 1:b179267654bb | 81 | |
| Adrianmo | 0:31100e2cc464 | 82 | |
| Adrianmo | 0:31100e2cc464 | 83 | |
| Adrianmo | 1:b179267654bb | 84 | //switch(pc.getc()) { // tall fra bruker blir til case |
| Adrianmo | 1:b179267654bb | 85 | // case '1': |
| Adrianmo | 1:b179267654bb | 86 | // while(1) { |
| Adrianmo | 1:b179267654bb | 87 | for( int a = 4; a > -1; a = a - 1 ) { //lys bargraph 0-5 sone 0 |
| Adrianmo | 1:b179267654bb | 88 | // //////////////cout << "value of a1: " << a << endl; |
| Adrianmo | 1:b179267654bb | 89 | bargraph[a] = 1; |
| Adrianmo | 1:b179267654bb | 90 | bsone[0] = 0; |
| Adrianmo | 1:b179267654bb | 91 | bsone[1] = 1; |
| Adrianmo | 1:b179267654bb | 92 | bsone[2] = 1; |
| Adrianmo | 1:b179267654bb | 93 | bsone[3] = 1; |
| Adrianmo | 1:b179267654bb | 94 | wait_ms(_wait*100); |
| Adrianmo | 1:b179267654bb | 95 | bargraph[a] = 0; |
| Adrianmo | 1:b179267654bb | 96 | } |
| Adrianmo | 1:b179267654bb | 97 | |
| Adrianmo | 1:b179267654bb | 98 | for( int a = 4; a >= 0; a = a-- ) { //lys bargraph 0-5 sone 1 |
| Adrianmo | 1:b179267654bb | 99 | ////////////////cout << "value of a2: " << a << endl; |
| Adrianmo | 1:b179267654bb | 100 | bargraph[a] = 1; |
| Adrianmo | 1:b179267654bb | 101 | bsone[0] = 1; |
| Adrianmo | 1:b179267654bb | 102 | bsone[1] = 0; |
| Adrianmo | 1:b179267654bb | 103 | bsone[2] = 1; |
| Adrianmo | 1:b179267654bb | 104 | bsone[3] = 1; |
| Adrianmo | 1:b179267654bb | 105 | wait_ms(_wait*100); |
| Adrianmo | 1:b179267654bb | 106 | bargraph[a] = 0; |
| Adrianmo | 1:b179267654bb | 107 | } |
| Adrianmo | 1:b179267654bb | 108 | |
| Adrianmo | 1:b179267654bb | 109 | for( int a = 4; a > -1; a = a - 1 ) { //lys bargraph 0-5 sone 2 |
| Adrianmo | 1:b179267654bb | 110 | //////////////////////////////////cout << "value of a1: " << a << endl; |
| Adrianmo | 1:b179267654bb | 111 | |
| Adrianmo | 1:b179267654bb | 112 | bargraph[a] = 1; |
| Adrianmo | 1:b179267654bb | 113 | bsone[0] = 1; |
| Adrianmo | 1:b179267654bb | 114 | bsone[1] = 1; |
| Adrianmo | 1:b179267654bb | 115 | bsone[2] = 0; |
| Adrianmo | 1:b179267654bb | 116 | bsone[3] = 1; |
| Adrianmo | 1:b179267654bb | 117 | wait_ms(_wait*100); |
| Adrianmo | 1:b179267654bb | 118 | bargraph[a] = 0; |
| Adrianmo | 1:b179267654bb | 119 | } |
| Adrianmo | 1:b179267654bb | 120 | |
| Adrianmo | 1:b179267654bb | 121 | for( int a = 4; a > -1; a = a - 1 ) { //lys bargraph 0-5 sone 3 |
| Adrianmo | 1:b179267654bb | 122 | //////////////cout << "value of a2: " << a << endl; |
| Adrianmo | 1:b179267654bb | 123 | bargraph[a] = 1; |
| Adrianmo | 1:b179267654bb | 124 | bsone[0] = 1; |
| Adrianmo | 1:b179267654bb | 125 | bsone[1] = 1; |
| Adrianmo | 1:b179267654bb | 126 | bsone[2] = 1; |
| Adrianmo | 1:b179267654bb | 127 | bsone[3] = 0; |
| Adrianmo | 1:b179267654bb | 128 | wait_ms(_wait*100); |
| Adrianmo | 1:b179267654bb | 129 | bargraph[a] = 0; |
| Adrianmo | 1:b179267654bb | 130 | } |
| Adrianmo | 1:b179267654bb | 131 | |
| Adrianmo | 1:b179267654bb | 132 | if(player2 != 1){ //sjekker om bryter 2 er 1 hvis ikke så bryter den |
| Adrianmo | 1:b179267654bb | 133 | cout << "value of player2: " << player2 << endl; |
| Adrianmo | 1:b179267654bb | 134 | pc.printf("GG p2 \n"); |
| Adrianmo | 1:b179267654bb | 135 | exit(0); |
| Adrianmo | 1:b179267654bb | 136 | } |
| Adrianmo | 1:b179267654bb | 137 | |
| Adrianmo | 1:b179267654bb | 138 | player2 = 0; |
| Adrianmo | 1:b179267654bb | 139 | |
| Adrianmo | 1:b179267654bb | 140 | for( int a = 0; a < 5; a = a++ ) { //lys bargraph 4-0 sone 3 |
| Adrianmo | 1:b179267654bb | 141 | //////////////cout << "value of a3: " << a << endl; |
| Adrianmo | 1:b179267654bb | 142 | |
| Adrianmo | 1:b179267654bb | 143 | bargraph[a] = 1; |
| Adrianmo | 1:b179267654bb | 144 | bsone[0] = 1; |
| Adrianmo | 1:b179267654bb | 145 | bsone[1] = 1; |
| Adrianmo | 1:b179267654bb | 146 | bsone[2] = 1; |
| Adrianmo | 1:b179267654bb | 147 | bsone[3] = 0; |
| Adrianmo | 1:b179267654bb | 148 | |
| Adrianmo | 1:b179267654bb | 149 | wait_ms(_wait*100); |
| Adrianmo | 1:b179267654bb | 150 | bargraph[a] = 0; |
| Adrianmo | 1:b179267654bb | 151 | } |
| Adrianmo | 1:b179267654bb | 152 | |
| Adrianmo | 1:b179267654bb | 153 | for( int a = 0; a < 5; a = a++ ) { //lys bargraph 0-4 sone 2 |
| Adrianmo | 1:b179267654bb | 154 | //////////////cout << "value of a4: " << a << endl; |
| Adrianmo | 1:b179267654bb | 155 | bargraph[a] = 1; |
| Adrianmo | 1:b179267654bb | 156 | bsone[0] = 1; |
| Adrianmo | 1:b179267654bb | 157 | bsone[1] = 1; |
| Adrianmo | 1:b179267654bb | 158 | bsone[2] = 0; |
| Adrianmo | 1:b179267654bb | 159 | bsone[3] = 1; |
| Adrianmo | 1:b179267654bb | 160 | |
| Adrianmo | 1:b179267654bb | 161 | wait_ms(_wait*100); |
| Adrianmo | 1:b179267654bb | 162 | bargraph[a] = 0; |
| Adrianmo | 1:b179267654bb | 163 | } |
| Adrianmo | 1:b179267654bb | 164 | for( int a = 0; a < 5; a = a++ ) { //lys bargraph 0-4 sone 1 |
| Adrianmo | 1:b179267654bb | 165 | //////////////cout << "value of a3: " << a << endl; |
| Adrianmo | 1:b179267654bb | 166 | |
| Adrianmo | 1:b179267654bb | 167 | bargraph[a] = 1; |
| Adrianmo | 1:b179267654bb | 168 | bsone[0] = 1; |
| Adrianmo | 1:b179267654bb | 169 | bsone[1] = 0; |
| Adrianmo | 1:b179267654bb | 170 | bsone[2] = 1; |
| Adrianmo | 1:b179267654bb | 171 | bsone[3] = 1; |
| Adrianmo | 1:b179267654bb | 172 | |
| Adrianmo | 1:b179267654bb | 173 | wait_ms(_wait*100); |
| Adrianmo | 1:b179267654bb | 174 | bargraph[a] = 0; |
| Adrianmo | 1:b179267654bb | 175 | } |
| Adrianmo | 1:b179267654bb | 176 | |
| Adrianmo | 1:b179267654bb | 177 | for( int a = 0; a < 5; a = a++ ) { //lys bargraph 0-4 sone 0 |
| Adrianmo | 1:b179267654bb | 178 | //////////////cout << "value of a4: " << a << endl; |
| Adrianmo | 1:b179267654bb | 179 | bargraph[a] = 1; |
| Adrianmo | 1:b179267654bb | 180 | bsone[0] = 0; |
| Adrianmo | 1:b179267654bb | 181 | bsone[1] = 1; |
| Adrianmo | 1:b179267654bb | 182 | bsone[2] = 1; |
| Adrianmo | 1:b179267654bb | 183 | bsone[3] = 1; |
| Adrianmo | 1:b179267654bb | 184 | |
| Adrianmo | 1:b179267654bb | 185 | wait_ms(_wait*100); |
| Adrianmo | 1:b179267654bb | 186 | bargraph[a] = 0; |
| Adrianmo | 1:b179267654bb | 187 | } |
| Adrianmo | 1:b179267654bb | 188 | if(player1 != 1){ //sjekker om bryter 1 er inne hvis ikke så exit |
| Adrianmo | 1:b179267654bb | 189 | pc.printf("GG p1 \n"); |
| Adrianmo | 1:b179267654bb | 190 | cout << "value of player1: " << player1 << endl; |
| Adrianmo | 1:b179267654bb | 191 | exit(0); |
| Adrianmo | 1:b179267654bb | 192 | } |
| Adrianmo | 1:b179267654bb | 193 | player1 = 0; |
| Adrianmo | 0:31100e2cc464 | 194 | } |
| Adrianmo | 1:b179267654bb | 195 | } |
| Adrianmo | 1:b179267654bb | 196 | |
| Adrianmo | 1:b179267654bb | 197 |
