ðProcessingã§å§ããããã°ã©ãã³ã°ã®åºç€ïŒå®è·µã§åŠã¶ã³ãŒãã®äžç
ã¯ããã«
ããã°ã©ãã³ã°ã¯ããŸãã§æ¥œåšã®æŒå¥ãã¹ããŒãã®ç·Žç¿ãšåãã§ããæŒå¥çè«ã®æ¬ãèªãã ã ãã§ã¯ã®ã¿ãŒã¯åŒŸããããã«ãªããŸãããããµãã«ãŒã®è©Šåã§æŽ»èºããããã«ã¯æ1åã®ç·Žç¿ã§ã¯è¶³ããŸãããåãããã«ãããã°ã©ãã³ã°ãææ¥ãèããŠããã ãã§ã¯èº«ã«ã€ããŸãããå®éã«èªåã§èããŠåé¡ãè§£ãçµéšãç©ãããšãäžå¯æ¬ ã§ãã
ãã®èšäºã§ã¯ãããã°ã©ãã³ã°èšèªãProcessingãã䜿ã£ãŠãããã°ã©ãã³ã°ã®åºç€ãå®è·µçã«åŠã¹ãããã«ãå€ãã®å ·äœäŸã亀ããªãã解説ããŸããã³ãŒããã³ããŒïŒããŒã¹ãããŠå®éã«åãããå€ã倿ŽããŠè©Šãããšã§ãæ·±ãçè§£ãžãšã€ãªããããšãæåŸ ããŠããŸãã
Processingã¯ãJavaãããŒã¹ã«äœããããªãŒãã³ãœãŒã¹ã®ããã°ã©ãã³ã°èšèªã§ãæç»ãã¢ãã¡ãŒã·ã§ã³ã容æã«å®çŸã§ãããããããã°ã©ãã³ã°å ¥éã«æé©ã§ããmacOSãWindowsãLinuxãšãã£ãäž»èŠãªOSã§åäœããŸãã
1. ããã°ã©ã ã®åºæ¬ïŒæåã®è¡šç€º
ãŸãã¯ãæãåºæ¬çãªãæåã®è¡šç€ºãããå§ããŸããããProcessingã«ã¯ãã³ã³ãœãŒã«ã«ã¡ãã»ãŒãžãåºåããããã®println()
ãšprint()
ãšãã颿°ããããŸãã
println()
ãšprint()
-
println(what);
:what
ã®å 容ã衚瀺ããæ¹è¡ãè¡ããŸãã -
print(what);
:what
ã®å 容ã衚瀺ããŸãããæ¹è¡ã¯è¡ããŸããã
what
ãæååã®å Žåã¯ãããã«ã¯ã©ãŒããŒã·ã§ã³ïŒ"
ïŒã§å²ãå¿
èŠããããŸãã
// äŸ1-1: println()ã®åºæ¬
println("Hello, Processing!");
// åºå: Hello, Processing!
// äŸ1-2: print()ãšprintln()ã®çµã¿åãã
print("Hello");
print(" ");
println("World!");
println("This is a new line.");
// åºå:
// Hello World!
// This is a new line.
ããã°ã©ã ã®å®è¡é åº
ããã°ã©ã ã¯ãååãšããŠäžããäžãžé çªã«å®è¡ãããŸããã³ã³ãã¥ãŒã¿ãŒããæ°ãå©ãããŠã人ãæããããªé çªã§å®è¡ããŠãããããšã¯ãããŸããã
// äŸ1-3: å®è¡é åºã®ç¢ºèª
println("Good night");
println("Good bye");
println("Hello");
// åºå:
// Good night
// Good bye
// Hello
ã³ãŒããèšè¿°ããéã¯ãåŠçãã©ã®ãããªé çªã§å®è¡ããããããã¡ããšèããå¿ èŠããããŸãã
2. ããŒã¿ã®äžæä¿ç®¡ïŒå€æ°
ããã°ã©ã ã§ã¯ãæ°å€ãæååãªã©ã®ããŒã¿ãäžæçã«ä¿ç®¡ããŠããå Žæãå¿ èŠã§ãããããã倿°ãã§ãã
倿°ã®å¿ èŠæ§
ãªã倿°ãå¿ èŠãªã®ã§ããããïŒäŸãã°ãè€æ°ã®ãªã³ãŽããã«ã³ã®äŸ¡æ Œãèšç®ããããã°ã©ã ãèããŠã¿ãŸãããã
// äŸ2-1: 倿°ã䜿ããªãèšç® (åé¡ç¹: åããã«ããã倿Žãå°é£)
println(100 * 5); // ãªã³ãŽ5å
println(100 * 5 + 80 * 10); // ãªã³ãŽ5åããã«ã³10å
println(100 * 80 + 80 * 100); // ãªã³ãŽ80åããã«ã³100å
ãã®ã³ãŒãã§ã¯ã100
ããªã³ãŽã®äŸ¡æ Œã80
ããã«ã³ã®äŸ¡æ Œã ãšæšæž¬ã§ããŸãããã±ã£ãšèŠãŠäœãããŠãããåããã«ããã§ãããããªã³ãŽããã«ã³ã®äŸ¡æ Œãå€ãã£ãããããã°ã©ã äžã®ãã¹ãŠã®æ°å€ãæåã§å€æŽããªããã°ãªããããã¹ãèµ·ããããããªããŸãã
ããã§ã倿°ã䜿ããŸãã倿°ã«ã¯ãåæãã®ããã«ååãä»ããããŒã¿ãé¢é£ä»ããŸãã
// äŸ2-2: 倿°ã䜿ã£ãèšç® (å¯èªæ§ã倿Žå®¹ææ§ãåäž)
int applePrice = 100; // ãªã³ãŽã®äŸ¡æ Œ
int orangePrice = 80; // ãã«ã³ã®äŸ¡æ Œ
println(applePrice * 5);
println(applePrice * 5 + orangePrice * 10);
println(applePrice * 80 + orangePrice * 100);
// åºåã¯äŸ2-1ãšåãã§ãããã³ãŒãã®æå³ãæç¢ºã«ãªããŸãã
倿°ã®å®£èšãä»£å ¥ãåç §
倿°ã䜿ãã«ã¯ã以äžã®3ã€ã®ã¹ããããå¿ èŠã§ã:
-
宣èš: 倿°ã®ãåããšãååããæ±ºããŸããProcessingã§ã¯ã倿°ã®å®£èšæã«ããŒã¿ã®çš®é¡ïŒåïŒãæç€ºããå¿
èŠããããŸãã
-
int
: æŽæ°ïŒäŸ:1
,0
,-27
ïŒ -
float
: 宿°ïŒæµ®åå°æ°ç¹æ°ïŒïŒäŸ:1.2
,0.0
,-27.3
ïŒ -
char
: æåïŒäŸ:'A'
,'b'
,'#'
ïŒ -
String
: æååïŒäŸ:"Hello"
,"HEY"
ïŒ -
boolean
: çåœå€ïŒtrue
ãŸãã¯false
ïŒ
-
-
代å
¥: 倿°ã«ããŒã¿ãæ ŒçŽããŸãã代å
¥ã«ã¯ä»£å
¥æŒç®å
=
ã䜿ããŸããæååã¯ããã«ã¯ã©ãŒããŒã·ã§ã³ãæåã¯ã·ã³ã°ã«ã¯ã©ãŒããŒã·ã§ã³ã§å²ã¿ãŸãã宣èšãšåæã«åæå€ãäžããããšãå¯èœã§ãã - åç §: 倿°ã«æ ŒçŽãããããŒã¿ãå©çšããŸãã
// äŸ2-3: 倿°ã®å®£èšã代å
¥ãåç
§
// 宣èš
int score;
String name;
boolean isStudent;
// 代å
¥ (åæå)
score = 95;
name = "Alice";
isStudent = true;
// åç
§
println("åå: " + name);
println("ç¹æ°: " + score);
println("åŠçã§ããïŒ: " + isStudent);
// 宣èšãšåæã«åæå
float pi = 3.14;
println("ååšç: " + pi);
é©åãªå€æ°å
倿°åã«ã¯ã«ãŒã«ãšç¿æ £ããããŸãã
-
lower camel case: è€æ°ã®åèªãããªã倿°åã¯ãæåã®åèªã®å
é ã¯å°æåããã以éã®åèªã®å
é ã¯å€§æåã«ããŸãïŒäŸ:
greenApplePrice
ïŒã -
å
容ãåããããã«:
price1
,price2
ãããapplePrice
,orangePrice
ã®ããã«ãäœã衚ãã®ãæç¢ºãªååãä»ããŸãããã -
çãé©åã«:
application
ãapp
ã®ããã«çç¥ããããšããããŸãããããã¯ããçšåºŠã®ç¥èã»çµéšãå¿ èŠã§ãã
3. æ°å€ã®èšç®ïŒç®è¡æŒç®å
Processingã§ã¯ãç®è¡æŒç®åã䜿ã£ãŠååæŒç®ãå°äœæŒç®ãè¡ãããšãã§ããŸãã
ç®è¡æŒç®åäžèЧ
ç®è¡æŒç®å | åœ¹å² |
---|---|
+ |
å ç® |
- |
æžç® |
* |
ä¹ç® |
/ |
é€ç® |
% |
å°äœæŒç® |
泚æïŒæŽæ°å士ã®é€ç®
éåžžã«éèŠãªãã€ã³ãã§ãïŒ æŽæ°å士ã®é€ç®ã§ã¯ãåã®å°æ°ç¹ä»¥äžã¯åãæšãŠãããŸããæŒç®å¯Ÿè±¡ã«1ã€ã§ã宿°ïŒfloat
åïŒãããã°ãçµæã¯å®æ°ã«ãªããŸãã
// äŸ3-1: æŽæ°å士ã®é€ç®ãšå®æ°ãå«ãé€ç®
println(10 / 3); // åºå: 3 (å°æ°ç¹ä»¥äžåãæšãŠ)
println(5 / 2); // åºå: 2 (å°æ°ç¹ä»¥äžåãæšãŠ)
println(10 / 3.0); // åºå: 3.3333333 (宿°ãå«ãããåãæšãŠãªã)
println(5.0 / 2); // åºå: 2.5 (宿°ãå«ãããåãæšãŠãªã)
ãã®æåã¯ãæå³ããªããã°ã®åå ãšãªãããšãå€ããããèšç®ãè¡ãéã«ã¯åžžã«ãèšç®éçšã§å€ãæŽæ°ãªã®ã宿°ãªã®ãããæèããããã«ããŸãããã
å°äœæŒç®
%
æŒç®åã¯ãé€ç®ã®äœããæ±ããŸããåæ°ãçŽæ°ã®å€å®ãåšææ§ã®ããå€ã®èšç®ãªã©ã«ããå©çšãããŸãã
// äŸ3-2: å°äœæŒç®
println(11 % 3); // åºå: 2 (11ã3ã§å²ããšåã¯3ãäœãã¯2)
println(5 % 2); // åºå: 1 (5ã2ã§å²ããšåã¯2ãäœãã¯1)
println(100 % 30 % 3); // åºå: 1 (100 % 30 = 10, 10 % 3 = 1)
æŒç®åã®åªå é äœ
æ°åŠãšåæ§ã«ãæŒç®åã«ã¯èšç®ã®åªå é äœããããŸããåãåªå é äœã®å Žåã¯ãåã«æžãããŠããæ¹ãå ã«èšç®ãããŸãã
-
()
ã§æ¬ãããç¯å² (æåªå ) -
*
,/
,%
-
+
,-
(æäœåªå 床)
// äŸ3-3: æŒç®åã®åªå
é äœ
println(4 * 3 / 2 * 3); // (4 * 3) / 2 * 3 = 12 / 2 * 3 = 6 * 3 = 18
println(4 * 3 / (2 * 3)); // 4 * 3 / 6 = 12 / 6 = 2
println(3 / 2 * 2); // (3 / 2) * 2 = 1 * 2 = 2 (æŽæ°é€ç®ã®åãæšãŠã«æ³šæ)
// åºå:
// 18
// 2
// 2
4. åŠçã®åå²ïŒæ¡ä»¶åå²
ããã°ã©ã ã®å®è¡äžã«ãããæ¡ä»¶ã«å¿ããŠåŠçã®æµããå€ãããå ŽåããããŸããããããæ¡ä»¶åå²ãã§ãã
çåœå€ãšæ¯èŒæŒç®å
æ¡ä»¶åå²ã§ã¯ãããæ¡ä»¶ããæç«ãããïŒç / true
ïŒããŸãã¯ãäžæç«ãïŒåœ / false
ïŒããå€å®ããå¿
èŠããããŸãããã®çåœã衚ãå€ããçåœå€ãã§ãProcessingã§ã¯boolean
åã§æ±ããŸãã
æ¡ä»¶ã®çåœãå€å®ããããã«ã¯ããæ¯èŒæŒç®åãã䜿ããŸãã
èšå· | 説æ |
---|---|
== |
çãã |
!= |
çãããªã |
> |
ãã倧ãã |
< |
ããå°ãã |
>= |
ä»¥äž |
<= |
ä»¥äž |
æ¯èŒæŒç®åã®çµæã¯boolean
åã«ãªããŸãã
// äŸ4-1: æ¯èŒæŒç®å
println(1 == 1); // true
println(1 != 2); // true
println(2 > 1); // true
println(1 < 2); // true
println(1 >= 1); // true
println(1 <= 2); // true
println(1 == 2); // false
println(1 != 1); // false
println(2 > 3); // false
println(1 < 0); // false
println(1 >= 2); // false
println(1 <= 0); // false
if
æ
if
æã¯ãæ¡ä»¶åŒïŒtest
ïŒã®çµæãtrue
ã§ããã°ããã®äžã«ããåŠçïŒstatements
ïŒãå®è¡ããŸããfalse
ã§ããã°äœãå®è¡ããŸããã
// äŸ4-2: ifæã®åºæ¬
int age = 19;
if (age < 20) {
println("You cannot drink.");
}
// åºå: You cannot drink.
else
æ
if
æã«else
æãçµã¿åããããšãæ¡ä»¶åŒã®çµæãtrue
ã®å Žåãšfalse
ã®å Žåã§ãããããç°ãªãåŠçãå®è¡ã§ããŸãã
// äŸ4-3: if-elseæ
int age = 25;
if (age < 20) {
println("You cannot drink.");
} else {
println("You can drink.");
}
// åºå: You can drink.
else if
æ
3ã€ä»¥äžã®æ¡ä»¶ã§åŠçãåå²ããããå Žåã¯ãelse if
æãè€æ°äœ¿çšã§ããŸããäžããé ã«æ¡ä»¶åŒãè©äŸ¡ãããæåã«true
ã«ãªã£ããããã¯ã®åŠçãå®è¡ãããŸãã
// äŸ4-4: else ifæ
int score = 85;
if (score >= 90) {
println("Great!");
} else if (score >= 80) { // scoreã90æªæºã§ããã€80以äžã®å Žå
println("Good!");
} else {
println("Keep practicing.");
}
// åºå: Good!
è«çæŒç®å
è€æ°ã®æ¡ä»¶ãçµã¿åãããŠããè€éãªæ¡ä»¶ã衚çŸããããã«ããè«çæŒç®åãã䜿ããŸãã
-
&&
(AND/è«çç©): äž¡æ¹ã®æ¡ä»¶ãtrue
ã®å Žåã«true
ã -
||
(OR/è«çå): ã©ã¡ããäžæ¹ãŸãã¯äž¡æ¹ã®æ¡ä»¶ãtrue
ã®å Žåã«true
ã -
!
(NOT/åŠå®): æ¡ä»¶ãfalse
ã®å Žåã«true
ïŒæ¡ä»¶ã®çåœãå転ãããïŒã
è«çæŒç®åã«ãåªå é äœããããŸãã
-
()
ã§æ¬ãããç¯å² (æåªå ) !
&&
-
||
(æäœåªå 床)
åãåªå é äœã®å Žåã¯ãå·Šããé ã«èšç®ãããŸãã
泚æç¹: &&
ãš||
ã«ã¯ãç絡è©äŸ¡ïŒã·ã§ãŒããµãŒãããè©äŸ¡ïŒããšããæ§è³ªããããŸãã
-
&&
: å·ŠåŽã®æ¡ä»¶ãfalse
ã®å Žåãå³åŽã®æ¡ä»¶ã¯è©äŸ¡ãããŸããïŒçµæãå¿ ãfalse
ã«ãªãããïŒã -
||
: å·ŠåŽã®æ¡ä»¶ãtrue
ã®å Žåãå³åŽã®æ¡ä»¶ã¯è©äŸ¡ãããŸããïŒçµæãå¿ ãtrue
ã«ãªãããïŒã
ããã¯ãæå³ããªããšã©ãŒãé²ãããã«ãéèŠã§ããäŸãã°ãé
åã®ç¯å²ãã§ãã¯ãšèŠçŽ ãžã®ã¢ã¯ã»ã¹ã&&
ã§çµåããå Žåãç¯å²ãã§ãã¯ãå
ã«æžãã¹ãã§ãã
// äŸ4-5: è«çæŒç®åãšåªå
é äœ
int x = 15;
int y = 12;
// AND (&&)
if (x >= 10 && x < 20) {
println("xã¯10以äž20æªæºã§ãã"); // true && true -> true
}
// OR (||)
if (y >= 10 || y % 5 == 0) {
println("yã¯10以äžããŸãã¯5ã®åæ°ã§ãã"); // true || false -> true
}
// NOT (!)
boolean isSunny = false;
if (!isSunny) {
println("æŽããŠããŸããã"); // !false -> true
}
// åªå
é äœã®äŸ (p || q && r) -> p || (q && r)
boolean p = true;
boolean q = false;
boolean r = false;
if (p || q && r) { // true || (false && false) -> true || false -> true
println("OK");
}
// åºå:
// xã¯10以äž20æªæºã§ãã
// yã¯10以äžããŸãã¯5ã®åæ°ã§ãã
// æŽããŠããŸããã
// OK
if
æ
å
¥ãåæ§é ã®å
±éã®æ¡ä»¶ãããå Žåãif
æãå
¥ãåæ§é ã«ãããšã³ãŒããç°¡æœã«ãªããŸããå
åŽã®ãããã¯ã«ã¯ãäžæ®µæ·±ãã€ã³ãã³ããå
¥ããã®ãã«ãŒã«ã§ãã
// äŸ4-6: å
¥ãåæ§é ã®ifæ (éæèšç®ã®äŸ)
boolean member = true;
int price = 600;
int count = 15;
int total = price * count; // åèšéé¡ = 9000
if (member) { // äŒå¡ã®å Žå
if (total < 10000) {
println("éæ: 300å");
} else {
println("éæ: ç¡æ");
}
} else { // éäŒå¡ã®å Žå
if (total <= 12000) {
println("éæ: 500å");
} else {
println("éæ: 200å");
}
}
// åºå: éæ: 300å
éèŠ: ã€ã³ãã³ãã¯ã³ãŒãã®å¯èªæ§ãä¿ã€ããã«éåžžã«éèŠã§ããäžé©åãªã€ã³ãã³ãã¯æžç¹å¯Ÿè±¡ã«ãªãããšããããŸãããã®èšäºã®äŸã§ã¯ãåè§ã¹ããŒã¹2åã®ã€ã³ãã³ãã䜿çšããŠããŸãã
5. åŠçã®ç¹°ãè¿ãïŒã«ãŒã
åãåŠçãäœåºŠãç¹°ãè¿ãããå Žåã«äœ¿ãã®ããç¹°ãè¿ãïŒã«ãŒãïŒãã§ããProcessingã«ã¯äž»ã«while
æãšfor
æããããŸãã
while
æ
while
æã¯ãæå®ããæ¡ä»¶åŒïŒtest
ïŒãtrue
ã§ããéãããã®äžã«ããåŠçïŒstatements
ïŒãç¹°ãè¿ãå®è¡ããŸãã
// äŸ5-1: whileæã®åºæ¬
int i = 0;
while (i < 5) { // iã5æªæºã§ããéãç¹°ãè¿ã
println(i);
i++; // iã®å€ã1å¢ãã (ãããå¿ãããšç¡éã«ãŒãã«ãªã)
}
// åºå:
// 0
// 1
// 2
// 3
// 4
ç¡éã«ãŒãã«æ³šæïŒ while
æã®æ¡ä»¶åŒãåžžã«true
ã«ãªãããã«èšè¿°ããŠããŸããšãããã°ã©ã ãçµäºããªããªãããç¡éã«ãŒããã«é¥ããŸããç¹°ãè¿ãåŠçã®äžã§ãæ¡ä»¶åŒã«é¢ãã倿°ãé©åã«æŽæ°ããåŠçãå¿ããªãããã«ããŸãããã
// äŸ5-2: ç¡éã«ãŒã (æå³çã«é¿ããã¹ãã³ãŒã)
// int i = 0;
// while (i < 5) {
// println(i);
// // i++; ããªããããiã¯åžžã«0ã§ãi < 5ãåžžã«trueãšãªãç¡éã«ãŒã
// }
for
æ
for
æã¯ãåæååŠçïŒinit
ïŒãæ¡ä»¶åŒïŒtest
ïŒãæŽæ°åŠçïŒupdate
ïŒã®3ã€ã®èŠçŽ ã1è¡ã§èšè¿°ã§ããç¹°ãè¿ãåŠçã§ãã
// äŸ5-3: foræã®åºæ¬
for (int i = 0; i < 5; i++) { // iã0ã§åæåãiã5æªæºã§ããéãç¹°ãè¿ãã1åããšã«iã1å¢ãã
println(i);
}
// åºå:
// 0
// 1
// 2
// 3
// 4
for
æã¯ãç¹°ãè¿ãåæ°ãäºåã«åãã£ãŠããå Žåã«ç¹ã«é©ããŠããŸãã
while
æãšfor
æã®äœ¿ãåã
-
for
æ: ç¹°ãè¿ãã®åæ°ãäºåã«æããã§ããå Žåããã«ãŠã³ã¿å€æ°ã®åæåã»æŽæ°ãæç€ºçãªæ¹ããã¹ãã«ããå Žåã«é©ããŠããŸãã -
while
æ: ç¹°ãè¿ãã®åæ°ãäºåã«äžæãªå ŽåããæŽæ°åŠçãè€éã§æ¡ä»¶ã«ãã£ãŠç°ãªãå Žåã«æžããããã§ãã
ã©ã¡ãã®æãåããããªåŠçãå®çŸã§ããŸãããé©åãªæ¹ãéžæããããšã§ã³ãŒãã®å¯èªæ§ãã¡ã³ããã³ã¹æ§ãåäžããŸãã
å ¥ãåæ§é ã®ã«ãŒã
if
æãšåæ§ã«ãã«ãŒããå
¥ãåæ§é ã«ããããšãã§ããŸããäŸãã°ã2次å
ã®ãã¿ãŒã³ãæç»ããããä¹ä¹ã®è¡šãçæãããããã®ã«äŸ¿å©ã§ãã
// äŸ5-4: å
¥ãåæ§é ã®foræ (ä¹ä¹ã®è¡šã®äŸ)
for (int i = 1; i <= 9; i++) { // 段
for (int j = 1; j <= 9; j++) { // æ°
int x = i * j;
if (x < 10) { // æ¡ãæããããã«1æ¡ã®æ°åã®åã«ã¹ããŒã¹ã远å
print(" ");
}
print(x + " ");
}
println(); // 1段çµãã£ããæ¹è¡
}
// åºå:
// 1 2 3 4 5 6 7 8 9
// 2 4 6 8 10 12 14 16 18
// 3 6 9 12 15 18 21 24 27
// 4 8 12 16 20 24 28 32 36
// 5 10 15 20 25 30 35 40 45
// 6 12 18 24 30 36 42 48 54
// 7 14 21 28 35 42 49 56 63
// 8 16 24 32 40 48 56 64 72
// 9 18 27 36 45 54 63 72 81
é«åºŠãªä»£å ¥æŒç®åãšã€ã³ã¯ãªã¡ã³ã/ãã¯ãªã¡ã³ãæŒç®å
ã«ãŒãåŠçã§é »ç¹ã«å©çšãããã®ãã倿°ãžã®å æžä¹é€ãç°¡æœã«èšè¿°ã§ãããé«åºŠãªä»£å ¥æŒç®åããšãå€ã1墿žããããã€ã³ã¯ãªã¡ã³ã/ãã¯ãªã¡ã³ãæŒç®åãã§ãã
èšå· | 説æ |
---|---|
+= |
巊蟺ã«å³èŸºãå ç®ãä»£å ¥ |
-= |
巊蟺ã«å³èŸºãæžç®ãä»£å ¥ |
*= |
巊蟺ã«å³èŸºãä¹ç®ãä»£å ¥ |
/= |
巊蟺ã«å³èŸºãé€ç®ãä»£å ¥ |
++ |
倿°ã®å€ã1å¢ããïŒåŸçœ®ã®å Žåãæå®è¡åŸã«å¢ããïŒ |
-- |
倿°ã®å€ã1æžããïŒåŸçœ®ã®å Žåãæå®è¡åŸã«æžãïŒ |
// äŸ5-5: é«åºŠãªä»£å
¥æŒç®åãšã€ã³ã¯ãªã¡ã³ã/ãã¯ãªã¡ã³ã
int a = 10;
a += 5; // a = a + 5; ãšåã -> aã¯15
println("a: " + a);
int b = 20;
b -= 3; // b = b - 3; ãšåã -> bã¯17
println("b: " + b);
int c = 2;
c *= 4; // c = c * 4; ãšåã -> cã¯8
println("c: " + c);
int d = 10;
d /= 2; // d = d / 2; ãšåã -> dã¯5
println("d: " + d);
int x = 5;
println("x++ (åŸçœ®ã€ã³ã¯ãªã¡ã³ã): " + (x++)); // 5ã衚瀺ããããã®åŸxã6ã«ãªã
println("xã®å€: " + x);
int y = 5;
println("++y (å眮ã€ã³ã¯ãªã¡ã³ã): " + (++y)); // yã6ã«ãªãããã®åŸ6ã衚瀺ããã
println("yã®å€: " + y);
// åºå:
// a: 15
// b: 17
// c: 8
// d: 5
// x++ (åŸçœ®ã€ã³ã¯ãªã¡ã³ã): 5
// xã®å€: 6
// ++y (å眮ã€ã³ã¯ãªã¡ã³ã): 6
// yã®å€: 6
6. ããŒã¿ã®éåïŒé å
ãããŸã§ã®å€æ°ã§ã¯ãäžã€ã®ç®±ã«äžã€ã®ããŒã¿ããæ ŒçŽã§ããŸããã§ããã倧éã®äŒŒããããªããŒã¿ãæ±ãããå Žåãäžã€äžã€å€æ°ãçšæããã®ã¯éå¹ççã§ããããã§ç»å Žããã®ããé åãã§ãã
é åã¯ãåãåã®è€æ°ã®ããŒã¿ã1ã€ã®éåãšããŠæ±ãããšãã§ããããŒã¿æ§é ã§ããéåå ã®åããŒã¿ã¯ãæ·»åïŒã€ã³ããã¯ã¹ïŒãšåŒã°ããçªå·ã§åºå¥ããŸããæ·»åã¯0ããå§ãŸããŸãã
é åã®å®£èšãšåæå
é åã®å®£è𿹿³ã¯äž»ã«2ã€ãããŸãã
-
èŠçŽ æ°ã®ã¿ãæå®ããŠå®£èš: åèŠçŽ ã¯ããã©ã«ãå€ã§åæåãããŸãã
datatype[] array = new datatype[length];
-
datatype
:int
,float
,String
ãªã©ã®åã -
length
: é åã«æ ŒçŽã§ããããŒã¿ã®æ°ã
// äŸ6-1: èŠçŽ æ°ã®ã¿ãæå®ããŠå®£èš int[] scores = new int; // intåã®èŠçŽ 5ååã®é å // scoresã®å 容: {0, 0, 0, 0, 0} (intã®ããã©ã«ãå€ã¯0) scores = 85; scores = 92; println(scores); // æ·»å0ã®èŠçŽ ãåç § -> åºå: 85
-
-
åæå€ãæå®ããŠå®£èš: æ³¢æ¬åŒ§
{}
ã§å²ãã§åæå€ãæå®ããŸããdatatype[] array = {value_1, ..., value_n};
// äŸ6-2: åæå€ãæå®ããŠå®£èš String[] fruits = {"Apple", "Banana", "Cherry"}; // fruitsã®å 容: {"Apple", "Banana", "Cherry"} println(fruits); // åºå: Apple println(fruits); // åºå: Cherry
é
åã®èŠçŽ æ°ïŒé
åé·ïŒã¯ãarray.length
ã§ååŸã§ããŸãã
é åã®èµ°æ»
é åã®åèŠçŽ ã«é çªã«ã¢ã¯ã»ã¹ããæäœããèµ°æ»ïŒãã©ããŒãµã«ïŒããšåŒã³ãŸããã«ãŒãã䜿ããšãé åã®å šèŠçŽ ãžã®ã¢ã¯ã»ã¹ã容æã«ãªããŸãã
// äŸ6-3: é
åã®å
šèŠçŽ èµ°æ» (é æ¹å)
int[] data = {10, 20, 30, 40, 50};
for (int i = 0; i < data.length; i++) {
print(data[i] + " ");
}
println(); // åºå: 10 20 30 40 50
// äŸ6-4: é
åã®å
šèŠçŽ èµ°æ» (éæ¹å)
int[] data = {10, 20, 30, 40, 50};
for (int i = data.length - 1; i >= 0; i--) { // æ«å°Ÿããå
é ãž
print(data[i] + " ");
}
println(); // åºå: 50 40 30 20 10
ç¹å®ã®ç¯å²ã1ã€ããã®èŠçŽ ãèµ°æ»ããããšãå¯èœã§ãã
// äŸ6-5: é
åã®äžéšèŠçŽ èµ°æ» (åå - äžå€®èŠçŽ ãå«ã)
int[] data = {10, 20, 30, 40, 50, 60, 70, 80, 90}; // èŠçŽ æ°9 (奿°)
// data.length / 2 㯠9 / 2 = 4 (æŽæ°é€ç®)
// <= data.length / 2 ãšããããšã§äžå€®ã®èŠçŽ (data=50)ãå«ã
for (int i = 0; i <= data.length / 2; i++) {
print(data[i] + " ");
}
println(); // åºå: 10 20 30 40 50
// äŸ6-6: é
åã®äžéšèŠçŽ èµ°æ» (1ã€ãã)
String[] messages = {"Nihon", "Japan", "University", "School", "CHS", "Bunri"};
for (int i = 0; i < messages.length; i += 2) { // 2ã€ãã€ã€ã³ã¯ãªã¡ã³ã
print(messages[i] + " ");
}
println(); // åºå: Nihon University CHS
é åèŠçŽ ã®æäœ
é åã®èŠçŽ ãå ¥ãæ¿ããããæ¿å ¥ãããããããšãã§ããŸãã
-
èŠçŽ ã®å ¥ãæ¿ã: 2ã€ã®èŠçŽ ãå ¥ãæ¿ããã«ã¯ãäžæçã«å€ãéé¿ãããããã®ãããã¡å€æ°ãå¿ èŠã§ãã
// äŸ6-7: èŠçŽ ã®å ¥ãæ¿ã int[] data = {10, 20, 30, 40, 50}; int buffer; // dataãšdataãå ¥ãæ¿ãã buffer = data; // data (10) ãbufferã«éé¿ data = data; // dataã«data (20) ãä»£å ¥ -> dataã¯{20, 20, 30, 40, 50} data = buffer; // dataã«buffer (10) ãä»£å ¥ -> dataã¯{20, 10, 30, 40, 50} for (int i = 0; i < data.length; i++) { print(data[i] + " "); } println(); // åºå: 20 10 30 40 50
-
èŠçŽ é ã®å転: ãããã¡å€æ°ã䜿ã£ãèŠçŽ ã®å ¥ãæ¿ããå¿çšãããšãé åã®èŠçŽ é ãå転ãããããšãã§ããŸããé åã®ååãŸã§ãèµ°æ»ãã察称äœçœ®ã«ããèŠçŽ å士ãå ¥ãæ¿ããŸãã
// äŸ6-8: èŠçŽ é ã®å転 String[] strs = {"to", "have", "you", "before", "Change"}; String buffer; for (int i = 0; i < strs.length / 2; i++) { // é åã®ååãŸã§èµ°æ» buffer = strs[i]; strs[i] = strs[strs.length - 1 - i]; // strs.length - 1 - i ã§å¯Ÿç§°äœçœ®ã®æ·»åãèšç® strs[strs.length - 1 - i] = buffer; } for (int i = 0; i < strs.length; i++) { print(strs[i] + " "); } println(); // åºå: Change before you have to
-
èŠçŽ ã®æ¿å ¥: é åã®éäžã«æ°ããèŠçŽ ãæ¿å ¥ããã«ã¯ãæ¢åã®èŠçŽ ããããå¿ èŠããããŸãã
// äŸ6-9: èŠçŽ ã®æ¿å ¥ (å é ãã2çªç®ã®äœçœ®ã«æ¿å ¥ããæ«å°ŸèŠçŽ ãåé€) int[] data = {10, 20, 30, 40, 50, 60, 70, 80, 90}; // èŠçŽ æ°9 int targetPos = 2; // æ¿å ¥ãããäœçœ® (dataã®äœçœ®) int newData = 1000; // æ¿å ¥ãããæ°ããããŒã¿ // æ¿å ¥äœçœ®ããåŸã®èŠçŽ ã1ã€ãã€åŸãã«ããã // data.length - 1 (data=90) ãã targetPos + 1 (data=40) ãŸã§éé ã«ããã for (int i = data.length - 1; i >= targetPos + 1; i--) { data[i] = data[i - 1]; } data[targetPos] = newData; // æå®äœçœ®ã«æ°ããããŒã¿ãä»£å ¥ for (int i = 0; i < data.length; i++) { print(data[i] + " "); } println(); // åºå: 10 20 1000 30 40 50 60 70 80 // å ã®90ãåé€ããã圢ã«ãªã
ç¹å®ããŒã¿ã®æ€çŽ¢
é åã®äžãããç¹å®ã®å€ãæã€ããŒã¿ãæ¢ãããšããæ€çŽ¢ããšåŒã³ãŸãã
-
ç·åœ¢æ¢çŽ¢: é åã®å é ããé çªã«ãç®çã®ããŒã¿ãšåèŠçŽ ãæ¯èŒããŠããæãåºæ¬çãªæ¹æ³ã§ãã
// äŸ6-10: ç·åœ¢æ¢çŽ¢ (æåã«ç»å Žããäœçœ®) int[] data = {10, 20, 30, 40, 50, 60, 40, 50, 50, 60}; int target = 40; int i = 0; // æ·»åãé åç¯å²å ã§ããããã€ãdata[i]ãtargetãšçãããªãéãç¹°ãè¿ã while (i < data.length && data[i] != target) { i++; } if (i < data.length) { // èŠã€ãã£ãå Žå println(target + "ã¯æ·»å" + i + "ã«ãããŸãã"); } else { // èŠã€ãããªãã£ãå Žå println(target + "ã¯èŠã€ãããŸããã§ããã"); } // åºå: 40ã¯æ·»å3ã«ãããŸãã
-
ç¹å®ããŒã¿ã®åºçŸåæ°ãæ°ãã:
for
æã䜿ã£ãŠé åå šäœãèµ°æ»ããæ¡ä»¶ã«åãèŠçŽ ãèŠã€ãããã³ã«ã«ãŠã³ã¿ãå¢ãããŸãã// äŸ6-11: ç¹å®ããŒã¿ã®åºçŸåæ°ãæ°ãã int[] data = {10, 20, 30, 40, 50, 60, 40, 50, 50, 60}; int target = 50; int count = 0; for (int i = 0; i < data.length; i++) { if (data[i] == target) { count++; } } println(target + "ã¯" + count + "ååºçŸããŸãã"); // åºå: 50ã¯3ååºçŸããŸãã
7. æç»ãšã¢ãã¡ãŒã·ã§ã³
Processingã®å€§ããªé åã¯ãç°¡åãªã³ãŒãã§å³åœ¢ãæç»ããããã¢ãã¡ãŒã·ã§ã³ãå®çŸãããã§ããç¹ã§ãã
Windowãšåº§æšç³»
-
size(w, h);
: æç»é åïŒWindowïŒã®å¹ ïŒw
ïŒãšé«ãïŒh
ïŒããã¯ã»ã«åäœã§æå®ããŸãã - 座æšç³»: Windowã®å·Šäžãåç¹
(0, 0)
ã§ããx軞ã¯å³æ¹åãy軞ã¯äžæ¹åãæ£ã®æ¹åã«ãªããŸãã -
width
,height
: Processingãèªåçã«Windowã®å¹ ãšé«ããä¿æãã倿°ã§ãã
åºæ¬å³åœ¢ã®æç»
-
ellipse(x, y, w, h);
: äžå¿åº§æš(x, y)
ãå¹w
ãé«ãh
ã®æ¥åãæç»ããŸããw
ãšh
ãåãã«ãããšåã«ãªããŸãã -
rect(x, y, w, h);
: å·Šäžé ç¹åº§æš(x, y)
ãå¹w
ãé«ãh
ã®é·æ¹åœ¢ãæç»ããŸããw
ãšh
ãåãã«ãããšæ£æ¹åœ¢ã«ãªããŸãã -
line(x1, y1, x2, y2);
: 2ç¹(x1, y1)
ãš(x2, y2)
ãçµã¶ç·åãæç»ããŸãã -
triangle(x1, y1, x2, y2, x3, y3);
: 3ç¹(x1, y1)
,(x2, y2)
,(x3, y3)
ãçµã¶äžè§åœ¢ãæç»ããŸãã
è²ã®æå®
-
color(r, g, b);
: èµ€ïŒRïŒãç·ïŒGïŒãéïŒBïŒã®åæåïŒ0ã255ïŒãæå®ããŠè²ãäœæããŸãã -
background(color);
: Windowã®èæ¯è²ãæå®ããŸãã -
fill(color);
: å³åœ¢ã®å åŽã®å¡ãè²ãæå®ããŸãã -
stroke(color);
: å³åœ¢ã®èŒªéç·ã®è²ãæå®ããŸãã -
noStroke();
: å³åœ¢ã®èŒªéç·ã衚瀺ããªãããã«ããŸãã
äžåºŠæå®ããè²ã¯ãæ°ãã«æå®ãããŸã§æå¹ã§ãã
// äŸ7-1: åºæ¬å³åœ¢ãšè²ã®æç»
void setup() {
size(600, 400); // Windowãµã€ãºãèšå®
noLoop(); // draw()ã1åã ãå®è¡ãã (ã¢ãã¡ãŒã·ã§ã³ããªãå Žå)
}
void draw() {
// èæ¯è²ãé»ã«èšå®
background(color(0, 0, 0));
// ç·è²ã®åãæç»
fill(color(0, 255, 0)); // å¡ãè²ãç·ã«èšå®
ellipse(width / 4, height / 2, 100, 100); // Windowå·Šååã«å
// éè²ã®åè§åœ¢ãæç»
fill(color(0, 0, 255)); // å¡ãè²ãéã«èšå®
rect(width / 2, height / 4, 100, 100); // Windowå³äžã«åè§åœ¢
// 茪éç·ã®ããèµ€ãäžè§åœ¢
stroke(color(255, 0, 0)); // 茪éç·ãèµ€ã«èšå®
strokeWeight(5); // 茪éç·ã®å€ªãã5ã«èšå®
fill(color(255, 255, 0)); // å¡ãè²ãé»è²ã«èšå®
triangle(width * 3 / 4, height * 3 / 4, width * 3 / 4 + 50, height * 3 / 4 - 100, width * 3 / 4 + 100, height * 3 / 4);
}
倿°ãçšããæç»
æç»ã«ãããŠã倿°ãçšããããšã¯éèŠã§ããç¹ã«ããªããžã§ã¯ãã®äœçœ®ã管çããéã«ãåºæºç¹ã倿°ã§å®çŸ©ãããšãå šäœã®ç§»åã容æã«ãªããŸãã
// äŸ7-2: 倿°ã䜿ã£ãå®¶ã®æç»
int houseX = 200; // å®¶ã®åºæºç¹X
int houseY = 300; // å®¶ã®åºæºç¹Y
void setup() {
size(800, 600);
noLoop();
}
void draw() {
background(255, 255, 255); // çœãèæ¯
// 屿 ¹
fill(color(200, 50, 50));
triangle(houseX + 200, houseY - 100, houseX, houseY, houseX + 400, houseY);
// å£
fill(color(150, 75, 0));
rect(houseX, houseY, 400, 200);
// çª
fill(color(50, 50, 200));
ellipse(houseX + 50, houseY + 50, 50, 50);
ellipse(houseX + 150, houseY + 50, 50, 50);
// ãã¢
fill(color(200, 200, 0));
rect(houseX + 300, houseY + 100, 50, 100);
}
houseX
ãhouseY
ã®å€ã倿ŽããŠå®è¡ããŠã¿ãŠãã ãããå®¶å
šäœãç§»åããã®ã確èªã§ããã§ãããã
ã¢ãã¡ãŒã·ã§ã³ã®å®çŸ
ã¢ãã¡ãŒã·ã§ã³ã¯ãè€æ°ã®éæ¢ç»ãé£ç¶ããŠè¡šç€ºããããšã§ãæç»å¯Ÿè±¡ãåããŠããããã«èŠããææ³ã§ããProcessingã§ã¯ããActiveã¢ãŒãããšããç¹å¥ãªã¢ãŒãã䜿ããŸãã
-
setup()
颿°: ããã°ã©ã å®è¡çŽåŸã«1åã ãå®è¡ãããŸããWindowã®èšå®ãåæåãªã©ãäžåºŠã ãè¡ãæºååŠçãèšè¿°ããŸãã -
draw()
颿°:setup()
ã®åŸã«ãæåã§çµäºãããŸã§æ°žé ã«ç¹°ãè¿ããŠå®è¡ãããŸããã¢ãã¡ãŒã·ã§ã³ã®åãã¬ãŒã ããšã®æç»åŠçãèšè¿°ããŸãã
// äŸ7-3: ããŒã«ã®ç§»åã¢ãã¡ãŒã·ã§ã³
int ballX; // ããŒã«ã®äžå¿x座æš
int ballY; // ããŒã«ã®äžå¿y座æš
int ballD = 50; // ããŒã«ã®çŽåŸ
int xStep = 5; // xæ¹åã®ç§»åé
int yStep = 3; // yæ¹åã®ç§»åé
void setup() {
size(800, 600);
ballX = width / 2; // åæäœçœ®ãWindowäžå€®ã«èšå®
ballY = height / 2;
}
void draw() {
background(0); // èæ¯ãé»ã§ã¯ãªã¢ (åã®ãã¬ãŒã ãæ¶ã)
// ããŒã«ã®æç»
ellipse(ballX, ballY, ballD, ballD);
// ããŒã«ã®äœçœ®ãæŽæ°
ballX += xStep;
ballY += yStep;
// ããŒã«ãWindowã®ç«¯ã«å°éãããè·³ãè¿ã
// x軞æ¹åã®è·³ãè¿ã (ããŒã«å
šäœãWindowå
ã«åãŸãããã«)
if (ballX < ballD / 2 || ballX > width - ballD / 2) {
xStep *= -1; // ç§»åæ¹åãå転
}
// y軞æ¹åã®è·³ãè¿ã (ããŒã«å
šäœãWindowå
ã«åãŸãããã«)
if (ballY < ballD / 2 || ballY > height - ballD / 2) {
yStep *= -1; // ç§»åæ¹åãå転
}
}
ãã®ã³ãŒããå®è¡ãããšãããŒã«ãWindowã®ç«¯ã§è·³ãè¿ããªããåãç¶ããã¢ãã¡ãŒã·ã§ã³ãå®çŸã§ããŸããdraw()
颿°ãç¹°ãè¿ãå®è¡ãããããšã§ãããŒã«ã®äœçœ®ãå°ããã€æŽæ°ããããããé£ç¶ããåãã«èŠããã®ã§ãã
ã€ã³ã¿ã©ã¯ãã£ãã¢ãã¡ãŒã·ã§ã³
ãŠãŒã¶ãŒã®æäœïŒããŠã¹ã®åããªã©ïŒã«å¿ããŠåããå€ãããã€ã³ã¿ã©ã¯ãã£ãã¢ãã¡ãŒã·ã§ã³ããå®çŸã§ããŸãã
-
mouseX
,mouseY
: ããŠã¹ãã€ã³ã¿ã®çŸåšã®x座æšãšy座æšãä¿æãã倿°ã§ãã -
dist(x1, y1, x2, y2);
: 2ç¹éã®è·é¢ãèšç®ãã颿°ã§ãã
// äŸ7-4: ããŠã¹ãã€ã³ã¿ãšé£åããå
void setup() {
size(600, 400);
}
void draw() {
background(220); // èãç°è²ã§èæ¯ãã¯ãªã¢
float circleX = width / 2;
float circleY = height / 2;
float circleDiameter = 100;
// ããŠã¹ãã€ã³ã¿ãåã®å
éšã«ãããå€å®
// dist()ã§ããŠã¹ãã€ã³ã¿ããåã®äžå¿ãŸã§ã®è·é¢ãèšç®ããååŸãšæ¯èŒ
if (dist(mouseX, mouseY, circleX, circleY) < circleDiameter / 2) {
fill(255, 0, 0); // åã®å
éšã«ããã°èµ€
} else {
fill(0, 0, 255); // ãªããã°é
}
ellipse(circleX, circleY, circleDiameter, circleDiameter);
}
ãã®ã³ãŒããå®è¡ããããŠã¹ãåã®äžã«ä¹ãããå€ãããããŠã¿ãŠãã ãããåã®è²ãå€ããã®ã確èªã§ããã§ãããã
æåŸã«ïŒå®è·µããã®ã¿
ãã®èšäºã®å°éç®æšã¯ãããã°ã©ãã³ã°èœåãšè«ççæèèœåã®ç¿åŸã§ãã
ãŸãã¯å®è·µãšããŠã³ãããåçµããããŠã¢ã¬ã³ãžãå ããŠã¿ãŸãããã
Discussion