当前位置:首页 > 黑客技术 > 正文内容

如何写游戏代码(如何写游戏代码新手教学)

hacker4个月前 (06-24)黑客技术40

  

  C语言制作简单的五子棋游戏

  学习C语言的人很多,但是用C语言很少,而用来为自己所用,来做游戏的人就更少了,很多人都是跟着学校学习,学校讲到哪就坐到哪,但是以后却还是不会做项目。今天我就来写一段,如何用C语言来写一个五子棋游戏。(PS:代码有点长,所以前面的字体以及框架怎么写,我就不写下来了,主要是写游戏操作设置以及游戏界面。)

  

  代码如下:

  #include <graphics.h>//图形库

  #include <stdio.h>//C语言std头文件

  #include <conio.h>//kbhit()//按键响应

  #include <mmsystem.h>

  #pragma comment(lib,"winmm.lib")

  //玩游戏

  void PlayGame()

  {

  //鼠标操作

  int chess[N][N] = { 0 };//标志没有棋子的标志

  while (true)

如何写游戏代码(如何写游戏代码新手教学)

  {

  //矫正鼠标坐标

  int x, y,i,j;

  MOUSEMSG m;

  m = GetMouseMsg();

  switch (m.uMsg)

  {

  case WM_LBUTTONDOWN:

  //鼠标左键按下画器

  if (m.x >= 10 && m.x <= 530 && m.y >= 10 && m.y <= 530)

  {

  x = m.x % 20;

  if (x <= 10)

  m.x = m.x - x;

  else

  m.x = m.x - x + 20;

  y = m.y % 20;

  if (y <= 10)

  m.y = m.y - y;

  else

  m.y = m.y - y + 20;

  i = m.x / 20;

  j = m.y / 20;

  if (chess[i][j] != 0)

  continue;

  setlinecolor(BLACK);

  setfillcolor(BLACK);

  fillcircle(m.x + 10, m.y - 10, 8);

  chess[i][j] = 1; //有黑棋1

  if (GameOver1(chess, 1) == 1)

  {

  settextcolor(RED);

  settextstyle(50, 50, L"锐字云字库行楷体1.0");

  outtextxy(200, 200, L"此局黑棋胜出");

  }

  break;

  }

  case WM_RBUTTONDOWN:

  if (m.x >= 10 && m.x <= 530 && m.y >= 10 && m.y <= 530)

  {

  x = m.x % 20;

  if (x <= 10)

  m.x = m.x - x;

  else

  m.x = m.x - x + 20;

  y = m.y % 20;

  if (y <= 10)

  m.y = m.y - y;

  else

  m.y = m.y - y + 20;

  i = m.x / 20;

  j = m.y / 20;

  if (chess[i][j] != 0)

  continue;

  setlinecolor(WHITE);

  setfillcolor(WHITE);

  fillcircle(m.x + 10, m.y - 10, 8);

  chess[i][j] = 2;

  if (GameOver1(chess, 2) == 1)

  {

  settextcolor(WHITE);

  settextstyle(50, 50, L"锐字云字库行楷体1.0");

  outtextxy(200, 200, L"此局白棋胜出");

  }

  break;

  }

  }

  }

  }

  //游戏界面

  void GameBackground()

  {

  IMAGE GameBackgroundImage;

  loadimage(&GameBackgroundImage, L"GameBackground.jpg");

  int width = GameBackgroundImage.getwidth();

  int height = GameBackgroundImage.getheight();

  initgraph(width, height);

  putimage(0, 0, &GameBackgroundImage);

  //画棋盘

  setlinecolor(BLACK);

  for (int i = 10; i <= 530; i += 20)

  {

  //x,y x1 ,y1

  line(10, i, 530, i);

  line(i, 10, i, 530);

  }

  //调整棋盘

  //调整边框---加粗

  setlinestyle(PS_SOLID, 4);

  line(10, 10, 10, 530); //上边加粗

  line(10, 530, 530, 530);//下边加粗

  line(10, 10, 530, 10);//左边

  line(530, 10, 530, 530);//右边

  //画点 圆心坐标 +半径

  //中间

  fillcircle(270, 270, 2);

  //左上270-9*20

  fillcircle(90, 270, 2);

  fillcircle(270, 90, 2);

  //右下角 270+9*20

  fillcircle(450, 90, 2);

  fillcircle(90, 450, 2);

  fillcircle(450, 450, 2);

  fillcircle(90, 90, 2);

如何写游戏代码(如何写游戏代码新手教学)

  fillcircle(450, 270, 2);

  fillcircle(270, 450, 2);

  //提示框

  messageBox();

  PlayGame();

  }

  int main()

  {

  GameBegin();

  GameBackground();

  closegraph();

  return 0;

  }

  代码就是这么多,但是不要直接就复制粘贴咯,因为这串代码是没有前面些窗口的代码的,这个需要你们自己去写,代码只能给你们一些学习的思路,希望你们能学到些东西。

  想成为一个合格的C/C++程序员,需要学习哪些内容

  首先,学习C/C++肯定要学习C语言(当然,不学习C语言直接学习C++也可以,但是学习C语言把基础打好对以后学习其他编程语言都是会有帮助的)

  今天就先来讲讲从基础到进阶,C语言基础该怎么学习

  ——初级阶段,对于完全不懂的小白来说,首先需要了解计算机的组成原理(当然在如今这个时代,一般的都是知道的)然后开始学习理论,编程的启蒙思维(当然这前两个都是了解下就差不多了,不用太着重去学习)然后就需要开始学习内容了——首先先学习一些基本的数据类型,然后还有运算符,顺序结构,分支结构,循环结构,当你已经能运用这些基础的知识内容写一个小程序,恭喜你,你开始入门了,但是仅仅只是个开始。。。

  ——现在进入中级阶段,学习的内容会比较多,需要学习数组,函数,指针(指针方面包含很多内容,这方面需要着重的学习,对后续的学习方面帮助会很大),预处理指令,结构体与公用体,枚举,位运算,联合。。这些是中级阶段的学习内容,虽然打出来显得很少,但是接触的内容会很多,大家要多多着重学习(加群:594089997,学习C/C++)

  ——最后就是进入高级学习阶段了,学习的分类比较少,但是每个分类里面包含的内容确实最难的,千万不要因为文字打出来这么简单就懈怠咯。。高级部分包含的内容主要就是数据结构,动态储存管理,高级图形编程,Socket通信编程,其中数据结构包含了数据结构--线性表,数据结构--栈和队列,数据结构--串,数据结构--常用算法,这些内容对你们以后往C++方面或者是嵌入式方面发展都有着不可小觑的作用

