简单的鼠标操作<一个填充格子的小游戏>

 1 #include "graphics.h"
 2 #include "conio.h"
 3
 4
 5 void main(){
 6     // 初始化界面
 7     initgraph(640, 480);
 8
 9     for (int x = 0; x < 451; x += 50){     // 画 10 * 4 个50 * 50 的空白格子
10         for (int y = 0; y < 151; y += 50){
11             rectangle(x, y, x + 50, y + 50);
12         }
13     }
14     // 画3个色板
15     setfillcolor(RED);
16     fillrectangle(100, 300, 150, 350);
17     setfillcolor(BLUE);
18     fillrectangle(200, 300, 250, 350);
19     setfillcolor(GREEN);
20     fillrectangle(300, 300, 350, 350);
21
22     MOUSEMSG m;
23     while (1){
24         m = GetMouseMsg();  // 获取鼠标信息
25         if (m.uMsg == WM_LBUTTONDOWN){    // 当鼠标左键击下
26             if (m.x > 100 && m.x < 150 && m.y > 300 && m.y < 350){
27                 setfillcolor(RED);
28             }
29             if (m.x > 200 && m.x < 250 && m.y > 300 && m.y < 350){
30                 setfillcolor(BLUE);
31             }
32             if (m.x > 300 && m.x < 350 && m.y > 300 && m.y < 350){
33                 setfillcolor(GREEN);
34             }
35         }
36
37         m = GetMouseMsg();
38
39     M:    if (m.uMsg == WM_RBUTTONDOWN){   // 获取鼠标右键的信息
40             int i, j;
41             i = (int)(m.x / 50);
42             j = (int)(m.y / 50);
43             // 当鼠标右键点击的位子不在方格内则重新获取鼠标信息
44             if (i * 50 > 450 || j * 50 > 150){
45                 goto M;
46             }
47             // 画鼠标右键点击的格子变为相应的颜色
48             fillrectangle(i * 50, j * 50, i * 50 + 50, j * 50 + 50);
49         }
50     }
51     closegraph();
52 }

// 鼠标消息的结构

struct MOUSEMSG
{
    UINT uMsg;      // 当前鼠标消息
    bool mkCtrl;    // Ctrl 键是否按下
    bool mkShift;   // Shift 键是否按下
    bool mkLButton; // 鼠标左键是否按下
    bool mkMButton; // 鼠标中键是否按下
    bool mkRButton; // 鼠标右键是否按下
    int x;          // 当前鼠标 x 坐标
    int y;          // 当前鼠标 y 坐标
    int wheel;      // 鼠标滚轮滚动值
};

其中,“当前鼠标消息”可能是以下值:
WM_MOUSEMOVE     鼠标移动消息
WM_MOUSEWHEEL    鼠标滚轮拨动消息
WM_LBUTTONDOWN   左键按下消息
WM_LBUTTONUP     左键弹起消息
WM_LBUTTONDBLCLK 左键双击消息
WM_MBUTTONDOWN   中键按下消息
WM_MBUTTONUP     中键弹起消息
WM_MBUTTONDBLCLK 中键双击消息
WM_RBUTTONDOWN   右键按下消息
WM_RBUTTONUP     右键弹起消息
WM_RBUTTONDBLCLK 右键双击消息

原文地址:https://www.cnblogs.com/hxf-zb/p/9815711.html

时间: 2024-08-04 21:26:51

简单的鼠标操作<一个填充格子的小游戏>的相关文章

一个投骰子的小游戏

下午学着做了一个掷骰子的小游戏,感觉比较好玩.用到了自定义函数,循环和选择等知识. 还有刚开始做的时候一个简单版(第1个小板凳) 原文地址:https://www.cnblogs.com/wentian24/p/9280747.html

java编程的一个猜数字有趣小游戏

import javax.swing.Icon; import javax.swing.JOptionPane; public class ai { /** * @param args */ public static void main(String[] args) { Icon icon = null; boolean bl = false; int put = 0; int c = (int) (((Math.random())*100)+1); //获取一个1-100的随机数 Syste

在网上看到一个很有趣的小游戏

<html> <title>猜数字</title> <body> <center><h2>猜数字</h2></center> <hr> <script> var target=36; var number=0; do{ number=window.prompt("输入数字",number); if(number==null || number==target) bre

canvas 做一个小鸟运动的小游戏 (第一步)

1. 首先有一个loadImage.js     代码如下: function loadImage(imgUrl,fn){ var imgObj = {}; var tempImg,load = 0, imgLength = 0; for(var key in imgUrl){ imgLength++; tempImg = new Image(); tempImg.onload = function () { load++; if( load >= imgLength){ fn( imgObj

使用 shell 脚本写一个猜价格的小游戏

[[email protected] 3]# vim game.sh #!/bin/bash a=$(expr $RANDOM % 1000) b=0 echo "商品的价格范围为0-999,猜猜看是多少?" while true do read -p "请输入你猜测的价格:" c let b++ if [ $c -eq $a ] ; then echo "恭喜你答对了,实际价格是 $a " echo "你总共猜了 $b 次"

用canvas写一个h5小游戏

这篇文章我们来讲一讲用canvas画一个躲水果的小游戏.就是通过手指控制一个人物移动来躲避水果,若发生碰撞,则游戏结束. 我们定义一个game_control对象来处理初始化,事件绑定,游戏开始,游戏结果判定,游戏结束等判定. 在游戏中,我们需要一个人物以及三种水果的图片,我们做成了雪碧图. 接下来直接上代码吧~ 首先我们定义一个ship对象,3个水果.一个人物都是基于这个对象的. function ship(options){ if (options) { var width=options.

从一个猜单词的小程序开始---征服OOP的思维方式01

记得刚开始学Java的时候看到MOOC上有个老师写了一个猜数字的游戏,出于兴趣,小风就写了一个猜单词的小游戏来描述 OOP编程的思维方式.PS:OOP(Object Oriented Programing,面向对象程序设计)可以理解为计算机编程的一种架构. 好了,不BB了.开始了! 首先我们按照常规的面向过程的思维方式来分析这个程序.仅仅定义Demo一个类,该类中存放所有的逻辑代码 由于便于理解,程序先成员的位置上定义两个字符串数组english和chinese.即一个用来存储英文单词,一个用来

PHP实现的一个简单的数据库操作类

PHP实现的一个简单的数据库操作类 实现的功能: - 在实例化的时候能设置连接字符集 - 在实例化的时候能连接数据库 - 在实例化的时候能选择默认数据库 - 销毁对象时关闭数据库 代码如下: <?php // 数据库操作类MySQLDB class MySQLDB { // 声明属性 private $server; private $username; private $password; public $default_db; public $link; // 声明构造函数 public f

每天一个JavaScript实例-点击图片显示大图添加鼠标操作

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-点击图片显示大图添加鼠标操作</title> <style> img{padding:5px;width:100px;height:aut