none
リンカ ツール エラー LNK1120エラーが発生しました。プログラミング初心者です。

    質問

  • visual studio2015です。

    ***********************************************************************************************************************main.c

    #include <stdio.h>
    #include<stdlib.h>
    #include<time.h>
    #include"Tranp_System.h"

    int main(void) {

    ///**************************************************************************************************/
    ////switch
    int switch_start = 0; //スタート画面スイッチ
    int switch_battle = 0; //バトル状態移行判別スイッチ

    //int switch_slime; //スライムを使ったか
    //int switch_cage; //選んだかごの生物はどれか

    ////system
    //int sys_time; //時間
    //int sys_n; //番号

    //int sys_i2;
    //int sys_n1; //enemy_mem_num
    //int sys_n2 = 0; //advance_degree
    //int sys_n3 = 0;
    //int sys_turn = 0; //ターン数
    //int sys_battle_dis0;//表層⇒深層
    //int sys_battle_dis2;
    //int sys_battle_dis4;
    //int sys_battle_dis8;

    ////中間格納変数(プログラム内可変数)
    //int card_num; //カードナンバー
    //int hp1; //エネミー1の体力
    //int def1; //エネミー1の防御力

    ////enemy
    //struct enemy {
    // char ene_name[7]; //名前
    // int ene_hp; //体力
    // int ene_def; //防御力

    //};

    //struct enemy data[3] =
    //{
    // { "golem" ,30 ,3},
    // { "tick" ,20, 1},
    // { "fies",25, 2},
    //};

    ////gage_member
    //char fri1_name[6] = "hunger";
    //int fri1_hp = 15; //螳螂体力
    //int fri1_def = rnd() % 2 - 1; //螳螂防御力
    //char fri2_name[5] = "betle";
    //int fri2_hp = 20; //カブトムシ体力
    //int fri2_def = 0; //カブトムシ防御力
    //char fri3_name[7] = "wolfant";
    //int fri3_hp = 10; //狼蟻体力
    //int fri3_def = 0; //狼蟻防御力
    //int cage_mem_name[3] = { fri1_name[6] ,fri2_name[5], fri3_name[7] };
    //int cage_mem_hp[3] = { fri1_hp ,fri2_hp ,fri3_hp }; //かごの生物の体力
    //int cage_mem_def[3] = { fri1_def ,fri2_def ,fri3_def }; //かごの生物の防御力

    ////player
    //int start_key;
    //int p_key_num; //プレイヤーの選択
    //int p_key_num2; //プレイヤーの選択
    //int p_key_num3; //かごの生物選択の選択
    //int p_key_num4; //かごの生物選択の選択決定
    //char p_key_char; //プレイヤーの選択

    //int p_hp; //プレイヤーの体力
    //int p_def; //プレイヤーの防御力
    //int p_attack; //プレイヤーの武器攻撃力
    //int p_affect_damage1; //プレイヤーが与えたダメージ

    ////random
    //int world_rnd; //ワールド乱数
    //int encount_rnd; //エンカウント乱数
    //int rnd2;


    ///**************************************************************************************************/
    //スタート画面
    switch_start = rel_start();

    //乱数を取得
    srand((unsigned int)time(NULL));


    //叢__________
    switch_battle = rel_world(switch_start);
    //_______________

    //バトル画面______________________________________________________________________________
    rel_battle(switch_start, switch_battle);


    return 0;
    }

    ******************************************************************************************************************************

    ***********************************************************************************************************************Tranp_System.c

    #include <stdio.h>
    #include<stdlib.h>
    #include<time.h>
    #include"Tranp_System.h"

    //#define SYS_N1 1
    //
    ////関数宣言
    //void roop_start();
    //void roop_world();
    //void roop_battle();
    //
    //int rel_start();
    //int rel_world();
    //int rel_battle();
    //int rel_battle_roop();
    //void func1();




    void func1() {
    srand((unsigned int)time(NULL));
    /**************************************************************************************************/
    int sys_i1;

    //int get_card[4] = { getcard1, getcard2, getcard3, getcard4 };
    int card_rnd1 = 0, card_rnd2, card_rnd3, card_rnd4; //プレイヤーが受け取るカードの値
    int card_rev1, card_rev2, card_rev3, card_rev4; //相手のカードの値
    int card_rnd[4] = { card_rnd1, card_rnd2 ,card_rnd3, card_rnd4 };
    int card_rev[4] = { card_rev1, card_rev2 ,card_rev3, card_rev4 };

    /**************************************************************************************************/



    //カードの値を取得(card_rnd[1~4]の値を取得)_______________________________________________________________________________________
    for (sys_i1 = 0; sys_i1 <= 3; sys_i1++) {


    if (sys_i1 = 1) {
    while (card_rnd[sys_i1] == card_rnd[sys_i1 - 1] || card_rev[sys_i1] == card_rnd[sys_i1 - 1]) {
    card_rnd[sys_i1] = rand() % 13 + 1;
    card_rev[sys_i1] = 15 - card_rnd[sys_i1];
    }
    }
    else if (sys_i1 = 2) {
    while (card_rnd[sys_i1] == card_rnd[sys_i1 - 1] || card_rev[sys_i1] == card_rnd[sys_i1 - 1]
    || card_rnd[sys_i1] == card_rnd[sys_i1 - 2] || card_rev[sys_i1] == card_rnd[sys_i1 - 2]) {
    card_rnd[sys_i1] = rand() % 13 + 1;
    card_rev[sys_i1] = 15 - card_rnd[sys_i1];
    }
    }
    else if (sys_i1 = 3) {
    while (card_rnd[sys_i1] == card_rnd[sys_i1 - 1] || card_rev[sys_i1] == card_rnd[sys_i1 - 1]
    || card_rnd[sys_i1] == card_rnd[sys_i1 - 2] || card_rev[sys_i1] == card_rnd[sys_i1 - 2]
    || card_rnd[sys_i1] == card_rnd[sys_i1 - 3] || card_rev[sys_i1] == card_rnd[sys_i1 - 3]) {
    card_rnd[sys_i1] = rand() % 13 + 1;
    card_rev[sys_i1] = 15 - card_rnd[sys_i1];
    }
    }
    else {
    card_rnd[sys_i1] = rand() % 13 + 1;
    card_rev[sys_i1] = 15 - card_rnd[sys_i1];
    }

    //ジョーカー
    if (card_rnd[sys_i1] == 14) {
    card_rnd[sys_i1] = 15;
    card_rev[sys_i1] = 15;
    }

    }
    //__________________________________________________________________________________________________________________________



    printf("配られたカードは%d%d%d%d\n", card_rnd1, card_rnd2, card_rnd3, card_rnd4);

    //return 0;
    }


    int rel_start() {

    int switch_start = 0;
    int p_key_num;
    int p_key_num2;
    int sys_time;
    int sys_n;

    printf("1.スタート 2.説明書 3.終了 >");
    while (1) {
    scanf("%d", &p_key_num);
    switch (p_key_num) {

    case 1:switch_start = 1; break;
    case 2:switch_start = 2; break;
    case 3:switch_start = 3; break;
    }
    if (switch_start >= 1) {
    break;
    }
    if (switch_start >= 2) {
    printf("生物に会うとトランプが互いに配られます。"
    "\nあなたの手元にあるカードの値の14の補数を相手は持ちます。\n"
    "相手の体力が0になるかプレイヤーの体力が0になると対戦は終了します。\n次に進みますか?1.はい それ以外.いいえ\n >");
    scanf("%d", &p_key_num2);
    if (p_key_num2 == 1) {
    printf("\n相手の提示したトランプの数値が攻撃力です。\n"
    "かごの生物は1ターンに1度出せます。\n出した生物は場に残らずそのターンの終わりにかごに戻ります。\nただし、亡霊スライムは1度しか使えません。\n"
    "かごの生物はそれぞれ自分のトランプの値に関する能力を持ちます。\nそれをプレイヤーは経験から読み取ります\n"
    "かごの生物の攻撃力の合計はプレイヤーの攻撃力を左右します。\nかごの生物は体力を持ち0になると出せません。数値の関係性もなくなります。\n"
    "プレイヤーが選んだユニットがそのターン、ダメージを受けます");
    }


    //wait time
    for (sys_time = 0; sys_time > 60; sys_time++) {
    printf("%d/60", sys_time);
    }
    }
    printf("再入力\n");

    }
    //sys_timeをリセット
    sys_time = 0;
    // sys_nをリセット
    sys_n = 0;
    //p_key_numをリセット
    p_key_num = 0;
    //p_key_numをリセット
    p_key_num2 = 0;

    return switch_start;
    }





    int rel_world(int switch_start) {
    srand((unsigned int)time(NULL));
    int switch_battle;

    int sys_n2;

    int world_rnd;


    while (switch_start != 3) {

    world_rnd = rnd() % 99;
    printf("%d", world_rnd);

    //進行度
    sys_n2++;


    //バトル画面へ変わるスイッチ
    if (world_rnd > 50) {
    switch_battle = 1;
    break;
    }

    }
    return switch_battle;
    }


    int rel_battle(int switch_start,int switch_battle) {
    srand((unsigned int)time(NULL));
    //random
    int sys_n2;
    int sys_n3;

    struct enemy {
    char ene_name[7]; //名前
    int ene_hp; //体力
    int ene_def; //防御力

    };

    struct enemy data[3] =
    {
    { "golem" ,30 ,3 },
    { "tick" ,20, 1 },
    { "fies",25, 2 },
    };

    int encount_rnd; //エンカウント乱数
    int rnd2;


    if (switch_battle == 1) {

    data[sys_n3].ene_name[7];

    //出現する敵を決める
    if (sys_n2 == 1) {
    //進行度1
    if (encount_rnd <= 50) {
    sys_n3 = 1;

    }
    else if (encount_rnd <= 80) {
    sys_n3 = 2;

    }
    else {
    sys_n3 = 3;

    }
    }
    else {
    //進行度1以上
    if (encount_rnd <= 30) {
    sys_n3 = 1;

    }
    else if (encount_rnd <= 60) {
    sys_n3 = 3;

    }
    else {
    sys_n3 = 4;


    }

    }

    //戦闘開始画面_____________________
    rel_battle_roop(switch_start);







    }
    return 0;
    }

    int rel_battle_roop(int switch_start) {
    srand((unsigned int)time(NULL));

    //*************************************************

    int switch_slime; //スライムを使ったか
    int switch_cage; //選んだかごの生物はどれか

    int sys_n1; //enemy_mem_num
    int sys_n2 = 0; //advance_degree
    int sys_n3 = 0;
    int sys_turn = 0; //ターン数
    int sys_battle_dis0;//表層⇒深層
    int sys_battle_dis2;
    int sys_battle_dis4;
    int sys_battle_dis8;

    //中間格納変数(プログラム内可変数)
    int card_num; //カードナンバー
    int hp1; //エネミー1の体力
    int def1; //エネミー1の防御力

    //enemy
    struct enemy {
    char ene_name[7]; //名前
    int ene_hp; //体力
    int ene_def; //防御力

    };

    struct enemy data[3] =
    {
    { "golem" ,30 ,3 },
    { "tick" ,20, 1 },
    { "fies",25, 2 },
    };

    //gage_member
    char fri1_name[6] = "hunger";
    int fri1_hp = 15; //螳螂体力
    int fri1_def;
    //fri1_def = rnd() % 2 - 1; //螳螂防御力
    char fri2_name[5] = "betle";
    int fri2_hp = 20; //カブトムシ体力
    int fri2_def = 0; //カブトムシ防御力
    char fri3_name[7] = "wolfant";
    int fri3_hp = 10; //狼蟻体力
    int fri3_def = 0; //狼蟻防御力
    int cage_mem_name[3] = { fri1_name[6] ,fri2_name[5], fri3_name[7] };
    int cage_mem_hp[3] = { fri1_hp ,fri2_hp ,fri3_hp }; //かごの生物の体力
    int cage_mem_def[3] = { fri1_def ,fri2_def ,fri3_def }; //かごの生物の防御力

    //player
    int start_key;
    int p_key_num; //プレイヤーの選択
    int p_key_num2; //プレイヤーの選択
    int p_key_num3; //かごの生物選択の選択
    int p_key_num4; //かごの生物選択の選択決定
    char p_key_char; //プレイヤーの選択

    int p_hp; //プレイヤーの体力
    int p_def; //プレイヤーの防御力
    int p_attack; //プレイヤーの武器攻撃力
    int p_affect_damage1; //プレイヤーが与えたダメージ
    //************************************************

    while (switch_start != 3) {

    sys_turn++;
    printf("%d",fri1_def);

    printf("プレイヤーのステータス HP%d ATK%d DEF%d >",p_hp, p_attack, p_def);

    do {
    printf("ターンの始めです。入力してください(,で次に進む。.で相手の基本ステータス確認) >");
    scanf("%d", &start_key);
    if (sys_turn == 1 || start_key == '.') {
    printf("%s(HP:%d 防御力:%d\n\n\n\n)", data[sys_n3].ene_name[7], data[sys_n3].ene_hp, data[sys_n3].ene_def);
    }
    } while (start_key == '.');


    //格納
    hp1 = data[sys_n3].ene_hp;
    def1 = data[sys_n3].ene_def;


    if (start_key == ',') {

    printf("カードが配られます。\n");
    //カードの値を取得する関数
    void func1();
    //_______________________


    printf("Main menyu : Please enter key.(1.プレイヤー攻撃 2.かご 3.ターンスキップ >)");
    scanf("%d", &p_key_num);

    //かごの生物選択
    while (1) {
    if (p_key_num == 2) {
    printf("please select. 1.bat 2,betle 3.ant. 4.slime");
    scanf("%d", &p_key_num3);

    if (p_key_num3 == 1) {
    printf("do you select bat?");
    }
    else if (p_key_num3 == 2) {
    printf("do you select betle?");
    }
    else if (p_key_num3 == 3) {
    printf("do you select ant?");
    }
    else if (p_key_num3 == 4) {
    printf("do you select slime?");
    }
    printf("ok? 1.ok 2other >");
    scanf("%d", &p_key_num4);

    //選択した生物の番号取得
    if (p_key_num4 == 1) {
    switch_cage = p_key_num3;

    if (switch_cage == 4) {
    switch_slime = 1;
    }

    break;
    }


    }
    }


    //ダメージ計算
    printf("相手からの攻撃\n");


    if (p_key_num == 1) {

    }

    }




    }
    return 0;
    }

    ******************************************************************************************************************************

    ************************************************ヘッダーファイル


    #pragma once

    //関数宣言
    void roop_start();
    void roop_world();
    void roop_battle();

    int rel_start();
    int rel_world();
    int rel_battle();
    int rel_battle_roop();
    void func1();

    ************************************************

    重大度レベル コード 説明 プロジェクト ファイル
    エラー LNK1120 1 件の未解決の外部参照 _k05_4pro D:\Visual Studio 2015\Projects\Tranp_System\Debug\_k05_4pro.exe 1

    重大度レベル コード 説明 プロジェクト ファイル
    エラー LNK2019 未解決の外部シンボル _rnd が関数 _rel_world で参照されました。 _k05_4pro D:\Visual Studio 2015\Projects\Tranp_System\_k05_4pro\Tranp_System.obj 1


    2018年4月29日 9:33

すべての返信