Slide 1

Slide 1 text

6TFT$GPS$SPTT 1MBUGPSNJ04BOE "OESPJE%FWFMPQNFOU 2015/08/29 @__chocomelon

Slide 2

Slide 2 text

Ϟνϕʔγϣϯ w J04΋"OESPJE࡞Γ͍ͨ w ಉ͡ϩδοΫॻ͘ͷ͕ΊΜͲ͍

Slide 3

Slide 3 text

஌Βͳ͍ਓͷͨΊʹ ͓͞Β͍

Slide 4

Slide 4 text

DDBMMGSPN4XJGU w 4XJGU͔Β͸௚઀ݺ΂ͳ͍ w 4XJGU0CKFDUJWF$ NN DͰݺͿ w ͪΐͬͱΊΜͲ͍͘͞

Slide 5

Slide 5 text

)FMMP8SBQQJOHTXJGU extension Hello { class func hello() { Hello.helloFromNative() } } )FMMPNN @implementation Hello + (void)helloFromNative { return Hello::hello(); } @end )FMMPDQQ void Hello::hello() { printf("Hello"); }

Slide 6

Slide 6 text

DDBMMGSPN+BWB w "OESPJE4UVEJP(SBEMFͰ TVQQPSU w /%,Λ࢖ͬͯDΛݺͿ w +/*ͳͷͰDͷίʔυΛ+/*Ͱѻ͑Δܗʹ͢Δ ඞཁ͕͋Δʢ'VDLʣ w ͍ͩͿΊΜͲ͍͘͞

Slide 7

Slide 7 text

)FMMPKBWB public class Hello {
 
 public static String hello() {
 return helloFromJNI();
 }
 
 public static native String helloFromJNI();
 
 static {
 System.loadLibrary("Hello-JNI");
 }
 } )FMMP+/*DQQ #include 
 
 extern "C" {
 JNIEXPORT jstring Java_com_example_hellojni_Utils_stringFromJNI(JNIEnv *env, jobject thiz) {
 return env->NewStringUTF("Hello from JNI!");
 }
 }

Slide 8

Slide 8 text

ࠔͬͨ͜ͱ w DͰѻ͑ΔΑ͏ʹUZQFΛௐ੔ w ྫ͑͹4XJGUͷ*OU͸CJU؀ڥͰ͸*OUɺ CJUͰ͸*OUʹͳΔͷͰ*OUʹͯ͠౉͢ w ྫ͑͹Dͩͱଟ࣍ݩ഑ྻͷѻ͍͕೉͍͠ͷͰ ࣍ݩ഑ྻʹ௚ͨ͠Γ

Slide 9

Slide 9 text

࣮ࡍͷίʔυྫ J04ฤ

Slide 10

Slide 10 text

-PHJD6UJMT8SBQQJOHTXJGU extension LogicUtil { class func isStep(map: [[Int32]], characterPoint: Point, direction: Direction) -> Bool { let numberOfSquares: Int = map.count let charaIndex: Int = characterPoint.x + characterPoint.y * numberOfSquares var mapIntArray: [Int32] = [] for y in 0..(mapIntArray), numOfSquares: Int32(numberOfSquares), charaIndex: Int32(charaIndex), direction: Int32(direction.rawValue)) } }

Slide 11

Slide 11 text

-PHJD6UJMT8SBQQJOHTXJGU extension LogicUtil { class func isStep(map: [[Int32]], characterPoint: Point, direction: Direction) -> Bool { let numberOfSquares: Int = map.count let charaIndex: Int = characterPoint.x + characterPoint.y * numberOfSquares var mapIntArray: [Int32] = [] for y in 0..(mapIntArray), numOfSquares: Int32(numberOfSquares), charaIndex: Int32(charaIndex), direction: Int32(direction.rawValue)) } }

Slide 12

Slide 12 text

-PHJD6UJMTNN + (bool)isStep:(int[])map numOfSquares:(int)numOfSquares charaIndex: (int)charaIndex direction:(int)direction { return Logic::isStepToDirection(map, numOfSquares, charaIndex, direction); }

Slide 13

Slide 13 text

ΊΜͲ͍

Slide 14

Slide 14 text

͞Βʹࠔͬͨ͜ͱ w "OESPJEଆ͕+/*ͳͷͰDͷίʔυΛ+/*Ͱѻ ͑Δܗʹ͢Δඞཁ͕͋ͬͯͦͷ··D࢖͑ͳ͍ w ຐ๏εΫϦϓτΛॻ͍ͯࣗಈੜ੒ʁ w "OESPJE+/"4XJH+/*ʁ

Slide 15

Slide 15 text

ݫ͍͠

Slide 16

Slide 16 text

·ͱΊ w ͪΐͼͬͱͷ-PHJDڞ௨ԽͷͨΊʹD࢖͏ͷ͸ ϊʔνϟϯ w ͋͘·Ͱڞ௨Խ͢Δͷ͸ָ͢Δͷϝϯςφϯεੑ ޲্ͷͨΊɺࠓճͷέʔεͰ͸ഁ୼͍ͯ͠Δɻ w ΋ͬͱؾܰʹ΍Βͤͯཉ͍͠

Slide 17

Slide 17 text

ࠓޙ w DPDPTEYͱ͔6OJUZࢼ͍ͨ͠ w ͱ΋͍͑ɺDPDPTEYͱ͔6OJUZ͸୯ಠͷ*%&։ ൃʹͳΔ͔ΒήʔϜدΓʹͳͬͯ͠·͏ʢϩδο Ϋ͚ͩDͰڞ௨Խͱ͍͏༻్ʹ͸࢖͑ͳ͍ʣ w ۀ຿తʹ΋஌ݟ͕ଟ͍͜ͱ͕͍ͨ͠ w ͳͷͰࢼͯ͠͸Έ͍͕ͨϞνϕʔγϣϯ௿Ί