programmering / Mbed 2 deprecated ponglevering

Dependencies:   mbed

Fork of mbed_pong22 by programmering

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?

UserRevisionLine numberNew 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