TIL46 [TIL]플러터 기초 환경 설정을 하며 테스트를 해봤는데vs code에서 플러터를 실행시키려는데 에뮬레이터 반응이 없고Error: Dart library 'dart:ui' is not available on this platform. import 'dart:ui' show lerpDouble;이러한 오류만 떴다.[해결법]vs code 터미널에서 아래 코드를 입력해주면 된다.flutter run 플러터 기초main.dart 구성 요소1)widget-ui 구성하는 기본 요소-StatelessWidget 과 StatefulWidget이 있으며 build함수 내에서 구성을 dart코드로 작성2)MaterialApp-앱의 기본적인 구조와 디자인을 잡아주는 위젯-Flutter 앱의 최상단에 선언해 사용3)MaterialApp vs C.. 2024. 11. 11. [TIL] 과제 보충 내 과제 코드와 해설 코드를 비교해보며 느낀 점은dart의 고차함수를 잘 사용을 못하고 있다는 것이었다.예를 들어 전투 결과를 저장할 때 승리인지 패배인지를 판단하는 함수를 if(gameResult==true){ writeFile('승리'); }else{ writeFile('패배'); }이렇게 작성했는데 고차함수로 작성하면 final result = victory ? '승리' : '패배';이렇게 간단하게 작성할 수 있었다.완전 일맥상통하는 코드는 아니어도 잘 활용한다면 코드도 간결해지고 가독성도 좋아질 것 같다. 또한 로직도 내가 복잡하게 생각한 게 많았다. Monster getRandomMonster() {.. 2024. 11. 8. RPG 전투 게임 캐릭터와 몬스터가 전투하는 게임 구현하기기능1) csv 파일에서 캐릭터와 몬스터의 체력, 공격력, 방어력 설정값 불러오기2) 사용자에게 입력받아 공격 or 방어 수행하기3) 몬스터를 처치했을 경우 다음 몬스터와 전투 진행하기4) 전투 결과 파일에 저장하기전투기능1) 사용자가 공격할 경우 몬스터의 체력을 사용자의 공격력만큼 감소2)몬스터는 공격만 가능코드 작성 중 발생한 문제점한 메서드의 길이가 너무 길다. 초반에 아래와 같이 작성을 했는데 메서드의 코드가 길어도 너무 길다..가독성도 떨어지고 내가 선언한 변수가 뭔지 헷갈리고 꼬이는 지경에 이르렀음. 문제의 코드battle(): 전투 진행 메서드 //전투 진행 메서드 Future battle() async{ bool characterItem = .. 2024. 11. 7. [TIL] 큐&연결리스트 Queue: 선입선출 방식으로 데이터 처리하는 자료 구조.1)큐생성Queue queue = Queue();2)큐에 값 추가queue.add(1);3) 큐 다루기queue.removeFirst(); //앞에서 삭제queue.first; //앞쪽 값 반환queue.last; //뒤쪽 값 반환queue.isEmpty //큐가 비어있는지 확인queue.length //큐의 길이 확인4)예시* 문제클래스 RecentCounter를 구현하세요.이 클래스는 주어진 시간 범위 내에서 호출 수를 기록하고 반환합니다.RecentCounter()는 RecentCounter 객체를 초기화합니다.int ping(int t)는 t (밀리초 단위, 비내림차순) 시점에서 호출되었음을 기록하고, [t - 3000, t] 범위 내에서 .. 2024. 11. 6. [TIL] 리스트 빈도 구하기 리스트 요소의 빈도 구하기class Solution { bool uniqueOccurrences(List arr) { Map frequency = {}; for (int num in arr){ frequency[num] = (frequency[num] ?? 0) + 1; } List frequencies = frequency.values.toList(); // 빈도의 고유성 검사 return frequencies.length == frequencies.toSet().length; }}map으로 요소와 빈도수를 받을 예정.주어진 배열에서 요소를 하나씩 꺼내와서 frequency라는 맵이랑 비교키가 요소이고 값이 빈도수.frequncy[num]이 없으면 nul.. 2024. 11. 5. [TIL] 비동기 프로그래밍 비동기 프로그래밍작업이 완료될 때까지 기다리지 않고, 미래의 특정 시점에 값을 반환수행할 수 있는 다른 작업을 찾아서 수행Future: 비동기 프로그래밍에서 사용되는 대표적인 클래스작업이 성공적으로 완료되었을 때 해당 결과값을 반환하고, 실행을 종료void main() { int seconds =2; print("실행시작"); Future.delayed(Duration(seconds: seconds), (){ print('$seconds초 다 기다림'); }); print('실행 끝');}void introduce(String name){ print('$name의 자기소개 시작!'); Future.delayed(Duration(seconds:2), () { print('안녕 나는.. 2024. 11. 4. 이전 1 ··· 3 4 5 6 7 8 다음