合計 昨日 今日

投稿作品(ソース公開)

Name: どぶろく
[URL]
プログラマー(30,434 ポイント)
Date: 2018年2月11日(日) 13:16
No: 1
(OFFLINE)

 投稿作品(ソース公開)

「C言語何でも質問サイト」には「作品お披露目掲示板」があるので、このトピックは必要ないとも思ったが、
「ソースで公開する」ということで意味があるかなっと。
作品はなるべく短い方がよく、DXライブラリを使ったゲームや、コンソールアプリや、
汎用的に使えるアルゴリズムや、Win32APIや、標準関数を使った便利なものなども公開してほしいですね。
トンカツか?中濃か?高度な味覚アプリとしてブルドックソースをアップするというのもいいでしょう。

Name: どぶろく
[URL]
プログラマー(30,434 ポイント)
Date: 2018年2月13日(火) 17:55
No: 2
(OFFLINE)

 Re: 投稿作品(ソース公開)

直線アルゴリズム(ブレゼンハム?)
sgn関数が(あるのか?ないのか?)
なにはともあれ直線が引けたことが嬉しい。
シューティングで弾が早い場合の当たり判定に使える?
今作っているドット絵エディタにも使えるかも!

コード[C++]: 全て選択
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
#include "DxLib.h"
 
int sgn(int a)
{
    if(a<0){ return -1; }
    if(a>0){ return  1; }
    return 0;
}
 
void line(int x1, int y1, int x2, int y2, UINT color)
{
    int t, ax, ay, sx, sy;
   
    ax = abs( x2 - x1 );
    ay = abs( y2 - y1 );
    sx = sgn( x2 - x1 );
    sy = sgn( y2 - y1 );
   
    if( ax >= ay ){
        for( t = ax/2 ; x1 != x2 ; x1 += sx){
            DrawPixel(x1, y1, color);
            if(( t -= ay) <= 0 ){
                t += ax;
                y1 += sy;
            }
        }
    }else {
        for( t = ay/2 ; y1 != y2 ; y1 += sy){
            DrawPixel(x1, y1, color);
            if(( t -= ax) <= 0 ){
                t += ay;
                x1 += sx;
            }
        }
    }
    DrawPixel(x1, y1, color);
}
 
//-----------------------------------------------------------------------------
// エントリーポイント
//-----------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
    ChangeWindowMode(TRUE);
    if(DxLib_Init()==-1) {return -1;}
   
    line(20, 20, 430, 300, GetColor(255, 255, 255));
   
    WaitKey();
    DxLib_End() ;
 
    return 0;
}


Return to 52歳からはじめるC言語

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[1人]