1 00:00:01,005 --> 00:00:03,196 Lad os snakke om mere om komplekse betingelser, 2 00:00:03,196 --> 00:00:04,627 du kan lave i dine programmer. 3 00:00:04,627 --> 00:00:08,155 For at vise hvordan, har jeg lavet et spil på lærredet. 4 00:00:08,155 --> 00:00:09,197 Foursquare. 5 00:00:09,197 --> 00:00:11,730 Der er fire kvadrater, så det er et godt navn, 6 00:00:11,730 --> 00:00:14,915 og du står i en af dem og kaster din bold over i de andre kvadrater. 7 00:00:14,915 --> 00:00:18,912 Lige nu tegnes en ellipse der, hvor din mus er - vores bold. 8 00:00:18,912 --> 00:00:23,814 Jeg vil gerne fremhæve det kvadrat, som bolden er i ved at gøre det hvidt. 9 00:00:23,814 --> 00:00:30,264 Jeg har brug for en 'if' sætning, da jeg kun vil fremhæve det kvadrat bolden er i. 10 00:00:30,264 --> 00:00:34,626 Lad os starte med at tegne et rektangel. 11 00:00:34,626 --> 00:00:40,248 Jeg kopierer 'rect()' herfra, men ændrer fyldfarven til hvid. 12 00:00:40,248 --> 00:00:44,902 Lad os nu putte det i en 'if' sætning. 13 00:00:44,902 --> 00:00:48,520 Du kan se de krøllede parenteser autofuldføres for mig 14 00:00:48,520 --> 00:00:50,291 og jeg kan flytte dette inden i dem. 15 00:00:50,291 --> 00:00:53,905 Ok, hvornår vil jeg vise dette rektangel? 16 00:00:53,905 --> 00:01:00,681 Jeg vil vise det, når >(mouseX < 200)< 17 00:01:00,681 --> 00:01:07,019 Det virker, men når jeg går herned, så er det der stadigvæk. 18 00:01:07,019 --> 00:01:10,236 Så jeg skal også tjekke 'mouseY'. 19 00:01:10,236 --> 00:01:12,698 Hvordan tjekker jeg dem begge? 20 00:01:12,698 --> 00:01:17,748 Det er derfor vi har en 'OG' operator, som bruges når flere betingelser tjekkes. 21 00:01:17,748 --> 00:01:26,313 Vi taster blot >&&< og vores næste betingelse >mouseY < 200<. 22 00:01:26,313 --> 00:01:30,661 Nu vises det ikke mere når jeg er her, men når jeg er her - hurra! 23 00:01:30,661 --> 00:01:36,185 Lad os lave det næste kvadrat, for at se hvordan det gøres. 24 00:01:36,185 --> 00:01:38,402 Vi skal lige ændre nogle ting. 25 00:01:38,402 --> 00:01:42,142 Vi bruger dette rektangel i stedet og 26 00:01:42,142 --> 00:01:45,638 vi skal naturligvis ændre betingelserne, så det vises når bolden er der. 27 00:01:45,638 --> 00:01:53,480 Vi taster >mouseX > 200< og 'mouseY' skal stadig være mindre end 200. 28 00:01:53,480 --> 00:01:55,459 Flot, se engang! 29 00:01:55,459 --> 00:02:02,419 I foursquare, når bolden rammer kanterne, disse linjer i midten og hjørnerne, 30 00:02:02,419 --> 00:02:04,681 så råber vi altid "Edge ball". 31 00:02:04,681 --> 00:02:07,132 Det vil jeg også gøre her. 32 00:02:07,132 --> 00:02:10,392 Lad os taste >text("EDGE BALL!!!!", 200, 200);< 33 00:02:10,392 --> 00:02:14,822 så det er i midten og lave fyldfarven rød. 34 00:02:14,822 --> 00:02:19,775 Det skal kun vises, hvis bolden er på en kant, 35 00:02:19,775 --> 00:02:25,913 så vi laver en 'if' sætning og flytter denne kode ind. 36 00:02:25,913 --> 00:02:28,520 Hvornår skal det ske? 37 00:02:28,520 --> 00:02:36,706 Der er en kant i midten, når (mouseX === 200). 38 00:02:36,706 --> 00:02:41,249 Skriver den "EDGE BALL!!!!"? 39 00:02:41,249 --> 00:02:43,534 Sådan! "EDGE BALL!!!!"? 40 00:02:43,534 --> 00:02:52,296 Det vises langs denne midterlinje, men det skal også virke på denne linje. 41 00:02:52,296 --> 00:03:02,027 Så vi tilføjer >&& mouseY === 200<, da midterlinjen er der. 42 00:03:02,027 --> 00:03:08,315 Okay, nu er der ingenting der virker… 43 00:03:08,315 --> 00:03:10,503 Jo midten virker! 44 00:03:10,503 --> 00:03:16,034 Det er fordi jeg bruger 'OG', så det vises kun når begge er sande 45 00:03:16,034 --> 00:03:17,936 og det er jo kun i midten. 46 00:03:17,936 --> 00:03:21,994 Jeg skal jo egentlig sige, når enten den eller den anden er sand 47 00:03:21,994 --> 00:03:24,413 og her bruger vi operatoren 'ELLER'. 48 00:03:24,413 --> 00:03:26,959 Operatoren 'ELLER' ser således ud ‖ 49 00:03:26,959 --> 00:03:31,809 Vi kalder symbolet lodret streg, og du har nok ikke brugt det før. 50 00:03:31,809 --> 00:03:35,629 Det kan være lidt svært at finde på dit tastetur. 51 00:03:35,629 --> 00:03:39,282 Forhåbentlig har du det på dit tastetur. 52 00:03:39,282 --> 00:03:42,050 Okay, lad os se, om det virker. 53 00:03:42,050 --> 00:03:46,424 Det virker her, her og her. Flot! 54 00:03:46,424 --> 00:03:49,273 Vi kan fortsætte med at tilføje flere betingelser. 55 00:03:49,273 --> 00:03:52,311 Du kan have lige så mange 'OG' og 'ELLER' som du vil. 56 00:03:52,311 --> 00:03:55,643 Hvis du vil have 6 forskellige betingelser, så kan du absolut gøre det. 57 00:03:55,643 --> 00:03:57,881 Vi er jo ikke færdige med kanterne endnu, 58 00:03:57,881 --> 00:04:04,466 så vi tilføjer > || mouseX < 3<. 59 00:04:04,466 --> 00:04:08,877 Flot! - det er den kant der. 60 00:04:08,877 --> 00:04:14,747 >|| mouseX > 397<. 61 00:04:14,747 --> 00:04:17,265 Sådan flot. 62 00:04:17,265 --> 00:04:21,372 Vi kan gøre det samme for alle kanterne. 63 00:04:21,372 --> 00:04:23,712 Det er altså 'OG' og 'ELLER'. 64 00:04:23,712 --> 00:04:27,653 Nu kan du lave mere og mere komplekse betingelser i dine programmer. 65 00:04:27,653 --> 00:04:30,972 Det er en god ting, da verden er et komplekst sted.