안녕하세요!제가 Qt를 사용하여 컬링게임을 만들어보았는데요.사실 컬링게임이라고 하기에도 민망합니다.한 지점에서 10개의 공이 발사하고 공끼리 부딪히는 정도만 구현했습니다.점수를 매기는 것도 아니라서 공이 10개가 모두 발사되면 유저는 아무것도 할 수 없습니다.이 프로그램에서 제가 가장 중요하게 생각한건 공끼리 충돌하는 것인데요.실제 물리법칙과는 많이 다르게 튕기게 됩니다.그래도 맛보기 정도로 공이 상호작용하는 모습을 볼 수 있습니다. 위 사진과 같이 중앙에 컬링 목적지가 보입니다.마우스 커서의 위치를 따라 선이 그려지고 선이 길수록 발사속도는 강합니다.마우스 왼쪽버튼을 누르면 컬링 공이 발사됩니다.시간나시는 분들은 한번 해보세요! 다음은 공이 충돌했을 경우의 핵심 알고리즘입니다. 1234567891011..
FMOD는 오스트레일리아 멜버른에 위치한 파이어라이트 테크놀로지스에서 만든 음향 미들웨어이다. 버전 3.75 이후로 FMOD는 아래와 같이 3가지 라이브러리와 프로그램으로 구성되어 있다. FMOD Ex, 저수준 사운드 엔진이다.FMOD 이벤트 시스템(FMOD Event System), FMOD 디자이너로 만들어진 추상적인 사운드 컨텐츠를 이용하여 데이터 기반 프로그래밍을 간단하게 할 수 있도록 도와준다.FMOD 디자이너(FMOD Designer), 사운드 디자이너를 위한 툴로 음악의 재생과 복잡한 사운드 이벤트를 만들어 낼 수 있다. http://ko.wikipedia.org/wiki/FMOD 현재 아래와 같은 라이선스 계약을 할 수 있다: FMOD 비상업 라이선스(FMOD Non-Commercial L..
Colored By Color Scripter™ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 //이항계수 n개중 k 개 선택하는 방법 #include using namespace std; #define N 20 #define K 5 int bin(int n,int k) { if(k==0 || n==k) return 1; else return bin(n-1,k-1)+bin(n-1,k); } int dBin(int i,int j,int..
제가 알고 있기로 정렬 알고리즘의 복잡도는 nlogn 이하로 나올 수 없다고 알고 있습니다. 다름이 아니라 궁금한건 퀵정렬과 힙정렬의 복잡도는 각각 nlogn이고 최악의 경우 퀵정렬은 n^2, 힙정렬은 nlogn으로 알고 있습니다. 최악의 상황까지 고려했을 때는 힙정렬이 훨씬 좋아보이는데 실제 돌려보면 퀵정렬이 퍼포먼스가 더 좋게 나옵니다. 왜 퀵정렬이 더 빠른지 궁금하고 덧붙여서 퀵정렬과 힙정렬의 차이점에 대해 자세히 알고 싶습니다. ---------------------------------------------- 퀵정렬은 배열구조를 그대로 이용할 수 있는 특징이 있습니다. 알고리즘에 상관없이 계산에 필요한 데이터를 다루는 과정은 반드시 필요합니다. 퀵정렬이 배열구조를 그대로 쓸 수 있다는 것은 데이..
이 프로그램은 한번 실행하면 계속 공이 튕깁니다. 처음시작하면 공이 20개정도 사방으로 튕기다가.중력과 마찰력에 의해 속도가 감소되어 멈추면 사라집니다.공이 한개가 되면 다시 랜덤으로 120개 이하의 공이 생성되어 또 튕깁니다.어떤 프로그램이 실행되더라도 항상 최상단에 유지되기 때문에 그냥 켜놓고 다른 작업을 하시면됩니다.z를 누르면 현재 공의 개수의 두배로 생성됩니다. 제가 첨부파일로 올려둔 실행파일을 실행하면 됩니다.
Colored By Color Scripter™12345678910111213141516171819202122232425262728293031323334353637383940414243#include "rss.h"#include #include #include #include #include #include #include #include #include #include #include rss::rss(){ manager=new QNetworkAccessManager(this); connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(finishedSlot(QNetworkReply*))); updateRss(); } rss::~rss(){ delete m..