{"id":480,"date":"2019-06-24T00:35:28","date_gmt":"2019-06-23T15:35:28","guid":{"rendered":"https:\/\/dalomo.net\/blog\/?p=480"},"modified":"2019-06-24T00:35:28","modified_gmt":"2019-06-23T15:35:28","slug":"%e3%81%98%e3%82%83%e3%82%93%e3%81%91%e3%82%93%e3%82%a2%e3%83%97%e3%83%aa-rps-101%e3%82%92%e5%ae%9f%e8%a3%85%e3%81%97%e3%81%9f%e3%81%84","status":"publish","type":"post","link":"https:\/\/dalomo.net\/blog\/2019\/06\/24\/480\/","title":{"rendered":"\u3058\u3083\u3093\u3051\u3093\u30a2\u30d7\u30ea RPS-101\u3092\u5b9f\u88c5\u3057\u305f\u3044"},"content":{"rendered":"<h1>RPS-101 101\u624b\u3042\u308b\u3058\u3083\u3093\u3051\u3093<\/h1>\n<p><a href=\"https:\/\/dalomo.net\/blog\/2019\/05\/30\/464\/\">https:\/\/dalomo.net\/blog\/2019\/05\/30\/464\/<\/a><\/p>\n<p>\u306e\u7d9a\u304d\u3002<\/p>\n<h2>\u3082\u3046\u3061\u3087\u3063\u3068\u6574\u5f62\u3059\u308b\u3093\u3058\u3083<\/h2>\n<p>\u3044\u304f\u3064\u304b\u8abf\u3079\u3066\u307f\u305f\u3068\u3053\u308d\u3001Java\u306b\u306fMap\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308b\u307f\u305f\u3044\u3002\u9023\u60f3\u914d\u5217\u3063\u3066\u3044\u3046\u307f\u305f\u3044\u3002\u4ed6\u306bList \u3063\u3066\u3044\u3046\u306e\u3082\u3042\u308b\u3002\u3053\u306e\u524d\u306e\u8868\u3092\u3082\u3046\u3061\u3087\u3044\u6574\u5f62\u3057\u3066\u3001csv\u3068\u304b\u306b\u3057\u3066AndroidStudio\u3067\u8aad\u307f\u8fbc\u3093\u3067\u3084\u308c\u3070\u6271\u3048\u305d\u3046\u3002\u591a\u6b21\u5143\u914d\u5217\u3067\u3082\u3044\u3044\u3093\u304b\u306a\u3002\u4f8b\u3048\u3070<\/p>\n<pre class=\"java\">ResultSentence[1][2] = \"OUTCLASSES TORNADO\"\r\nResultSentence[1][3] = \"CLEARS QUICKSAND\"\r\n\u2026\r\nResultSentence[101][50] = \"FLIES OVER SPIDER\"<\/pre>\n<p>\u307f\u305f\u3044\u306a?\u3046\u30fc\u3093\u3002Map\u4f7f\u3063\u305f\u3053\u3068\u306a\u3044\u304b\u3089\u4f7f\u3063\u3066\u307f\u305f\u3044\u306a\u3002\u3068\u3044\u3046\u3053\u3068\u3067\u3001<\/p>\n<pre class=\"VBA\">Sub setno()\r\n\r\n    For i = 101 To 1 Step -1\r\n    \r\n        Columns(i).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove\r\n    \r\n        For j = 2 To 51\r\n        \r\n            Dim hand As Long\r\n        \r\n            If j + i - 1 &gt; 101 Then\r\n                hand = j + i - 102\r\n            Else\r\n                hand = j + i - 1\r\n            End If\r\n            \r\n            Cells(j, i).Value = CStr(i) &amp; \"_\" &amp; CStr(hand)\r\n            \r\n        Next j\r\n\r\n    Next i\r\n    \r\nEnd Sub<\/pre>\n<p>\u3053\u3093\u306a\u3093\u3068\u3001<\/p>\n<pre class=\"VBA\">Sub move()\r\n\r\n    For i = 3 To 201 Step 2\r\n        rc = Cells(Rows.Count, 1).End(xlUp).Row\r\n        \r\n        Range(Cells(1, i), Cells(50, i + 1)).Copy Range(\"A\" &amp; rc + 1)\r\n        Range(Cells(1, i), Cells(50, i + 1)).ClearContents\r\n    Next i\r\n\r\nEnd Sub<\/pre>\n<p>\u3053\u3093\u306a\u3093\u66f8\u3044\u3066\u3001\u30ab\u30f3\u30de\u533a\u5207\u308acsv\u3067\u51fa\u529b\u3057\u3066\u3001<\/p>\n<p><a href=\"https:\/\/dalomo.net\/blog\/files\/ResultSentence.csv\">https:\/\/dalomo.net\/blog\/files\/ResultSentence.csv<\/a><\/p>\n<p>\u3053\u3093\u306a\u3093\u3067\u304d\u307e\u3057\u305f\u3002\u3064\u3044\u3067\u306b<\/p>\n<p><a href=\"https:\/\/dalomo.net\/blog\/files\/Hands.csv\">https:\/\/dalomo.net\/blog\/files\/Hands.csv<\/a><\/p>\n<p>\u51fa\u3057\u624b\u306e\u30de\u30b9\u30bf\u3082\u4f5c\u3063\u305f\u3002<\/p>\n<p>\u30b3\u30fc\u30c9\u306b\u66f8\u3044\u3066\u306a\u3044\u3051\u3069\u3001Trim\u3067\u6d88\u3048\u306a\u3044\u30b9\u30da\u30fc\u30b9\u3068\u30bb\u30eb\u4e0a\u3067\u898b\u3048\u306a\u3044\u6539\u884c\u306b\u60a9\u307e\u3055\u308c\u305f\u3002Chr(13)\u3068Chr(32)\u3068ChrW(160)\u3042\u305f\u308a\u3092Replace\u3059\u308b\u3093\u3084\u3002<\/p>\n<h3>\u53c2\u8003<\/h3>\n<p><a href=\"https:\/\/thom.hateblo.jp\/entry\/2016\/09\/20\/150650\">https:\/\/thom.hateblo.jp\/entry\/2016\/09\/20\/150650<\/a><\/p>\n<p><a href=\"https:\/\/www.lifedesignedit.com\/note\/remove_white-space_in_vba\">https:\/\/www.lifedesignedit.com\/note\/remove_white-space_in_vba<\/a><\/p>\n<h2>CSV\u306e\u8aad\u307f\u8fbc\u307f<\/h2>\n<pre>public Map CSV2Map(String TargetCSV) {\r\n    Map&lt;String, String&gt; map = new HashMap&lt;&gt;();\r\n\r\n    try {\r\n        InputStream inputStreamResult = getResources().getAssets().open(TargetCSV);\r\n        InputStreamReader inputStreamReader = new InputStreamReader(inputStreamResult);\r\n        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);\r\n\r\n        String line;\r\n        while ((line = bufferedReader.readLine()) != null) {\r\n            String[] strArray = line.split(\",\");\r\n            map.put(strArray[0], strArray[1]);\r\n        }\r\n\r\n    } catch (IOException e) {\r\n        e.printStackTrace();\r\n    }\r\n\r\n    return map;\r\n}<\/pre>\n<pre>ResultSentence = CSV2Map(\"ResultSentence.csv\");<\/pre>\n<p>\u3053\u3093\u306a\u30b3\u30fc\u30c9\u3092\u66f8\u3044\u3066\u3001csv\u304b\u3089Map\u306b\u683c\u7d0d\u3059\u308b\u3002\u3053\u308c\u305d\u3046\u3044\u3048\u3070json\u8aad\u307f\u8fbc\u3080\u6642\u306b\u3084\u3063\u305f\u306a\u3002\u5fd8\u308c\u3066\u308b\u306a\u30fc\u3002<\/p>\n<h3>\u53c2\u8003<\/h3>\n<p><a href=\"https:\/\/qiita.com\/atsuk0r0\/items\/8d6e4b57821817b65bd0\">https:\/\/qiita.com\/atsuk0r0\/items\/8d6e4b57821817b65bd0<\/a><\/p>\n<p><a href=\"https:\/\/www.programming-shimomura.com\/2017\/06\/23\/%E3%80%90android%E3%80%91csv%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%81%AE%E5%AE%9F%E8%A3%85%EF%BC%88%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E4%BB%98%E3%81%8D%EF%BC%89\/\">https:\/\/www.programming-shimomura.com\/2017\/06\/23\/%E3%80%90android%E3%80%91csv%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%81%AE%E5%AE%9F%E8%A3%85%EF%BC%88%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E4%BB%98%E3%81%8D%EF%BC%89\/<\/a><\/p>\n<p><a href=\"https:\/\/www.autumn-color.com\/archives\/1506\">https:\/\/www.autumn-color.com\/archives\/1506<\/a><\/p>\n<p><a href=\"https:\/\/docs.oracle.com\/javase\/jp\/8\/docs\/api\/java\/util\/StringTokenizer.html\">https:\/\/docs.oracle.com\/javase\/jp\/8\/docs\/api\/java\/util\/StringTokenizer.html<\/a><\/p>\n<p><a href=\"http:\/\/java-code.jp\/799\">http:\/\/java-code.jp\/799<\/a><\/p>\n<h2>\u8aad\u307f\u8fbc\u3093\u3060CSV\u3092Spinner\u306b\u30bb\u30c3\u30c8\u3059\u308b<\/h2>\n<p>\u624b\u6570\u5206\u30dc\u30bf\u30f3\u3092\u8a2d\u7f6e\u3059\u308b\u308f\u3051\u306b\u3044\u304b\u3093\u306e\u3067\u3001\u306a\u3093\u304b\u306a\u3044\u304b\u306a\u30fc\u3068\u8abf\u3079\u3066\u307f\u305f\u3089Spinner\u3068\u3044\u3046\u306e\u304c\u3042\u3063\u305f\u3002\u30c9\u30ed\u30c3\u30d7\u30c0\u30a6\u30f3\u30ea\u30b9\u30c8\u307f\u305f\u3044\u306a\u3082\u3093\u307f\u305f\u3044\u3002\u3068\u3053\u308d\u304c\u3001Spinner\u3092\u4f5c\u6210\u3059\u308b\u6642\u306b\u306fAdapter\u304c\u5fc5\u8981\u306a\u3093\u3060\u3051\u3069\u3001Adapter\u306fResource\u306b\u914d\u5217\u304b\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30af\u30a8\u30ea\u304b\u3067\u3001\u914d\u5217\u306e\u5834\u5408List\u304b\u6587\u5b57\u5217Resource(String.xml\u3068\u304b)\u3067\u306a\u3044\u3068\u99c4\u76ee\u3063\u307d\u3044\u3002\u306a\u3093\u3060\u3068\u2026\u3002\u3053\u3053\u3089\u8fba\u3088\u304f\u5206\u304b\u3063\u3066\u306a\u3044\u3002.createFromResource\u3060\u3068\u99c4\u76ee\u3067\u3001.Add\u3059\u308b\u5206\u306b\u306f\u5927\u4e08\u592b\u306a\u306e\u304b\u306a\u3002\u8a66\u3057\u306b\u3068\u308a\u3042\u3048\u305a\u66f8\u3044\u3066\u307f\u305f\u3051\u3069<\/p>\n<pre>@Override\r\nprotected void onCreate(Bundle savedInstanceState) {\r\n    super.onCreate(savedInstanceState);\r\n    setContentView(R.layout.activity_rps101);\r\n\r\n    ResultSentence = CSV2Map(\"ResultSentence.csv\");\r\n    Hands = CSV2Map(\"Hands.csv\");\r\n\r\n    spinner = findViewById(R.id.spinner);\r\n    arrayAdapter.add(Hands.get(\"1\")); \u2190\u3053\u3053\u3067\u30a8\u30e9\u30fc\u3002\r\n}<\/pre>\n<p>\u99c4\u76ee\u3067\u3057\u305f\u3002<\/p>\n<p>\u3084\u3063\u3071Map\u3058\u3083\u306a\u304f\u3066\u914d\u5217\u306e\u304c\u3044\u3044\u306e\u304b\u3002\u305d\u3082\u305d\u3082createfromresource\u3063\u3066\u3084\u3093\u306a\u304d\u3083\u3042\u304b\u3093\u306e\u304b\u306a\u3002\u305d\u308c\u304bnew?\u3064\u30fc\u3053\u3068\u3067<\/p>\n<pre>public String[] CSV2Array(String TargetCSV) {\r\n    String[] rtarray = new String[102];\r\n\r\n    try {\r\n        InputStream inputStreamResult = getResources().getAssets().open(TargetCSV);\r\n        InputStreamReader inputStreamReader = new InputStreamReader(inputStreamResult);\r\n        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);\r\n\r\n        String line;\r\n        while ((line = bufferedReader.readLine()) != null) {\r\n            String[] strArray = line.split(\",\");\r\n            rtarray[Integer.parseInt(strArray[0])] = strArray[1];\r\n        }\r\n\r\n    } catch (IOException e) {\r\n        e.printStackTrace();\r\n    }\r\n\r\n    return rtarray;\r\n}<\/pre>\n<p>CSV2Map\u3092\u30b3\u30d4\u30da\u3057\u914d\u5217\u3063\u307d\u304f\u3057\u3066\u307f\u308b\u3002\u3093\u3067<\/p>\n<pre>protected void onCreate(Bundle savedInstanceState) {\r\n    super.onCreate(savedInstanceState);\r\n    setContentView(R.layout.activity_rps101);\r\n\r\n    ResultSentence = CSV2Map(\"ResultSentence.csv\");\r\n    Hands = CSV2Array(\"Hands.csv\");\r\n\r\n    spinner = findViewById(R.id.spinner);\r\n    arrayAdapter = new ArrayAdapter&lt;&gt;(this, R.layout.support_simple_spinner_dropdown_item, Hands);\r\n    spinner.setAdapter(arrayAdapter);\r\n\r\n}<\/pre>\n<p>\u3053\u3046\u3002<\/p>\n<p><a href=\"https:\/\/dalomo.net\/blog\/wp-content\/uploads\/2019\/06\/Screenshot_20190623-192115.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-493\" src=\"https:\/\/dalomo.net\/blog\/wp-content\/uploads\/2019\/06\/Screenshot_20190623-192115-145x300.jpg\" alt=\"\" width=\"145\" height=\"300\" srcset=\"https:\/\/dalomo.net\/blog\/wp-content\/uploads\/2019\/06\/Screenshot_20190623-192115-145x300.jpg 145w, https:\/\/dalomo.net\/blog\/wp-content\/uploads\/2019\/06\/Screenshot_20190623-192115-768x1593.jpg 768w, https:\/\/dalomo.net\/blog\/wp-content\/uploads\/2019\/06\/Screenshot_20190623-192115-494x1024.jpg 494w, https:\/\/dalomo.net\/blog\/wp-content\/uploads\/2019\/06\/Screenshot_20190623-192115.jpg 1080w\" sizes=\"auto, (max-width: 145px) 100vw, 145px\" \/><\/a><\/p>\n<p>\u3075\u3080\u3002\u3067\u304d\u305f\u3002<\/p>\n<h3>\u53c2\u8003<\/h3>\n<p><a href=\"https:\/\/developer.android.com\/guide\/topics\/ui\/controls\/spinner?hl=ja\">https:\/\/developer.android.com\/guide\/topics\/ui\/controls\/spinner?hl=ja<\/a><\/p>\n<p><a href=\"https:\/\/developer.android.com\/reference\/android\/widget\/ArrayAdapter.html?hl=ja\">https:\/\/developer.android.com\/reference\/android\/widget\/ArrayAdapter.html?hl=ja<\/a><\/p>\n<p><a href=\"https:\/\/www.javadrive.jp\/android\/arrayadapter\/index2.html\">https:\/\/www.javadrive.jp\/android\/arrayadapter\/index2.html<\/a><\/p>\n<h2>Spinner\u3067\u9078\u629e\u3057\u305f\u3082\u306e\u3092\u53d6\u5f97<\/h2>\n<pre>spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {\r\n    @Override\r\n    public void onItemSelected(AdapterView&lt;?&gt; adapterView, View view, int i, long l) {\r\n        myHand = i;\r\n        \r\n    }\r\n\r\n    @Override\r\n    public void onNothingSelected(AdapterView&lt;?&gt; adapterView) {\r\n\r\n    }\r\n});<\/pre>\n<p>\u3053\u3093\u306a\u2026?int i \u304cposition\u3063\u307d\u3044\u306e\u3067\u305d\u308c\u3092\u53d6\u5f97\u3057\u3068\u3051\u3070\u6570\u5024\u3067\u6271\u3048\u305d\u3046\u2026\u3002\u306a\u3093\u304b\u3060\u3093\u3060\u3093\u4e0d\u5b89\u306b\u306a\u3063\u3066\u304d\u305f\u306a\u3002<\/p>\n<h3>\u53c2\u8003<\/h3>\n<p><a href=\"https:\/\/advancement-of-it-dwarfs.blogspot.com\/2018\/01\/android-spinner-how-to-get-select-event.html\">https:\/\/advancement-of-it-dwarfs.blogspot.com\/2018\/01\/android-spinner-how-to-get-select-event.html<\/a><\/p>\n<h2>\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u52dd\u8ca0\u3059\u308b<\/h2>\n<p>\u9078\u629e\u6642\u306b\u305d\u306e\u307e\u307e\u52dd\u8ca0\u3067\u3082\u3044\u3044\u304b\u306a\u3068\u601d\u3063\u305f\u3093\u3060\u3051\u3069\u3001\u306a\u3093\u3068\u306a\u304f\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u52dd\u8ca0\u3059\u308b\u611f\u3058\u306b\u3002<\/p>\n<pre>public void Bout(View view) {\r\n    Toast toast;\r\n    Random rand = new Random();\r\n    int eneNum;\r\n    int resNum;\r\n    String resKey = null;\r\n    String winHand = null;\r\n\r\n    if (myHand &lt; 1 || myHand &gt; 101) {\r\n        toast = Toast.makeText(this, \"select hand\", Toast.LENGTH_SHORT);\r\n        toast.show();\r\n        return;\r\n    }\r\n\r\n    eneNum = rand.nextInt(101) + 1;\r\n    tvEnemy.setText(Hands[eneNum]);\r\n\r\n    resNum = (myHand - eneNum + 101) % 101;\r\n\r\n    if (resNum == 0) {\r\n        tvResult.setText(\"draw\");\r\n    } else if (resNum &gt;= 1 &amp;&amp; resNum &lt;= 50) {\r\n        tvResult.setText(\"lose\");\r\n        winHand = Hands[eneNum];\r\n        resKey = eneNum + \"_\" + myHand;\r\n    } else if (resNum &gt;= 51) {\r\n        tvResult.setText(\"win\");\r\n        winHand = Hands[myHand];\r\n        resKey = myHand + \"_\" + eneNum;\r\n    }\r\n\r\n    tvResultSentence.setText(winHand + \" \" + ResultSentence.get(resKey));\r\n}<\/pre>\n<p>\u3053\u3093\u306a\u611f\u3058\u306b\u306a\u3063\u305f\u3002\u7d50\u5c40\u306a\u3093\u304b\u540c\u3058\u611f\u3058\u306e\u30b3\u30fc\u30c9\u304c\u4e26\u3093\u3058\u3083\u3063\u305f\u306a\u3041\u3002<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/cdgSp_fereo\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>\u306a\u3093\u306a\u3093\u3060\u308d\u306d\u3001\u3044\u307e\u3044\u3061\u6d88\u5316\u4e0d\u826f\u3060\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>RPS-101 101\u624b\u3042\u308b\u3058\u3083\u3093\u3051\u3093 https:\/\/dalomo.net\/blog\/2019\/05\/30\/464\/ \u306e\u7d9a\u304d\u3002 \u3082\u3046\u3061\u3087\u3063\u3068\u6574\u5f62\u3059\u308b\u3093\u3058\u3083 \u3044\u304f\u3064\u304b\u8abf\u3079\u3066\u307f\u305f\u3068\u3053\u308d\u3001Java\u306b\u306fMap\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308b\u307f &hellip; <a href=\"https:\/\/dalomo.net\/blog\/2019\/06\/24\/480\/\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":493,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[3,6,45,44,4],"class_list":["post-480","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-8","tag-android","tag-androidstudio","tag-excelvba","tag-44","tag-4"],"_links":{"self":[{"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/posts\/480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/comments?post=480"}],"version-history":[{"count":5,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/posts\/480\/revisions"}],"predecessor-version":[{"id":520,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/posts\/480\/revisions\/520"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/media\/493"}],"wp:attachment":[{"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/media?parent=480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/categories?post=480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/tags?post=480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}