WEBVTT 00:00:01.005 --> 00:00:03.196 Lad os snakke om mere om komplekse betingelser, 00:00:03.196 --> 00:00:04.627 du kan lave i dine programmer. 00:00:04.627 --> 00:00:08.155 For at vise hvordan, har jeg lavet et spil på lærredet. 00:00:08.155 --> 00:00:09.197 Foursquare. 00:00:09.197 --> 00:00:11.730 Der er fire kvadrater, så det er et godt navn, 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. 00:00:14.915 --> 00:00:18.912 Lige nu tegnes en ellipse der, hvor din mus er - vores bold. 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. 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. 00:00:30.264 --> 00:00:34.626 Lad os starte med at tegne et rektangel. 00:00:34.626 --> 00:00:40.248 Jeg kopierer 'rect()' herfra, men ændrer fyldfarven til hvid. 00:00:40.248 --> 00:00:44.902 Lad os nu putte det i en 'if' sætning. 00:00:44.902 --> 00:00:48.520 Du kan se de krøllede parenteser autofuldføres for mig 00:00:48.520 --> 00:00:50.291 og jeg kan flytte dette inden i dem. 00:00:50.291 --> 00:00:53.905 Ok, hvornår vil jeg vise dette rektangel? 00:00:53.905 --> 00:01:00.681 Jeg vil vise det, når >(mouseX < 200)< 00:01:00.681 --> 00:01:07.019 Det virker, men når jeg går herned, så er det der stadigvæk. 00:01:07.019 --> 00:01:10.236 Så jeg skal også tjekke 'mouseY'. 00:01:10.236 --> 00:01:12.698 Hvordan tjekker jeg dem begge? 00:01:12.698 --> 00:01:17.748 Det er derfor vi har en 'OG' operator, som bruges når flere betingelser tjekkes. 00:01:17.748 --> 00:01:26.313 Vi taster blot >&&< og vores næste betingelse >mouseY < 200<. 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! 00:01:30.661 --> 00:01:36.185 Lad os lave det næste kvadrat, for at se hvordan det gøres. 00:01:36.185 --> 00:01:38.402 Vi skal lige ændre nogle ting. 00:01:38.402 --> 00:01:42.142 Vi bruger dette rektangel i stedet og 00:01:42.142 --> 00:01:45.638 vi skal naturligvis ændre betingelserne, så det vises når bolden er der. 00:01:45.638 --> 00:01:53.480 Vi taster >mouseX > 200< og 'mouseY' skal stadig være mindre end 200. 00:01:53.480 --> 00:01:55.459 Flot, se engang! 00:01:55.459 --> 00:02:02.419 I foursquare, når bolden rammer kanterne, disse linjer i midten og hjørnerne, 00:02:02.419 --> 00:02:04.681 så råber vi altid "Edge ball". 00:02:04.681 --> 00:02:07.132 Det vil jeg også gøre her. 00:02:07.132 --> 00:02:10.392 Lad os taste >text("EDGE BALL!!!!", 200, 200);< 00:02:10.392 --> 00:02:14.822 så det er i midten og lave fyldfarven rød. 00:02:14.822 --> 00:02:19.775 Det skal kun vises, hvis bolden er på en kant, 00:02:19.775 --> 00:02:25.913 så vi laver en 'if' sætning og flytter denne kode ind. 00:02:25.913 --> 00:02:28.520 Hvornår skal det ske? 00:02:28.520 --> 00:02:36.706 Der er en kant i midten, når (mouseX === 200). 00:02:36.706 --> 00:02:41.249 Skriver den "EDGE BALL!!!!"? 00:02:41.249 --> 00:02:43.534 Sådan! "EDGE BALL!!!!"? 00:02:43.534 --> 00:02:52.296 Det vises langs denne midterlinje, men det skal også virke på denne linje. 00:02:52.296 --> 00:03:02.027 Så vi tilføjer >&& mouseY === 200<, da midterlinjen er der. 00:03:02.027 --> 00:03:08.315 Okay, nu er der ingenting der virker… 00:03:08.315 --> 00:03:10.503 Jo midten virker! 00:03:10.503 --> 00:03:16.034 Det er fordi jeg bruger 'OG', så det vises kun når begge er sande 00:03:16.034 --> 00:03:17.936 og det er jo kun i midten. 00:03:17.936 --> 00:03:21.994 Jeg skal jo egentlig sige, når enten den eller den anden er sand 00:03:21.994 --> 00:03:24.413 og her bruger vi operatoren 'ELLER'. 00:03:24.413 --> 00:03:26.959 Operatoren 'ELLER' ser således ud ‖ 00:03:26.959 --> 00:03:31.809 Vi kalder symbolet lodret streg, og du har nok ikke brugt det før. 00:03:31.809 --> 00:03:35.629 Det kan være lidt svært at finde på dit tastetur. 00:03:35.629 --> 00:03:39.282 Forhåbentlig har du det på dit tastetur. 00:03:39.282 --> 00:03:42.050 Okay, lad os se, om det virker. 00:03:42.050 --> 00:03:46.424 Det virker her, her og her. Flot! 00:03:46.424 --> 00:03:49.273 Vi kan fortsætte med at tilføje flere betingelser. 00:03:49.273 --> 00:03:52.311 Du kan have lige så mange 'OG' og 'ELLER' som du vil. 00:03:52.311 --> 00:03:55.643 Hvis du vil have 6 forskellige betingelser, så kan du absolut gøre det. 00:03:55.643 --> 00:03:57.881 Vi er jo ikke færdige med kanterne endnu, 00:03:57.881 --> 00:04:04.466 så vi tilføjer > || mouseX < 3<. 00:04:04.466 --> 00:04:08.877 Flot! - det er den kant der. 00:04:08.877 --> 00:04:14.747 >|| mouseX > 397<. 00:04:14.747 --> 00:04:17.265 Sådan flot. 00:04:17.265 --> 00:04:21.372 Vi kan gøre det samme for alle kanterne. 00:04:21.372 --> 00:04:23.712 Det er altså 'OG' og 'ELLER'. 00:04:23.712 --> 00:04:27.653 Nu kan du lave mere og mere komplekse betingelser i dine programmer. 00:04:27.653 --> 00:04:30.972 Det er en god ting, da verden er et komplekst sted.