关注微信公众号:编程语言

如果对这方面感兴趣或者在学习C/C++的过程中有什么问题的话,可以加群:594089997,群内有大量C/C++资料,也会有人解答问题,大家一起学习,一起交流。希望每位学习C/C++的人都能学有所成。

有更多(C/C++语言,linux,JAVA语言)高手帮助你解决难题,一起互动,提高大家的编程水平

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:http://therlest.com/148428.html

分享给朋友:

“如何写游戏代码(如何写游戏代码新手教学)” 的相关文章

天猫双十一购物津贴使用规则

每年的双十一玩法都有更新,玩法是越来越多,但仍保留了一些经典玩法,比如购物津贴。那么购物津贴是什么意思呢?天猫双十一购物津贴使用规则是什么?双十一购物津贴可以与哪些优惠叠加?双11购物津贴面值多少元?一起来了解一下吧!    ...

接单的黑客_可以找黑客黑美团吗

有在网络安全范畴中,猜测网络违法和歹意软件发展趋势好像现已成为了各大网络安全公司的传统了。 为了防止让咱们去阅览上百页的安全陈述,咱们专门整兼并总结了McAfee、Forrester、FiskIQ、卡巴斯基实验室【1、2、3】、WatchGuard、Nuvias、FireEye、CyberArk、F...

奶牛多少钱一头2021年奶牛价格,2021年奶牛市场行情

字体:大中小,一般不超过200斤重的奶牛,怀孕母牛价格要稍贵一些,一般小点的,优质纯种荷斯坦奶牛,见效慢,关闭窗口,通常3-8个月小。 月的奶牛奶牛,花色、请问一头一头半成年奶牛多少钱!但我家不像你那个样子.荷斯坦奶牛、年龄大小。 来源、厘米,他的特点是投资巨大,理性回归2005-09-1511:5...

Webshell安全检测篇

0x00 依据流量的检测办法 1.概述 笔者一直在重视webshell的安全剖析,最近就这段时刻的心得体会和咱们做个共享。 webshell一般有三种检测办法: 依据流量方法 依据agent方法(本质是直接剖析webshell文件) 依据日志剖析方法 Webshell的分...

威海海景房房价走势 - 山东威海海景房骗局

我是在乳山银滩买房的,多谢啦!可能是真实情况。 晚上夕阳衬着大海格外美丽,石岛房子要比银滩强的多。骗局倒是谈不上,是一个新兴的旅游区的新城,一般购房者以外地居民多,估计也是房子价格的一部分吧,那收入会更高,我家刚在D区买了房子,环境以及二十多公里的原生态沙滩形成。 但都在下面县级市的镇的郊区.听老妈...

实用的刷卡门禁一体机 - 门禁设置说明书

2011-04-0511:45:53卡号:方向:未知,具体操作说明:门禁控制器,还要看你们所用的门禁是ID的还是IC的。具体的可以根据说明书操作。 手动开门[1 的大门2011-04-0511:45:43[1 大门无效用户刷卡时间,你这个说的真不知道怎么回答你。蜂鸣器连续断续鸣响报警,具体到可以统计...

评论列表

孤央玖橘
4个月前 (06-24)

- x + 20;  y = m.y % 20;  if (y <= 10)  m.y = m.y - y;  else  m.y = m.y - y + 20;  i = m.x / 20;  j = m.y / 20;  if (chess[i][j] != 0)  con

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。