정훈용

most parsing ended

1 +[{"leagueId":"b82a4a63-6fe0-34c1-96c5-bd9a7b8b8201","queueType":"RANKED_SOLO_5x5","tier":"GRANDMASTER","rank":"I","summonerId":"1K6Gl993M9yX5HXBgA7aZP-nwrR2qNYoJGBMvkSVZ7pRNQ","summonerName":"Hide on bush","leaguePoints":570,"wins":603,"losses":590,"veteran":false,"inactive":false,"freshBlood":false,"hotStreak":false}]
...\ No newline at end of file ...\ No newline at end of file
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
...@@ -41,6 +41,10 @@ import com.google.gson.GsonBuilder; ...@@ -41,6 +41,10 @@ import com.google.gson.GsonBuilder;
41 import com.google.gson.JsonElement; 41 import com.google.gson.JsonElement;
42 import com.google.gson.JsonParser; 42 import com.google.gson.JsonParser;
43 */ 43 */
44 +import com.google.gson.JsonArray;
45 +import com.google.gson.JsonObject;
46 +import com.google.gson.JsonParser;
47 +
44 import org.json.JSONArray; 48 import org.json.JSONArray;
45 import org.json.JSONException; 49 import org.json.JSONException;
46 import org.json.JSONObject; 50 import org.json.JSONObject;
...@@ -100,6 +104,9 @@ public class MainActivity extends AppCompatActivity { ...@@ -100,6 +104,9 @@ public class MainActivity extends AppCompatActivity {
100 104
101 static int num_match = 5; 105 static int num_match = 5;
102 106
107 + //사용하는 주요 유저
108 + Player_info mainUser = new Player_info();
109 +
103 @Override 110 @Override
104 public void onCreate(Bundle savedInstanceState) { 111 public void onCreate(Bundle savedInstanceState) {
105 112
...@@ -115,6 +122,14 @@ public class MainActivity extends AppCompatActivity { ...@@ -115,6 +122,14 @@ public class MainActivity extends AppCompatActivity {
115 summoner = (EditText) findViewById(R.id.summoner); 122 summoner = (EditText) findViewById(R.id.summoner);
116 summonerCK = (Button) findViewById(R.id.summoner_check); 123 summonerCK = (Button) findViewById(R.id.summoner_check);
117 124
125 + //유저 소개 부분 - 티어 인장과 이름
126 + summoner_name = (TextView) findViewById(R.id.summoner_name);
127 + //유저 내용
128 + summoner_tier_tier = (TextView) findViewById(R.id.summoner_tier_tier);
129 + summoner_tier_rank = (TextView) findViewById(R.id.summoner_tier_rank);
130 + summoner_tier_point = (TextView) findViewById(R.id.summoner_tier_point);
131 +
132 +
118 // 일단 일반 5개의 프레임워크 정보--------------------------------- 133 // 일단 일반 5개의 프레임워크 정보---------------------------------
119 fr[0] = (FrameLayout) findViewById(R.id.fr1); 134 fr[0] = (FrameLayout) findViewById(R.id.fr1);
120 fr[1] = (FrameLayout) findViewById(R.id.fr2); 135 fr[1] = (FrameLayout) findViewById(R.id.fr2);
...@@ -244,10 +259,23 @@ public class MainActivity extends AppCompatActivity { ...@@ -244,10 +259,23 @@ public class MainActivity extends AppCompatActivity {
244 mode0(); 259 mode0();
245 260
246 String jj; 261 String jj;
247 - Player_info pp = new Player_info(); 262 + //Player_info mainUser = new Player_info();
248 263
264 + //개인정보 가져오기
249 jj = json_reg("Hide on bush.json"); 265 jj = json_reg("Hide on bush.json");
250 - json1(pp, jj); 266 + json1(mainUser, jj);
267 +
268 + // 상세 티어 정보 가져오기
269 + jj = json_reg("aaa.json");
270 + jj = jj.substring(0, jj.length()-1);
271 + jj = jj.substring(1);
272 + json2(mainUser, jj);
273 +
274 + jj = json_reg("bbb.json");
275 +
276 +
277 +
278 + //json2(pp, jj);
251 /* 279 /*
252 try { 280 try {
253 JSONObject jsonObject = new JSONObject(jj); 281 JSONObject jsonObject = new JSONObject(jj);
...@@ -260,7 +288,8 @@ public class MainActivity extends AppCompatActivity { ...@@ -260,7 +288,8 @@ public class MainActivity extends AppCompatActivity {
260 e.printStackTrace(); 288 e.printStackTrace();
261 } 289 }
262 */ 290 */
263 - Toast.makeText(MainActivity.this, pp.getName(), Toast.LENGTH_SHORT).show(); 291 + //Toast.makeText(MainActivity.this, pp.name, Toast.LENGTH_SHORT).show();
292 + Toast.makeText(MainActivity.this, mainUser.name+mainUser.tier + mainUser.rank + mainUser.leaguePoints, Toast.LENGTH_SHORT).show();
264 293
265 } 294 }
266 295
...@@ -345,9 +374,20 @@ public class MainActivity extends AppCompatActivity { ...@@ -345,9 +374,20 @@ public class MainActivity extends AppCompatActivity {
345 logo.setVisibility(View.GONE); 374 logo.setVisibility(View.GONE);
346 summoner.setVisibility(View.GONE); 375 summoner.setVisibility(View.GONE);
347 376
377 +
378 +
379 +
380 +
348 //출력시 유저 정보 381 //출력시 유저 정보
349 summoner_info.setVisibility(View.VISIBLE); 382 summoner_info.setVisibility(View.VISIBLE);
350 summoner_tier.setVisibility(View.VISIBLE); 383 summoner_tier.setVisibility(View.VISIBLE);
384 +
385 + //정부 수정
386 + summoner_name.setText(mainUser.getName());
387 + summoner_tier_tier.setText(mainUser.getTier_kr());
388 + summoner_tier_rank.setText(mainUser.getRank());
389 + summoner_tier_point.setText(mainUser.getLeaguePoints_str());
390 +
351 play_layout.setVisibility(View.VISIBLE); 391 play_layout.setVisibility(View.VISIBLE);
352 392
353 mode_mymatch(0); 393 mode_mymatch(0);
...@@ -596,30 +636,99 @@ public class MainActivity extends AppCompatActivity { ...@@ -596,30 +636,99 @@ public class MainActivity extends AppCompatActivity {
596 JSONObject jsonObject = new JSONObject(jj); 636 JSONObject jsonObject = new JSONObject(jj);
597 637
598 //JSONArray imp = jsonObject.getJSONArray("name"); 638 //JSONArray imp = jsonObject.getJSONArray("name");
599 - pp.setEncryptId(jsonObject.getString("id")); 639 +
600 - pp.setAccountId(jsonObject.getString("id"));
601 pp.setName(jsonObject.getString("name")); 640 pp.setName(jsonObject.getString("name"));
641 + pp.setAccountId(jsonObject.getString("accountId"));
642 + pp.setEncryptId(jsonObject.getString("id"));
643 +
644 +
602 645
603 646
604 } catch (JSONException e) { 647 } catch (JSONException e) {
605 e.printStackTrace(); 648 e.printStackTrace();
606 } 649 }
607 } 650 }
651 + //2단계는 티어, 랭크, 포인트를 받아온다.
608 652
609 public void json2(Player_info pp, String jj){ 653 public void json2(Player_info pp, String jj){
610 try { 654 try {
611 - JSONObject jsonObject = new JSONObject(jj); 655 + //파서 생성
612 656
613 - //JSONArray imp = jsonObject.getJSONArray("name"); 657 + JSONObject jsonObject = new JSONObject(jj);
614 - pp.setEncryptId(jsonObject.getString("tier")); 658 + /*
615 - pp.setAccountId(jsonObject.getString("rank")); 659 + JSONArray imps = jsonObject.getJSONArray("");
616 - pp.setName(jsonObject.getString("name")); 660 + JSONObject jsonObject2 = imps.getJSONObject(0);
617 661
662 + pp.setTier(jsonObject2.getString("tier"));
663 + pp.setRank(jsonObject2.getString("rank"));
664 + pp.setLeaguePoints(jsonObject2.getInt("leaguePoints"));
665 + */
666 + pp.setTier(jsonObject.getString("tier"));
667 + pp.setRank(jsonObject.getString("rank"));
668 + pp.setLeaguePoints(jsonObject.getInt("leaguePoints"));
618 669
619 } catch (JSONException e) { 670 } catch (JSONException e) {
620 e.printStackTrace(); 671 e.printStackTrace();
621 } 672 }
622 } 673 }
623 674
675 + // 이건 유저 중심으로 모든 챔프를 계산하고 솔랭, 일반 구별 없이 10개를 가져온다.
676 + // 그 후 중단된 게임은(다시하기) 제외한다. 그렇게 10개만 출력한다.
677 + public void json3(Player_info pp, String jj){
678 + try {
679 + //파서 생성
680 +
681 + JSONObject jsonObject = new JSONObject(jj);
682 +
683 + JSONArray imps = jsonObject.getJSONArray("mathces");
684 + //JSONObject jsonObject2 = imps.getJSONObject(0);
685 +
686 + //이번 시즌(13)만 반영한다ㅣ그렇기 때문에 10개를 반영하지 못할 수도 있다.
687 + //다시하기는 lane이 뜨지 않아서 문제가 되지 않는다!
688 + //line과 roll이 확정된 것만 측정한다.
689 + int count_num = 0;
690 + int imp_count = 0; // 임시 연산 목적
691 +
692 + String nn1, nn3;
693 + int nn2;
694 + boolean pass = true;
624 695
696 + while(pass)
697 + {
698 + JSONObject jsonObject_sub = imps.getJSONObject(imp_count);
699 +
700 + nn2 = jsonObject_sub.getInt("queue");
701 + nn3 = jsonObject_sub.getString("lane");
702 + nn1 = jsonObject_sub.getString("role");
703 +
704 + //특정 경우에 대한 연산
705 + if (nn3 == "BOTTOM"){
706 + if (nn1 == "DUO_CARRY"){
707 + nn3 = "BOTTOM";
708 + }
709 + else{
710 + nn3 = "SUPPORTER";
711 + }
712 + }
713 +
714 + if ((nn2 == 420) || (nn2==430)){
715 + if(nn3 != "NONE"){
716 + pp.setGameMode(nn2,count_num);
717 + pp.setLane(nn3,count_num);
718 + pp.setChampion(jsonObject_sub.getInt("champion"),count_num);
719 + pp.setGameId(jsonObject_sub.getLong("gameId"),count_num);
720 +
721 + count_num ++;
722 + if(count_num == 10){
723 + pass = false;
724 + }
725 + }
726 + }
727 + imp_count ++;
728 + }
729 +
730 + } catch (JSONException e) {
731 + e.printStackTrace();
732 + }
733 + }
625 } 734 }
......
...@@ -2,14 +2,24 @@ package com.example.pro_lol_log; ...@@ -2,14 +2,24 @@ package com.example.pro_lol_log;
2 2
3 public class Match_info { 3 public class Match_info {
4 4
5 + //일단 전투 정보 받아오고
6 +
7 + //gameDuration / tier 보정 값 계산 /
8 +
5 //이게 매치 정보이다. 9 //이게 매치 정보이다.
6 int gameId; 10 int gameId;
7 11
8 - int gameDuration; 12 + int myid; //게임 마다 정해지는 id 1~9 유저를 정한다.
13 +
14 + int queue; // 게임의 종류이다. 이는 기본 match 정보에도 있다!! 420 솔랭 / 430 일반
15 + // 일반 유저는 일겜도 받아온다. 평가자들은 솔랭도 받아와야 한다.
16 + //기본적으로 받아오는 시간
17 + int gameDuration; // 이게 300 이하이면 중단 된 게임, 그냥 제외시켜 버려라!!
9 int timePenalty1; //시간 값 받아올 때 산출한다. 18 int timePenalty1; //시간 값 받아올 때 산출한다.
10 int timePenalty2; // 후반 지표를 위해 큰 배수 적용 19 int timePenalty2; // 후반 지표를 위해 큰 배수 적용
11 - int lane = 0 ; 20 + int lane = 0 ; // 0탑 1정글 2미드 3봇 4서폿
12 - // 1탑 2정글 3미드 4봇 5서폿 21 + //String role = " "; // 서폿 구분 전용이다. DUO_SUPPORT 이면 서포터로 분류
22 +
13 int tierH = 50; 23 int tierH = 50;
14 int tierL = 40; 24 int tierL = 40;
15 // 챌150 그마140 마130 다120 플110 골100 실90 브80 아70 (임의) 25 // 챌150 그마140 마130 다120 플110 골100 실90 브80 아70 (임의)
...@@ -69,7 +79,7 @@ public class Match_info { ...@@ -69,7 +79,7 @@ public class Match_info {
69 */ 79 */
70 //전투기여도------------------------- 80 //전투기여도-------------------------
71 int totalTimeCrowdContrlDealt; // 군중제어 횟수 81 int totalTimeCrowdContrlDealt; // 군중제어 횟수
72 - int totalDamageDealt; // 준 데미지 long totalDamageDealtToChampions 를 받아야 한다. 82 + int totalDamageDealt; // 준 데미지 ** long totalDamageDealtToChampions 를 받아야 한다. **
73 int damageSelfMitigated;// 데미지 경감량 long 83 int damageSelfMitigated;// 데미지 경감량 long
74 int totalDamageTaken; // 받은 데미지 long 84 int totalDamageTaken; // 받은 데미지 long
75 /* 85 /*
...@@ -79,6 +89,85 @@ public class Match_info { ...@@ -79,6 +89,85 @@ public class Match_info {
79 int [] totalDamageTaken = new int[10]; // 받은 데미지 long 89 int [] totalDamageTaken = new int[10]; // 받은 데미지 long
80 */ 90 */
81 91
92 + // 챌30 그마28 마26 다24 플22 골20 실18 브16 아14 언랭14(실제 높은 값)
93 + // 챌30 그마29 마28 다27 플26 골25 실24 브23 아22 언랭22(실제 낮은 값)
94 + // 9 ~ 0
95 +
96 + public void setTierH(int tt){
97 + switch(tt){
98 + case 0:
99 + tierH = 14;
100 + break;
101 + case 1:
102 + tierH = 14;
103 + break;
104 + case 2:
105 + tierH = 16;
106 + break;
107 + case 3:
108 + tierH = 18;
109 + break;
110 + case 4:
111 + tierH = 20;
112 + break;
113 + case 5:
114 + tierH = 22;
115 + break;
116 + case 6:
117 + tierH = 24;
118 + break;
119 + case 7:
120 + tierH = 26;
121 + break;
122 + case 8:
123 + tierH = 28;
124 + break;
125 + case 9:
126 + tierH = 30;
127 + break;
128 + default:
129 + tierH = 14;
130 + }
131 +
132 + }
133 +
134 + public void setTierL(int tt){
135 + switch(tt){
136 + case 0:
137 + tierH = 22;
138 + break;
139 + case 1:
140 + tierH = 22;
141 + break;
142 + case 2:
143 + tierH = 23;
144 + break;
145 + case 3:
146 + tierH = 24;
147 + break;
148 + case 4:
149 + tierH = 25;
150 + break;
151 + case 5:
152 + tierH = 26;
153 + break;
154 + case 6:
155 + tierH = 27;
156 + break;
157 + case 7:
158 + tierH = 28;
159 + break;
160 + case 8:
161 + tierH = 29;
162 + break;
163 + case 9:
164 + tierH = 30;
165 + break;
166 + default:
167 + tierH = 22;
168 + }
169 +
170 + }
82 171
83 public int Penalty1(int time){ 172 public int Penalty1(int time){
84 //int val; 173 //int val;
...@@ -132,10 +221,20 @@ public class Match_info { ...@@ -132,10 +221,20 @@ public class Match_info {
132 //점수는 티어 상대값과 절대값으로 제공 221 //점수는 티어 상대값과 절대값으로 제공
133 //type 0 절대값 type 1 티어 상대값 222 //type 0 절대값 type 1 티어 상대값
134 //절대값을 100을 곱한다. 223 //절대값을 100을 곱한다.
135 - public int sightscore(int type){ 224 + public int sightscore(int type, int line){
136 225
137 int imp = 0; 226 int imp = 0;
138 - imp = visionScore + wardsPlaced + wardsKilled + visionWardsBoughtInGame * 2; 227 +
228 + if(line == 1){
229 + imp = visionScore + wardsPlaced+2 + wardsKilled*4 + visionWardsBoughtInGame * 4;
230 + }
231 + else if(line == 4){
232 + imp = visionScore + wardsPlaced*3 + wardsKilled*3 + visionWardsBoughtInGame * 3;
233 + }
234 + else{
235 + imp = visionScore + wardsPlaced + wardsKilled + visionWardsBoughtInGame * 2;
236 + }
237 +
139 imp = imp*10; 238 imp = imp*10;
140 if (type == 1) { 239 if (type == 1) {
141 imp = imp * tierL; 240 imp = imp * tierL;
...@@ -187,8 +286,8 @@ public class Match_info { ...@@ -187,8 +286,8 @@ public class Match_info {
187 int quadraKills; 286 int quadraKills;
188 int pentakills; 287 int pentakills;
189 */ 288 */
190 - //라인 별로 달라진다. 1탑 ~ 5서폿 289 + //라인 별로 달라진다. 0탑 ~ 4서폿
191 - if (line == 1) 290 + if (line == 0)
192 { 291 {
193 imp = kills*320 - deaths*150 + assists*100; 292 imp = kills*320 - deaths*150 + assists*100;
194 imp = imp + 50*doubleKills + 100*tripleKills + 200*quadraKills+500*pentakills; 293 imp = imp + 50*doubleKills + 100*tripleKills + 200*quadraKills+500*pentakills;
...@@ -197,7 +296,7 @@ public class Match_info { ...@@ -197,7 +296,7 @@ public class Match_info {
197 imp = imp+150; 296 imp = imp+150;
198 } 297 }
199 } 298 }
200 - else if(line == 2) 299 + else if(line == 1)
201 { 300 {
202 imp = kills*270 - deaths*170 + assists*130; 301 imp = kills*270 - deaths*170 + assists*130;
203 imp = imp + 70*doubleKills + 150*tripleKills + 250*quadraKills+600*pentakills; 302 imp = imp + 70*doubleKills + 150*tripleKills + 250*quadraKills+600*pentakills;
...@@ -206,7 +305,7 @@ public class Match_info { ...@@ -206,7 +305,7 @@ public class Match_info {
206 imp = imp+150; 305 imp = imp+150;
207 } 306 }
208 } 307 }
209 - else if(line == 3) 308 + else if(line == 2)
210 { 309 {
211 imp = kills*300 - deaths*200 + assists*100; 310 imp = kills*300 - deaths*200 + assists*100;
212 imp = imp + 50*doubleKills + 100*tripleKills + 200*quadraKills+500*pentakills; 311 imp = imp + 50*doubleKills + 100*tripleKills + 200*quadraKills+500*pentakills;
...@@ -215,7 +314,7 @@ public class Match_info { ...@@ -215,7 +314,7 @@ public class Match_info {
215 imp = imp+200; 314 imp = imp+200;
216 } 315 }
217 } 316 }
218 - else if(line == 4) 317 + else if(line == 3)
219 { 318 {
220 imp = kills*400 - deaths*300 + assists*60; 319 imp = kills*400 - deaths*300 + assists*60;
221 imp = imp + 50*doubleKills + 100*tripleKills + 200*quadraKills+500*pentakills; 320 imp = imp + 50*doubleKills + 100*tripleKills + 200*quadraKills+500*pentakills;
...@@ -224,7 +323,7 @@ public class Match_info { ...@@ -224,7 +323,7 @@ public class Match_info {
224 imp = imp+200; 323 imp = imp+200;
225 } 324 }
226 } 325 }
227 - else if(line == 5) 326 + else if(line == 4)
228 { 327 {
229 imp = kills*200 - deaths*100 + assists*150; 328 imp = kills*200 - deaths*100 + assists*150;
230 imp = imp + 50*doubleKills + 250*tripleKills + 500*quadraKills+1000*pentakills; 329 imp = imp + 50*doubleKills + 250*tripleKills + 500*quadraKills+1000*pentakills;
...@@ -261,21 +360,21 @@ public class Match_info { ...@@ -261,21 +360,21 @@ public class Match_info {
261 int damageSelfMitigated;// 데미지 경감량 long 360 int damageSelfMitigated;// 데미지 경감량 long
262 int totalDamageTaken; // 받은 데미지 long 361 int totalDamageTaken; // 받은 데미지 long
263 */ 362 */
264 - if (line == 1) 363 + if (line == 0)
265 { 364 {
266 - imp = totalDamageDealt*5 + totalDamageTaken*3 + damageSelfMitigated*1; 365 + imp = totalDamageDealt*8 + totalDamageTaken*3 + damageSelfMitigated*3 + totalTimeCrowdContrlDealt*300;
366 + }
367 + else if(line == 1){
368 + imp = totalDamageDealt*7 + totalDamageTaken*2 + damageSelfMitigated*3+ totalTimeCrowdContrlDealt*500;
267 } 369 }
268 else if(line == 2){ 370 else if(line == 2){
269 - imp = totalDamageDealt*4 + totalDamageTaken*3 + damageSelfMitigated*1; 371 + imp = totalDamageDealt*8 + totalDamageTaken*2 + damageSelfMitigated*2+ totalTimeCrowdContrlDealt*400;
270 } 372 }
271 else if(line == 3){ 373 else if(line == 3){
272 - imp = totalDamageDealt*5 + totalDamageTaken*3 + damageSelfMitigated*1; 374 + imp = totalDamageDealt*10 + totalDamageTaken*2 + damageSelfMitigated*2+ totalTimeCrowdContrlDealt*200;
273 } 375 }
274 else if(line == 4){ 376 else if(line == 4){
275 - imp = totalDamageDealt*7 + totalDamageTaken*2 + damageSelfMitigated*1; 377 + imp = totalDamageDealt*6 + totalDamageTaken*3 + damageSelfMitigated*4+ totalTimeCrowdContrlDealt*600;
276 - }
277 - else if(line == 5){
278 - imp = totalDamageDealt*4 + totalDamageTaken*4 + damageSelfMitigated*2;
279 } 378 }
280 else{ 379 else{
281 imp = 0; 380 imp = 0;
...@@ -296,6 +395,49 @@ public class Match_info { ...@@ -296,6 +395,49 @@ public class Match_info {
296 } 395 }
297 396
298 397
398 + public void setName(int nn){
399 + gameDuration = nn;
400 + }
401 + public void setLane(String nn){
402 + if (nn == "TOP"){lane = 0;}
403 + else if (nn == "JUNGLE"){lane = 1;}
404 + else if (nn == "MIDDLE"){lane = 2;}
405 + else if (nn == "BOTTOM"){lane = 3;}
406 + else {lane = 99;}
407 + }
408 + public void setRole(String nn){
409 + if (nn == "DUO_SUPPORT" && lane == 3){
410 + lane = 4; // 서폿으로 변경해준다.
411 + }
412 + else{
413 + lane = 99;
414 + }
415 + }
299 416
417 + public void setVisionScore(int nn){ visionScore = nn;}
418 + public void setWardsPlaced(int nn){ wardsPlaced = nn;}
419 + public void setWardsKilled(int nn){ wardsKilled = nn;}
420 + public void setVisionWardsBoughtInGame(int nn){visionWardsBoughtInGame = nn;}
421 +
422 + public void setChampLevel(int nn){champLevel = nn;}
423 + public void setGoldEarned(int nn){goldEarned = nn;}
424 + public void setTotalMinionKilled(int nn){totalMinionKilled = nn;}
425 +
426 + public void setKills(int nn){kills = nn;}
427 + public void setDeaths(int nn){deaths = nn;}
428 + public void setAssists(int nn){assists = nn;}
429 + public void setFirstBloodAssist(boolean nn){firstBloodAssist = nn;}
430 + public void setFirstBloodkill(boolean nn){firstBloodkill = nn;}
431 +
432 + public void setLargestMultiKill(int nn){largestMultiKill = nn;}
433 + public void setDoubleKills(int nn){doubleKills = nn;}
434 + public void setTripleKills(int nn){tripleKills = nn;}
435 + public void setQuadraKills(int nn){quadraKills = nn;}
436 + public void setPentakills(int nn){pentakills = nn;}
437 +
438 + public void setTotalTimeCrowdContrlDealt(int nn){totalTimeCrowdContrlDealt =nn;}
439 + public void setTotalDamageDealt(int nn){totalDamageDealt = nn;}
440 + public void setDamageSelfMitigated(int nn){damageSelfMitigated = nn;}
441 + public void setTotalDamageTaken(int nn){totalDamageTaken = nn;}
300 442
301 } 443 }
......
...@@ -9,9 +9,53 @@ public class Player_info { ...@@ -9,9 +9,53 @@ public class Player_info {
9 String accountId; 9 String accountId;
10 String encryptId; 10 String encryptId;
11 11
12 + //랭킹 관련 아래 3개의 정보들..
12 String tier; 13 String tier;
14 + int tier_num;
13 String rank; 15 String rank;
14 int leaguePoints; 16 int leaguePoints;
17 + //int credibility;
18 +
19 + //사용자는 자신의 전적 기록을 가진다.
20 + //이걸 json으로 받아와서 표기한다.
21 +
22 + //-----------------------------------------------------------------
23 + //각 각 일반 1. 유저 10개만 표기하면 됨. 챔피언들이 다 섞여있다.
24 + // 2. 특정 챔프만 받아와서 연산한다.
25 + int able_user = 0; //일반 유저 연산용, 10개만 연산
26 + int win_lose = 0; //-1이면 패배, 1이면 승리 0이면 아직 연산 안함
27 + int [] Lane = new int[10]; //5개의 래인 중 하나의 값
28 + long [] gameId = new long[10] ; //검색의 기준으로 쓰일 게임 번호
29 + int [] champion = new int[10] ; //챔피언 번호
30 + // 여기까지는 원래 값으로도 얻을 수 있다.
31 + int [][] points = new int[10][4]; //4개의 근본 점수
32 + int [][] points_add = new int[10][3]; //분당 CS / 분당 골드 / 평균 킬관여
33 + int [] duration = new int[10]; //게임 플레이 시간 초로 계산된다.
34 + int [][] KDA = new int[10][3]; //KDA값
35 + int [] gameMode = new int[10]; //기본 유저는 일반도 계산해주기에.. 1은 솔랭 / 2는 일반이다. 솔랭은 값 보정, 일반은 보정 없이 계산한다.
36 + //-----------------------------------------------------------------
37 + // 아래는 프로 전용, 프로는 무조건 랭크(420)만 계산한다.
38 + int able_pro = 0; //프로 연산용, 100개 연산
39 + int champ_p = 0; //어차피 한 챔프만 대상으로 뽑아올 것이기에 배열이 필요 없다.
40 + int Lane_P = -1; //어차피 한 라인을 기준으로 뽑아올 것이기에 배열이 필요 없다.
41 + int game_count = 0; //받아오는 값이 생각보다 적을 수 있다.
42 + long [] gameId_P = new long[100]; //검색 기준으로 쓰일 게임 번호
43 + int [][] points_P = new int[100][8]; //4개의 티어 보정 근본 점수와 무보정 점수 / tier_num 으로 정해지지
44 + int [][] point_add_p = new int[100][3]; //부가적인 3개의 값 이 3개는 * 분당 CS / 분당 골드 / 평균 킬관여
45 +
46 + //아래는 연산용으로 쓰일 인수
47 + int imp_lane = -1; //혹시라도 매개 변수로 쓸 값.
48 +
49 +
50 +
51 + //챔프와 라인에 맞는 유효한 값 연산을 위해 임시로 사용하는 배열
52 + //testcount 만큼의 번호값을 가져 point[ tester[번호] ][ 0~6 ] 로 기져올 수 있다.
53 + int testchamp = 0; //1부터 '애니'로 시작한다.
54 + int testcount = 0;
55 + int [] tester = new int[200];
56 +
57 + //int [] examed = new int[100]; //채점 정보
58 + //이렇게 얻은 값으로 자신의 전적을 확인한다.
15 59
16 //두 번째로는 60 //두 번째로는
17 public String getName(){ 61 public String getName(){
...@@ -20,42 +64,150 @@ public class Player_info { ...@@ -20,42 +64,150 @@ public class Player_info {
20 public void setName(String nn){ 64 public void setName(String nn){
21 name = nn; 65 name = nn;
22 } 66 }
67 +
23 public String getAccountId(){ 68 public String getAccountId(){
24 return accountId; 69 return accountId;
25 } 70 }
26 public void setAccountId(String nn){ 71 public void setAccountId(String nn){
27 accountId = nn; 72 accountId = nn;
28 } 73 }
74 +
29 public String getEncryptId(){ 75 public String getEncryptId(){
30 return encryptId; 76 return encryptId;
31 } 77 }
32 public void setEncryptId(String nn){ 78 public void setEncryptId(String nn){
33 encryptId = nn; 79 encryptId = nn;
34 } 80 }
81 +
35 public String getTier(){ 82 public String getTier(){
36 return tier; 83 return tier;
37 } 84 }
85 + public String getTier_kr(){
86 + String imp = " ";
87 + switch (tier){
88 + case "CHALLENGER" :
89 + imp = "챌린져";
90 + tier_num = 9;
91 + break;
92 + case "GRANDMASTER" :
93 + imp = "그랜드마스터";
94 + tier_num = 8;
95 + break;
96 + case "MASTER" :
97 + imp = "마스터";
98 + tier_num = 7;
99 + break;
100 + case "DIAMOND" :
101 + imp = "다이아몬드";
102 + tier_num = 6;
103 + break;
104 + case "PLATINUM" :
105 + imp = "플래티넘";
106 + tier_num = 5;
107 + break;
108 + case "GOLD" :
109 + imp = "골드";
110 + tier_num = 4;
111 + break;
112 + case "SILVER" :
113 + imp = "실버";
114 + tier_num = 3;
115 + break;
116 + case "BRONZE" :
117 + imp = "브론즈";
118 + tier_num = 2;
119 + break;
120 + case "IRON" :
121 + imp = "아이언";
122 + tier_num = 1;
123 + break;
124 + default:
125 + imp = "언랭";
126 + tier_num = 0;
127 + break;
128 + }
129 + return imp;
130 + }
38 public void setTier(String nn){ 131 public void setTier(String nn){
39 - encryptId = nn; 132 + tier = nn;
40 } 133 }
134 +
41 public String getRank(){ 135 public String getRank(){
42 - return rank; 136 + if (tier_num > 7){
137 + return " ";
138 + }
139 + else{
140 + return rank;
141 + }
43 } 142 }
44 public void setRank(String ss){ 143 public void setRank(String ss){
45 rank = ss; 144 rank = ss;
46 } 145 }
146 +
47 public int getLeaguePoints(){ 147 public int getLeaguePoints(){
48 return leaguePoints; 148 return leaguePoints;
49 } 149 }
150 + public String getLeaguePoints_str(){ String imp = String.valueOf(leaguePoints); return (imp+"점");}
50 public void setLeaguePoints(int ii){ 151 public void setLeaguePoints(int ii){
51 leaguePoints = ii; 152 leaguePoints = ii;
52 } 153 }
53 154
155 + //test 값들에 game id를 받아오는 역할을 한다. 크기도 받는다.
156 + /*
157 + public void specific_champData(int champsT,int laneT){
158 + testcount = 0;
159 + for(int i = 0; i<200; i++){
160 + if (Lane[i] == laneT && champion[i] == champsT){
161 + tester[testcount] = i;
162 + }
163 + }
164 + }
165 + */
166 +
167 + public int getLane(int addit){
168 + return Lane[addit];
169 + }
170 + public void setLane(String nn, int ad){
171 + if (nn == "TOP"){Lane[ad] = 0;}
172 + else if (nn == "JUNGLE"){Lane[ad] = 1;}
173 + else if (nn == "MIDDLE"){Lane[ad] = 2;}
174 + else if (nn == "BOTTOM"){Lane[ad] = 3;}
175 + else if (nn == "SUPPORTER"){Lane[ad] = 4;}
176 + else {Lane[ad] = 99;}
177 + }
54 178
179 + public int getChampion(int addit){
180 + return champion[addit];
181 + }
55 182
183 + public void setChampion(int nn, int ad){
184 + champion[ad] = nn;
185 + }
56 186
57 - //String get_all(){ 187 + public long getGameId(int addit)
58 - //return name+" / "+summonerLevel+" / "+accountId; 188 + {
189 + return gameId[addit];
190 + }
191 + public void setGameId(long lines, int addit)
192 + {
193 + gameId[addit] = lines;
194 + }
195 +
196 + public int getGameMode(int addit)
197 + {
198 + return gameMode[addit];
199 + }
200 + public void setGameMode(int nn,int addit) {
201 + if (nn == 420) {
202 + gameMode[addit] = 1;
203 + }
204 + else if(nn == 430){
205 + gameMode[addit] = 2;
206 + }
207 + else{
208 + gameMode[addit] = 0;
209 + }
210 + }
59 } 211 }
60 212
61 /* 213 /*
......
...@@ -42,28 +42,29 @@ ...@@ -42,28 +42,29 @@
42 <LinearLayout 42 <LinearLayout
43 android:id="@+id/summoner_info" 43 android:id="@+id/summoner_info"
44 android:layout_width="match_parent" 44 android:layout_width="match_parent"
45 - android:layout_height="84dp" 45 + android:layout_height="120dp"
46 - android:layout_marginTop="20dp" 46 + android:layout_marginTop="10dp"
47 android:layout_marginBottom="10dp" 47 android:layout_marginBottom="10dp"
48 android:orientation="horizontal" 48 android:orientation="horizontal"
49 - android:visibility="gone"> 49 + android:visibility="visible">
50 <ImageView 50 <ImageView
51 android:id="@+id/tiers" 51 android:id="@+id/tiers"
52 - android:layout_marginLeft="50dp" 52 + android:layout_marginLeft="20dp"
53 - android:layout_marginRight="20dp" 53 + android:layout_marginRight="10dp"
54 - android:layout_width="70dp" 54 + android:layout_width="120dp"
55 - android:layout_height="84dp" 55 + android:layout_height="120dp"
56 android:src="@drawable/gold" 56 android:src="@drawable/gold"
57 android:visibility="visible" 57 android:visibility="visible"
58 /> 58 />
59 +
59 <TextView 60 <TextView
60 android:id="@+id/summoner_name" 61 android:id="@+id/summoner_name"
61 - android:layout_width="wrap_content" 62 + android:layout_width="235dp"
62 - android:layout_height="84dp" 63 + android:layout_height="120dp"
64 + android:gravity="center|left"
63 android:text="롤첨혜요" 65 android:text="롤첨혜요"
64 - android:textSize="50dp" 66 + android:textSize="40dp"
65 - android:visibility="visible" 67 + android:visibility="visible" />
66 - />
67 </LinearLayout> 68 </LinearLayout>
68 69
69 70
...@@ -73,12 +74,12 @@ ...@@ -73,12 +74,12 @@
73 android:layout_height="wrap_content" 74 android:layout_height="wrap_content"
74 android:layout_marginBottom="50dp" 75 android:layout_marginBottom="50dp"
75 android:orientation="horizontal" 76 android:orientation="horizontal"
76 - android:visibility="gone"> 77 + android:visibility="visible">
77 <TextView 78 <TextView
78 android:id="@+id/summoner_tier_tier" 79 android:id="@+id/summoner_tier_tier"
79 android:layout_width="wrap_content" 80 android:layout_width="wrap_content"
80 android:layout_height="wrap_content" 81 android:layout_height="wrap_content"
81 - android:layout_marginLeft="50dp" 82 + android:layout_marginLeft="30dp"
82 android:text="골드" 83 android:text="골드"
83 android:textSize="40dp" 84 android:textSize="40dp"
84 android:visibility="visible"/> 85 android:visibility="visible"/>
......
1 +package com.example.paradyss_v1;
2 +
3 +public class BlockMaker {
4 +}