PaoptMap

BNBマップジェネレータは、マップの三種類、各工場、砂、海賊、代表的マップに対応する1,2,3入力、消去可能なランダムな障害を発生させることができます。

BNBマップジェネレータC言語のソースコードは次の通りです。

1の#include <stdio.hの>
 2の#include <STDLIB.H>
 3の#include <TIME.H>
 4  
5  チャーCHM。
6  INT G [ 13 ] [ 15 ]。
7  
8  空隙 initG(空隙9  {
 10      INT iは= 0、J = 0 11      のために(; I < 13 ; I ++ 12          のための(j = 0 ; J < 15 ; J ++ 13              G [I] [J] = 0xFFで14      リターン;
15  }
 16  
17  空隙 rndSet(INT N)
 18  {
 19      ながら(N-- 20      {
 21          INT X =ランド()%13 22          int型、Y =(X> = 3 && X <= 9のrand()%?15:ランド()%9 + 3 )。
23          G [X] [Y] =ランド()%3 + 3 24      }
 25      リターン26  }
 27  
28 空隙 PRINTG(ボイド29  {
 30      INT iは= 0、J = 0 31      のために(; I < 13 ; I ++ 32          のための(j = 0 ; J < 15 ; J ++ 33              のprintf(" %02X%のC "、G [I] [J](J < 14'  '' \ N " ));
34      リターン;
35  }
 36  
37  空隙 createMap(ボイド38  {
 39      INT iは= 0、J = 0 40      CHAR S [] = " xy_AAAAAAAA.map " 41      FILE * fpを= NULL;
42      符号なしのchar [ 472 ] = { 0x2E0x4Dの0x610x700x78と0x79 }。
43      のために(; I < 8 ; I ++ 44の          S [I + 3 ] =ランド()%26 + ' A ';
45      であれば((FP =のfopen(S、" WB "))== NULL)
 46          リターン47      のprintf(" ファイル名:\ n%sの\ n " 、S)。
48      [ 0x0Cの ] = 0x04の、[ 0x18のは ] = [ の0x28 ] = 0x0Eの、[ 0x24をは ] [= 0x2C ] = 0x0Cの49      のためには、式(I = 0、I < 13 ; I ++ 50          のための(j = 0 ; J < 15 ; J ++ 51              [ 0x50を + 15 * I + J] =(G [I] [J] == 3 || G [I] [J] == 40x08に0x09の)。
52      のためには、(iは= 0 ; I < 13 ; I ++ 53          のための(j = 0 ; J < 15 ; J ++ 54              [ 0x113 + 15 * I + J] = G [I] [J]。
55      fwriteの(、1472 、FP)。
56      FCLOSE(FP)。
57      リターン;
58  }
59  
60  INTメイン(ボイド61  {
 62      システム(" タイトルpaoptMap " )。
63      システム(" カラーF3 " )。
64の      プット(" マップ(1〜3)を選択してください:" );
65      initG()。
66      にsrand((符号なし)時間(NULL))。
67      のscanf(" %のC "、&CHM)。
68      であれば(CHM < ' 1 ' || CHM> ' 3 ' 69      {
 70          プット(" 入力エラー!" );
71          システム(" 休止> NUL " )。
72          リターン 0 ;
73      }
 74      rndSet(100 )。
75      であれば(CHM!= ' 1 ' 76          G [ 6 ] [ 7 ] = 6 77      であれば(CHM == ' 3 ' 78          G [ 6 ] [ 6] = G [ 6 ] [ 8 ] = 6、G [ 1 ] [ 1 ] = 0、G [ 1 ] [ 13 ] = G [ 11 ] [ 1 ] = 1、G [ 11 ] [ 13 ] = 2 ;
79      PRINTG()。
80      createMap()。
81      システム(" 休止> NUL " )。
82      リターン 0 ;
83 }

おすすめ

転載: www.cnblogs.com/leisureeen/p/12222921.html