c语言猜牌游戏,C++实现猜牌小游戏
这是大一的时用C写的猜牌小游戏,里面用了easyx图形库,供大家参考,具体内容如下
运行效果
代码
#include
#include
#include
#include
#include
#include
#pragma comment(lib,"winmm.lib")
#define HANG 4
#define LIE 4
#define SIZE 200
int g_matt[HANG][LIE] = { 0 };
int g_matt_time[HANG][LIE] = { 0 };
int g_matt_mask[HANG*LIE] = { 0 };
IMAGE img[10];
void Put(){
char jpg[50];
for (int i = 0; i <10; i++){
sprintf(jpg, "images\\%d.jpg", i);
loadimage(&img[i], jpg, SIZE, SIZE);
//printf("%s\n", jpg);
}
}
int getNextNumber()
{
char stat[8] = { 0 };
for (int i = 0; i < HANG; i++){
for (int j = 0; j < LIE; j++){
if (g_matt[i][j]>0 && g_matt[i][j]<9)//让数组里面的数不能重复出现3次
stat[g_matt[i][j]-1]++;//
//printf("%c", stat);
}
}
char n = 0;
while (1) {
n = rand() % 8 + 1;//随机1到8
if (stat[n-1] >= 2) {//判断这个数组 里面不能出现2个以上重复的1到8
continue;
} else {
break;
}
}
return n;
}
void Playone(){
for (int i = 0; i < HANG; i++){
for (int j = 0; j < LIE; j++){
g_matt[i][j] = getNextNumber();
printf("%d ", g_matt[i][j]);
}
printf("\n");
}
for (int i = 0; i < HANG; i++){
for (int j = 0; j < LIE; j++){
if (g_matt[i][j] >= 1 && g_matt[i][j] <= 8)
g_matt[i][j] += 20;
printf("%d ", g_matt[i][j]);
}
printf("\n");
}
}
void Plus(){
for (int i = 0; i < HANG; i++){
for (int j = 0; j < LIE; j++){
if (g_matt[i][j] == 1){
putimage(i*SIZE, j*SIZE, &img[1]);
}
else if (g_matt[i][j] == 2){
putimage(i*SIZE, j*SIZE, &img[2]);
}
else if (g_matt[i][j] == 3){
putimage(i*SIZE, j*SIZE, &img[3]);
}
else if (g_matt[i][j] == 4){
putimage(i*SIZE, j*SIZE, &img[4]);
}
else if (g_matt[i][j] == 5){
putimage(i*SIZE, j*SIZE, &img[5]);
}
else if (g_matt[i][j] == 6){
putimage(i*SIZE, j*SIZE, &img[6]);
}
else if (g_matt[i][j] == 7){
putimage(i*SIZE, j*SIZE, &img[7]);
}
else if (g_matt[i][j] == 8){
putimage(i*SIZE, j*SIZE, &img[8]);
}
else if (g_matt[i][j] >= 20 && g_matt[i][j] <= 28){
putimage(i*SIZE, j*SIZE, &img[0]);
}
else if (g_matt[i][j] > 100){
putimage(i*SIZE, j*SIZE, &img[9]);
}
}
}
}
void Play(){
MOUSEMSG msg = { 0 };
msg = GetMouseMsg();
//if (WM_LBUTTONDOWN == matt[msg.x][msg.y] >= 20 || matt[msg.x][msg.y]<=28){
switch (msg.uMsg)
{
case WM_LBUTTONDOWN:
{
int row = msg.y / SIZE;
int col = msg.x / SIZE;
if (g_matt[col][row] >= 20 && g_matt[col][row] <= 28){
g_matt[col][row] -= 20;
//printf("%d ", g_matt[col][row]);
}
//mciSendString("open images\\click.wav", NULL, NULL, NULL);
mciSendString("play images\\click.wav", NULL, NULL, NULL);
Sleep(10);
mciSendString("cloes images\\click.wav", NULL, NULL, NULL);
}
}
//cleardevice();
}
void Over(){
int *p = (int*)g_matt+1;
for (int i = 0; i < HANG*LIE; i++) {
for (int j = i + 1; j < HANG*LIE; j++) {
if(p[i] <= 8 && p[i] >= 1 && p[i] == p[j]){
p[i] += 120;
p[j] += 120;
//mciSendString("open images\\search.wav", NULL, NULL, NULL);
mciSendString("play images\\search.wav", NULL, NULL, NULL);
Sleep(10);
mciSendString("cloes images\\search.wav", NULL, NULL, NULL);
}
}
}
}
void Keep(){
for (int i = 0; i < HANG; i++){
for (int j = 0; j < LIE; j++){
if (g_matt[i][j] >= 1 && g_matt[i][j] <= 8){
g_matt[i][j] += 20;
//printf("%d ", g_matt[i][j]);
}
}
printf("\n");
}
}
int main() {
//int *p1;
mciSendString("open images\\东京不太热.mp3", NULL, NULL, NULL);
mciSendString("play images\\东京不太热.mp3", NULL, NULL, NULL);
srand(time(NULL));
HWND hwnd =initgraph(800, 800);
Put();
Playone();
int frames = 0;
DWORD t1, t2,t3;
t1 = GetTickCount();//程序运行时间
while (1)
{
t2 = GetTickCount();
Plus();//贴图
Play();//鼠标点击
if (t2-t1>=1600){//等于当前时间减去程序运行时间大于等于两秒才运行 也就是卡两秒
Keep();//加密
//continue;
t1 = t2;//当前时间赋给程序运行时间
}
Over();
char ch[16] = { 0 };
char n = 0;
for (int i = 0; i < HANG; i++){
for (int j = 0; j < LIE; j++){
if (g_matt[i][j] >= 120){
ch[g_matt[i][j] - 1]++;
}
}
}
while (n>6) {
if (ch[n - 1] >= 6) {//判断这个数组 里面不能出现2个以上重复的1到8
MessageBox(hwnd, "恭喜你赢了", "", MB_OK);
//continue;
n++;
}
}
}
return 0;
}
更多有趣的经典小游戏实现专题,分享给大家:
C++经典小游戏汇总
python经典小游戏汇总
python俄罗斯方块游戏集合
JavaScript经典游戏 玩不停
java经典小游戏汇总
javascript经典小游戏汇总
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持猪先飞。
c语言猜牌游戏,C++实现猜牌小游戏相关推荐
- 使用Dart/Flutter语言开发的命令行文字RPG类型小游戏
使用Dart/Flutter语言开发的命令行文字RPG类型小游戏 项目源码:https://gitee.com/FantasyWind/word_game 介绍 项目背景 本项目为使用Dart/Flu ...
- python简单小游戏代码教程,Python简单小游戏代码
球球各位大神怎么用python写一个猜词小游戏的代码? key = input('请输入一个单词:')description = input('输入单词描述:')chance = 5mark = 5p ...
- 用python做一个简单的游戏,用python写一个小游戏
大家好,本文将围绕如何用python做一个简单的小游戏展开说明,python编写的入门简单小游戏是一个很多人都想弄明白的事情,想搞清楚用python做一个简单的游戏需要先了解以下几个事情. 1.Pyt ...
- 勇闯掘金小游戏为一款多个小游戏的合集游戏,有五个关卡:找掘金、石头剪刀布、寻找藏宝图、打地鼠、抽奖。基于Vue
游戏简介 勇闯掘金小游戏为一款多个小游戏的合集游戏,共有五个关卡,分别为:找掘金.石头剪刀布.寻找藏宝图.打地鼠.抽奖.每个环节20分,满分100分. 完整代码下载地址:勇闯掘金小游戏 快速体验 ht ...
- 【微信小游戏】微信对战小游戏知识储备
一.前提 在微信小游戏异常火爆的前提下,开发个小游戏才是正事,而不是玩个小游戏才是正事! 废话不多说,步入今天的正题,在慢慢成熟起来的小游戏生态中我们的小游戏如果只是单机+排行的组合,难免显得小游戏单 ...
- 24点游戏java_Java实现24点小游戏
一.引育Java是当今最热门的编程语言,它的跨平台与网络应用方面的强大功能使之非常适用于网络游戏的开发.Jav.不仅功能简单,还很容易上手,对于新手来说,做一些简单的游戏相对容易.24点小游戏涉及Ja ...
- cudnn7.6.5下载 solitairetheme8_233小游戏下载安装赚钱-233小游戏下载安装最新版v2.29.4.5...
233小游戏app,一款主打休闲小游戏的游戏盒子软件,网络上最受欢迎的消除闯关类以及双人对抗类之类的小游戏都全部收录,打开手机就能开始玩,游戏中还有超多福利可以免费领取,完成日常任务还可以赚取现金红包 ...
- 在线小游戏,在线小游戏大全,网页在线小游戏大全
在线小游戏推荐,本在线小游戏来源于中国最知名的在线小游戏网站--爱游戏网:http://www.iiyouxi.com 在线小游戏,小游戏,在线游戏,网页游戏,网页小游戏 区养成网页游戏:http:/ ...
- 微信小游戏申请注册流程+开发微信小游戏类目需要具备条件
微信小游戏申请注册流程+开发微信小游戏类目需要具备条件 在这里先讲一下,小程序和小游戏前面的注册流程都是一样的,在注册完毕登录小程序后台后选择类目时需要注意一下,我下面讲解的是已经通过认证的服务号进行 ...
- 视频教程-Layabox3D游戏开发入门-微信3D小游戏案例 -微信开发
Layabox3D游戏开发入门-微信3D小游戏案例 有多年Unity程序开发经验,有策划和美术设计的经验.愿意在csdn这个平台和大家一起分享! 金龙 ¥29.00 立即订阅 扫码下载「CSDN程序员 ...
最新文章
- G502使用计算机配置,解决方案:Logitech G502宏设置教程方法
- Java相当于C#中的#region
- 韩国FPS新网游《火海逃生》新增内容
- 幼儿园计算机教案 妈妈的爱,幼儿园大班教案《妈妈的爱》(通用)
- 详解 Java 的八大基本类型,写得非常好!
- 微软研究员:fork() 已落后,需要淘汰
- python pyqt eric_Python3.6 + Pyqt5 + Eric6 环境搭建
- CAM365直播预告|带您全方位了解新一代CAM工具软件
- 银行软开开发篇[转]
- 宝塔面板 CentOS 系统配置紫猫数据库(一)
- VBA:单元格的引用
- HBuilder制作表格式的简历
- 计算机无法打开cad文件,无法打开cad文件的解决方法
- 安装kalibr踩坑5:E: Package ‘python-software-properties‘ has no installation candidate
- oracle 10g rac 配置物理dataguard系列4,配置 Oracle 10g 单实例物理dataguard和逻辑standby...
- Mysql CASE方法条件怎么加and或or
- python实现刷问卷星份数(面向对象)
- ActiveMQ点对点消息传递
- 《恋爱厚黑学》杨冰阳
- JavaSE-利用随机数制作的打怪游戏
热门文章
- php添加网站ico图标,如何添加网站ICO图标,添加ico图标的方法
- 超级计算机天河二号浅析
- Golang练手小项目系列
- jquery个性滚动条插件jquery.mCustomScrollbar.js的使用
- Java 将网络url图片链接转换为File类型对象
- 浏览器进程/线程模型及JS运行机制
- 【Python小程序】怀旧经典 | 特色玩法,代码版本的钢琴小游戏了解下?初学钢琴,能提高双手协调与反应能力哦~(源码分享)
- yolov5车牌识别(2023年毕业设计+python源码)
- 华为认证和思科认证的竞争前景分析
- 如何使用 Squoosh 命令行批量压缩图片