분류 전체보기100 스피드 연산 게임 만들기4 지난 시간에 만들었던 '스피드 연산 게임' 은 구구단 문제만 풀 수 있게 되어 있었는데 오늘은 덧셈과 뺄셈 문제도 풀 수 있게 프로그램을 개선해 보자. 구구단 말고 다른 문제를 선택해서 풀 수 있게 하려면 우선 문제 유형에 대한 정보를 Game 객체가 알고 있어야 한다. 이것은 게임 시간(time) 처럼 객체 생성 시 주거나 아니면 객체를 생성한 이후 setter 로 설정해도 된다. 그리고 실제 게임 실행 시에는 그 문제 유형 정보를 이용하여 문제를 생성하면 된다.이러한 생각을 반영하여 아래처럼 코드를 수정해 보자.initialize 메서드에 quiz 파라미터를 하나 추가하였고 기본값으로는 구구단 문제를 내도록 :gugudan 심볼을 설정했다.그래서 아무 인자 없이 Game 객체를 생성하여 게임을 실행하.. 2024. 7. 26. 스피드 연산 게임 만들기3 오늘은 지난번 글에서 작성했던 '스피드 연산 게임' 코드를 클래스를 사용해서 수정해 보도록 하자.아래 기존 코드와 클래스를 사용해 수정한 코드가 있다.require 'timeout'def make_quiz n1 = rand(2..9) n2 = rand(1..9) ["#{n1} x #{n2} = ", n1 * n2]enddef exam question, answer = make_quiz print question input = STDIN.gets return answer == input.to_iendquiz_cnt = 0correct_cnt = 0begin Timeout.timeout(10) do while true quiz_cnt += 1 if exam .. 2024. 7. 25. 스피드 연산 게임 만들기2 오늘부터는 본격적으로 게임을 만들어 볼 건데 먼저 랜덤 문제 하나와 답을 만들어 반환하는 메서드를 작성해 보자.문제는 우선 구구단으로 하기로 하고 아래처럼 코드를 작성해서 테스트해 보자.?> def make_quiz?> n1 = rand(2..9)?> n2 = rand(1..9)?> ["#{n1} x #{n2} = ", n1 * n2]>> end=> :make_quiz>> make_quiz=> ["5 x 6 = ", 30]>> make_quiz=> ["3 x 3 = ", 9]>> question, answer = make_quiz=> ["6 x 8 = ", 48]>> question=> "6 x 8 = ">> answer=> 48>>make_quiz 메서드는 문자열로 표현한 구구단 문제 하나와.. 2024. 7. 24. 스피드 연산 게임 만들기1 지난 글에 이어 '객체와 클래스' 에 대한 얘기를 조금 더 할 게 남아 있긴 하지만 너무 문법적인 얘기만 계속하다 보면 어렵고 재미 없을 수도 있기에 이쯤에서 재밌는 프로그램을 하나 만들어 볼까 한다.스피드 연산 게임을 만들어 볼건데 아마 누구나 한 번쯤 비슷한 게임을 해봤을 거 같고 혹시 초등학교 다니는 자녀가 있는 분들은 이 게임을 직접 만들어서 아이들과 함께 해보면 좋지 않을까 라는 생각에서 선택했다.본격적으로 게임을 만들기 전에 몇 가지 생각해야 할 것들이 있다. 그 중 하나가 게임의 난위도인데 게임 시작 시 난위도를 직접 선택하는 기능이 있다면 좀 더 완성도 있는 게임이 될 거 같다. 그리고 게임 플레이어에게 보여지는 화면을 화려하게 꾸민다거나 음향 효과도 내주면 게임의 재미를 더할 수도 있을 .. 2024. 7. 22. 이전 1 ··· 18 19 20 21 22 23 24 25 다음