制作游戏代码大全可复制(制作游戏代码大全可复制文字)

制作游戏代码大全可复制(制作游戏代码大全可复制文字)

黑客专题hacker2022-07-29 10:00:222743A+A-

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语言)高手帮助你解决难题,一起互动,提高大家的编程水平

点击这里复制本文地址 以上内容由黑资讯整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
  • 3条评论
  • 绿邪俛就2022-07-29 16:00:12
  • 有人解答问题,大家一起学习,一起交流。希望每位学习C/C++的人都能学有所成。有更多(C/C++语言,linux,JAVA语言)高手帮助你解决难题,一起互动,提高大家的编程水平
  • 南殷征棹2022-07-29 17:48:16
  • 是没有前面些窗口的代码的,这个需要你们自己去写,代码只能给你们一些学习的思路,希望你们能学到些东西。想成为一个合格的C/C++程序员,需要学习哪些内容首先,学习C/C++肯定要学习C语言(当然,不学习C语言直接学习
  • 听弧好倦2022-07-29 16:01:19
  • timage(0, 0, &GameBackgroundImage);//画棋盘setlinecolor(BLACK);for (int i = 10; i <= 530; i += 20){//x,y x1 ,y1line(10, i, 530, i);line(i, 10, i

支持Ctrl+Enter提交

黑资讯 © All Rights Reserved.  
Copyright Copyright 2015-2020 黑资讯
滇ICP备19002590号-1
Powered by 黑客资讯 Themes by 如有不合适之处联系我们
网站地图| 发展历程| 留言建议| 网站管理